瀏覽代碼

Merge branch 'master' of http://111.47.29.214:3000/udream-cxs/lift-server

Iyesking 4 年之前
父節點
當前提交
23eb792741

+ 1 - 1
lift-common/src/main/java/cn/com/ty/lift/common/model/PushMessage.java

@@ -111,7 +111,7 @@ public class PushMessage implements Serializable {
      * 移动端
      */
     public static PushMessage cancelPunishment(String amount) {
-        String message = "您撤销了处罚,可用余额增加%s元";
+        String message = "您的处罚撤销了,可用余额增加%s元";
         String content = String.format(message,amount);
         return cancelChargePunishment(content);
     }

+ 14 - 1
lift-push/pom.xml

@@ -26,11 +26,24 @@
             <version>1.0-SNAPSHOT</version>
         </dependency>
         <!--从私有仓库加载依赖-->
-        <dependency>
+        <!--信鸽插件换成极光插件-->
+        <!--<dependency>
             <groupId>com.tencent</groupId>
             <artifactId>xinge-push</artifactId>
             <version>1.2.0</version>
+        </dependency>-->
+        <dependency>
+            <groupId>cn.jpush.api</groupId>
+            <artifactId>jpush-client</artifactId>
+            <version>3.4.3</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.jpush.api</groupId>
+            <artifactId>jiguang-common</artifactId>
+            <version>1.1.7</version>
         </dependency>
+
+
         <dependency>
             <groupId>cn.com.xwy</groupId>
             <artifactId>xwy-spring-boot</artifactId>

+ 23 - 19
lift-push/src/main/java/cn/com/ty/lift/push/jiguang/JiGuangServiceImpl.java

@@ -8,6 +8,7 @@ import cn.jpush.api.push.model.Platform;
 import cn.jpush.api.push.model.PushPayload;
 import cn.jpush.api.push.model.audience.Audience;
 import cn.jpush.api.push.model.notification.AndroidNotification;
+import cn.jpush.api.push.model.notification.IosAlert;
 import cn.jpush.api.push.model.notification.IosNotification;
 import cn.jpush.api.push.model.notification.Notification;
 import lombok.extern.slf4j.Slf4j;
@@ -21,7 +22,13 @@ import java.util.Collection;
 public class JiGuangServiceImpl implements JiGuangService {
     @Autowired
     private JpushConfig jpushConfig;
+    private IosAlert buildTitleAndBody(String title,String content){
+        return IosAlert.newBuilder().setTitleAndBody(title, null , content).build();
+    }
 
+    private IosAlert buildTitleAndBody(JiGuangMessage msg){
+        return buildTitleAndBody(msg.getTitile(), msg.getContent());
+    }
     @Override
     public boolean pushAll(JiGuangMessage msg) {
         return push(PushPayload.newBuilder()
@@ -29,9 +36,8 @@ public class JiGuangServiceImpl implements JiGuangService {
                         .setAudience(Audience.all())//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(IosNotification.newBuilder() //发送ios
-                                        .setCategory(msg.getTitile())
-                                        .setAlert(msg.getContent()) //消息体
-                                        .setBadge(+1)
+                                        .setAlert(buildTitleAndBody(msg)) //消息体
+                                        .setBadge(1)
                                         .setSound("happy") //ios提示音
                                         .addExtras(msg.getExtras()) //附加参数
                                         .build())
@@ -42,28 +48,28 @@ public class JiGuangServiceImpl implements JiGuangService {
                                         .build())
                                 .build()
                         )
-                        .setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
+                        .setOptions(Options.newBuilder().setApnsProduction(jpushConfig.getApnsProduction()).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
 //                .setMessage(Message.newBuilder().setMsgContent(msg.getContent()).addExtras(msg.getExtras()).build())//自定义信息
                         .build()
         );
+
     }
 
     @Override
     public boolean pushIos(JiGuangMessage msg) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.ios())  //所有平台的用户
                         .setAudience(Audience.all())//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(IosNotification.newBuilder() //发送ios
-                                        .setCategory(msg.getTitile())
-                                        .setAlert(msg.getContent()) //消息体
+                                        .setAlert(buildTitleAndBody(msg)) //消息体
                                         .setBadge(+1)
                                         .setSound("happy") //ios提示音
                                         .addExtras(msg.getExtras()) //附加参数
                                         .build())
                                 .build()
                         )
-                        .setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
+                        .setOptions(Options.newBuilder().setApnsProduction(jpushConfig.getApnsProduction()).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
 //                .setMessage(Message.newBuilder().setMsgContent(msg.getContent()).addExtras(msg.getExtras()).build())//自定义信息
                         .build()
         );
@@ -72,19 +78,18 @@ public class JiGuangServiceImpl implements JiGuangService {
     @Override
     public boolean pushIos(JiGuangMessage msg, String... registids) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.ios())  //所有平台的用户
                         .setAudience(Audience.registrationId(registids))//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(IosNotification.newBuilder() //发送ios
-                                        .setCategory(msg.getTitile())
-                                        .setAlert(msg.getContent()) //消息体
+                                        .setAlert(buildTitleAndBody(msg)) //消息体
                                         .setBadge(+1)
                                         .setSound("happy") //ios提示音
                                         .addExtras(msg.getExtras()) //附加参数
                                         .build())
                                 .build()
                         )
-                        .setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
+                        .setOptions(Options.newBuilder().setApnsProduction(jpushConfig.getApnsProduction()).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
 //                .setMessage(Message.newBuilder().setMsgContent(msg.getContent()).addExtras(msg.getExtras()).build())//自定义信息
                         .build()
         );
@@ -93,19 +98,18 @@ public class JiGuangServiceImpl implements JiGuangService {
     @Override
     public boolean pushIos(JiGuangMessage msg, Collection registids) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.ios())  //所有平台的用户
                         .setAudience(Audience.registrationId(registids))//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(IosNotification.newBuilder() //发送ios
-                                        .setCategory(msg.getTitile())
-                                        .setAlert(msg.getContent()) //消息体
+                                        .setAlert(buildTitleAndBody(msg)) //消息体
                                         .setBadge(+1)
                                         .setSound("happy") //ios提示音
                                         .addExtras(msg.getExtras()) //附加参数
                                         .build())
                                 .build()
                         )
-                        .setOptions(Options.newBuilder().setApnsProduction(true).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
+                        .setOptions(Options.newBuilder().setApnsProduction(jpushConfig.getApnsProduction()).build())//指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
 //                .setMessage(Message.newBuilder().setMsgContent(msg.getContent()).addExtras(msg.getExtras()).build())//自定义信息
                         .build()
         );
@@ -114,7 +118,7 @@ public class JiGuangServiceImpl implements JiGuangService {
     @Override
     public boolean pushAndroid(JiGuangMessage msg) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.android())  //所有平台的用户
                         .setAudience(Audience.all())//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(AndroidNotification.newBuilder() //发送android
@@ -133,7 +137,7 @@ public class JiGuangServiceImpl implements JiGuangService {
     @Override
     public boolean pushAndroid(JiGuangMessage msg, String... registids) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.android())  //所有平台的用户
                         .setAudience(Audience.registrationId(registids))//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(AndroidNotification.newBuilder() //发送android
@@ -152,7 +156,7 @@ public class JiGuangServiceImpl implements JiGuangService {
     @Override
     public boolean pushAndroid(JiGuangMessage msg, Collection registids) {
         return push(PushPayload.newBuilder()
-                        .setPlatform(Platform.all())  //所有平台的用户
+                        .setPlatform(Platform.android())  //所有平台的用户
                         .setAudience(Audience.registrationId(registids))//registrationId指定用户
                         .setNotification(Notification.newBuilder()
                                 .addPlatformNotification(AndroidNotification.newBuilder() //发送android

+ 5 - 0
lift-push/src/main/java/cn/com/ty/lift/push/jiguang/JpushConfig.java

@@ -23,6 +23,11 @@ public class JpushConfig {
      */
     private String liveTime = "1000";
 
+    /**
+     * 线上环境推送,还是测试环境推送
+     */
+    private Boolean apnsProduction = false;
+
 
     private JPushClient jPushClient;
 

+ 9 - 5
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/controller/ChatSessionController.java

@@ -6,14 +6,11 @@ import cn.com.ty.lift.ud.common.BaseController;
 
 import java.time.LocalDateTime;
 
+import cn.com.ty.lift.ud.common.DelReq;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -79,4 +76,11 @@ public class ChatSessionController extends BaseController<ChatSessionEntity, Cha
     public RestResponse createPrivateChatRoom(@RequestBody ChatSessionQuery req) {
         return chatSessionService.createPrivateChatRoom(req);
     }
+
+    //根据id删除
+    @Override
+    public RestResponse deleteBath(DelReq req) {
+
+        return chatSessionService.batchDelete(req.getIds());
+    }
 }

+ 4 - 0
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/service/IChatSessionService.java

@@ -5,6 +5,7 @@ import cn.com.ty.lift.ud.chat.controller.query.ChatSessionQuery;
 import cn.com.ty.lift.ud.chat.mapper.entity.ChatSessionEntity;
 import cn.com.xwy.boot.web.dto.RestResponse;
 
+import java.util.Collection;
 import java.util.List;
 
 import org.apache.ibatis.annotations.Param;
@@ -76,4 +77,7 @@ public interface IChatSessionService extends IService<ChatSessionEntity> {
     
     RestResponse createPrivateChatRoom(ChatSessionQuery request);
 
+
+    RestResponse batchDelete(Collection ids);
+
 }

+ 29 - 11
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/service/impl/ChatSessionServiceImpl.java

@@ -6,7 +6,9 @@ import cn.com.ty.lift.ud.chat.controller.model.ChatSessionReq;
 import cn.com.ty.lift.ud.chat.controller.model.ChatSessionVo;
 import cn.com.ty.lift.ud.chat.controller.query.ChatSessionQuery;
 import cn.com.ty.lift.ud.chat.mapper.ChatSessionMapper;
+import cn.com.ty.lift.ud.chat.mapper.entity.ChatMsgEntity;
 import cn.com.ty.lift.ud.chat.mapper.entity.ChatSessionEntity;
+import cn.com.ty.lift.ud.chat.service.IChatMsgService;
 import cn.com.ty.lift.ud.chat.service.IChatSessionService;
 import cn.com.ty.lift.ud.neety.task.RoomInfo;
 import cn.com.ty.lift.ud.neety.task.UserInfo;
@@ -26,13 +28,12 @@ import org.springframework.jms.core.JmsMessagingTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.lang.reflect.Array;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
 /**
  * 会话 -ServiceImpl
@@ -42,8 +43,7 @@ import java.util.Set;
  */
 @Service
 @Transactional
-public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatSessionEntity>
-    implements IChatSessionService {
+public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatSessionEntity> implements IChatSessionService {
     @Autowired
     private ChatSessionMapper sessionMapper;
     @Autowired
@@ -52,6 +52,8 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
     private UserInfoMapper userInfoMapper;
     @Autowired
     private RedisUtils redis;
+    @Autowired
+    private IChatMsgService msgService;
 
     @Autowired
     private JmsMessagingTemplate jmsMessagingTemplate;
@@ -117,9 +119,12 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
 
     @Override
     public RestResponse findOneByLiftCase(ChatSessionQuery req) {
-        QueryWrapper<ChatSessionEntity> queryWrapper = new QueryWrapper<ChatSessionEntity>();
+        /*QueryWrapper<ChatSessionEntity> queryWrapper = new QueryWrapper<ChatSessionEntity>();
         queryWrapper.eq("data_id", req.getDataId());
-        queryWrapper.eq("user_id", req.getUserId());
+        queryWrapper.eq("user_id", req.getUserId());*/
+        QueryWrapper<ChatSessionEntity> queryWrapper = new QueryWrapper<ChatSessionEntity>()
+                .eq("data_id", req.getDataId())
+                .last("and find_in_set(" + req.getUserId() + ",user_id)");
         ChatSessionEntity data = sessionMapper.selectOne(queryWrapper);
 
         return RestResponse.success(data, "success");
@@ -149,20 +154,20 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
         });*/
         for (int i = 0; i < list.size(); i++) {
             ChatSessionEntity entity = list.get(i);
-            RoomInfo roomInfo = JSONObject.parseObject(redis.get("ROOM:" + entity.getSessionid()),RoomInfo.class);
+            RoomInfo roomInfo = JSONObject.parseObject(redis.get("ROOM:" + entity.getSessionid()), RoomInfo.class);
             if (null != roomInfo) {
                 entity.setLastMsg(roomInfo.getLastChat());
                 entity.setLastTime(roomInfo.getLastTime());
 
                 roomInfo.getUserLIst().forEach(userInfo -> {
-                    if (userInfo.getUserId().equals(query.getUserId())){
+                    if (userInfo.getUserId().equals(query.getUserId())) {
                         roomInfo.setIsRed(userInfo.getIsRed());
                     }
                 });
             }
         }
         Collections.sort(list, (ent1, ent2) -> {
-            if (ent1.getLastTime() == null || ent2.getLastTime() == null){
+            if (ent1.getLastTime() == null || ent2.getLastTime() == null) {
                 return -1;
             }
 
@@ -186,13 +191,13 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
         ChatSessionVo vo = new ChatSessionVo();
         // 使用我的用户id和将要聊天的用户id正反去数据库查询房间号是否存在
         String sessionId =
-            sessionMapper.findOneByUserIdAndCreateUserIdAndDateTable(request.getUserId(), request.getCreateUserId(), 3);
+                sessionMapper.findOneByUserIdAndCreateUserIdAndDateTable(request.getUserId(), request.getCreateUserId(), 3);
 
         if (StringUtils.isBlank(sessionId)) {
             ChatSessionEntity record = new ChatSessionEntity();
             // 添加自己到房间
             sessionId = UUIDUtil.getUuidByTime9();
-            record.setUserId(request.getUserId()+","+request.getCreateUserId());
+            record.setUserId(request.getUserId() + "," + request.getCreateUserId());
             record.setCreateUserId(request.getCreateUserId());
             record.setSessionid(sessionId);
             record.setDataTable(3);
@@ -251,4 +256,17 @@ public class ChatSessionServiceImpl extends ServiceImpl<ChatSessionMapper, ChatS
 
         return list;
     }
+
+    @Override
+    public RestResponse batchDelete(Collection ids) {
+        boolean deleteFlag = removeByIds(ids);
+
+        if (deleteFlag){
+            msgService.remove(new QueryWrapper<ChatMsgEntity>().in("session_id",ids));
+            return RestResponse.success(null, "Deleted successfully");
+        } else {
+            return RestResponse.fail("Deleted unsuccessfully");
+        }
+
+    }
 }

+ 2 - 4
lift-ud-service/src/main/java/cn/com/ty/lift/ud/chat/service/impl/LiftCaseServiceImpl.java

@@ -636,8 +636,7 @@ public class LiftCaseServiceImpl extends ServiceImpl<LiftCaseMapper, LiftCaseEnt
             caseMapper.updateById(selectById);
         }
 
-        PushUserInfo pushUserInfo =
-                iUserAccountService.getPushUserInfoByUserId(selectById.getCreateUserId().toString());
+        PushUserInfo pushUserInfo = iUserAccountService.getPushUserInfoByUserId(selectById.getCreateUserId().toString());
         PushMessage pushMessage = PushMessage.orderChargeStatus("专家已确认");
         pushMessage.sendTokenOnPlatform(jmsMessagingTemplate, pushUserInfo);
         return RestResponse.success("success");
@@ -649,8 +648,7 @@ public class LiftCaseServiceImpl extends ServiceImpl<LiftCaseMapper, LiftCaseEnt
             caseMapper.userToClock(liftCaseEntity.getId(), liftCaseEntity.getBeforeRepair());
             return RestResponse.success("打卡成功");
         }
-        Long chargeToClock =
-                caseMapper.chargeToClock(liftCaseEntity.getId(), liftCaseEntity.getLat(), liftCaseEntity.getLng());
+        Long chargeToClock = caseMapper.chargeToClock(liftCaseEntity.getId(), liftCaseEntity.getLat(), liftCaseEntity.getLng());
         liftCaseEntity.setArrivedFlag(1);
         OtherSettingEntity latestVersion = otherSettingMapper.getLatestVersion();
         if (chargeToClock >= latestVersion.getClockInArea()) {

+ 1 - 2
lift-ud-service/src/main/java/cn/com/ty/lift/ud/expertPunish/controller/ExpertsPunishmentController.java

@@ -88,8 +88,7 @@ public class ExpertsPunishmentController extends BaseController<ExpertsPunishmen
             return RestResponse.fail("请选择惩罚记录");
         }
         //修改余额
-        RestResponse addUserBalance =
-                userInfoService.addUserBalance(req.getIds());
+        RestResponse addUserBalance = userInfoService.addUserBalance(req.getIds());
         if (addUserBalance.getStatusCode().equals("1")) {
             return RestResponse.success(null, "撤销成功");
         }else{

+ 1 - 2
lift-ud-service/src/main/java/cn/com/ty/lift/ud/userInfo/service/impl/UserInfoServiceImpl.java

@@ -1018,8 +1018,7 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfoEnt
             ExpertsPunishment expertsPunishment = iExpertsPunishmentService.getById(id);
 
             //余额增加,冻结余额减少
-            int updateUserBalance = userInfoMapper.addExpertBalance(expertsPunishment.getChargeId(),
-                    expertsPunishment.getPunishAmount());
+            int updateUserBalance = userInfoMapper.addExpertBalance(expertsPunishment.getChargeId(), expertsPunishment.getPunishAmount());
             UserInfoEntity selectById = userInfoMapper.getByUserId(expertsPunishment.getChargeId());
             if (updateUserBalance > 0) {
                 //流水记录