소스 검색

fix
解绑后清空未读消息
app查询患者的手术消息时只显示自身绑定的

lifang 3 달 전
부모
커밋
a7e84dd42c

+ 1 - 0
tr-modules/tr-module-mobile/src/main/java/cn/tr/module/mobile/service/impl/ImMsgReceivedServiceImpl.java

@@ -77,6 +77,7 @@ public class ImMsgReceivedServiceImpl implements IImMsgReceivedService {
             }
             //发送群组消息
             List<String> userIds = ServerEventCallbackHandler.onGetGroupUserIds.apply(msgDTO.getClinicId());
+            log.info("群组用户:{}", JSONUtil.toJsonStr(userIds));
             CollectionUtil.removeAny(userIds,msgDTO.getFromUserId());
             for (String userId : userIds) {
                 msgDTO.setToUserId(userId);

+ 11 - 3
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizClinicRoomServiceImpl.java

@@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.strategy.LoginUserStrategy;
+import cn.tr.module.mobile.repository.ImGroupUserRepository;
 import cn.tr.module.smart.app.controller.dto.AppDoctorClinicFinishDTO;
 import cn.tr.module.smart.app.controller.dto.AppDoctorClinicQueryByPatientCodeDTO;
 import cn.tr.module.smart.app.controller.dto.AppDoctorClinicRoomDTO;
@@ -126,6 +127,9 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
     @Autowired
     @Lazy
     private IBizQuestionGroupService questionGroupService;
+
+    @Autowired
+    private ImGroupUserRepository groupUserRepository;
     @Override
     public List<BizWxAppletClinicDetailVO> stdSelectWxAppletClinicList(BizWxAppletClinicQueryDTO query) {
         return baseRepository.stdSelectWxAppletClinicList(query);
@@ -412,9 +416,13 @@ public class BizClinicRoomServiceImpl implements IBizClinicRoomService {
         if (ObjectUtil.isNull(clinicRoom)) {
             throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001, "手术信息不存在");
         }
-        return clinicRoomDoctorUserRepository.delete(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
-                .eq(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicId)
-                .eq(BizClinicRoomDoctorUserPO::getUserId, currentUserId)) != 0;
+        if (clinicRoomDoctorUserRepository.delete(new LambdaQueryWrapper<BizClinicRoomDoctorUserPO>()
+               .eq(BizClinicRoomDoctorUserPO::getClinicRoomId, clinicId)
+               .eq(BizClinicRoomDoctorUserPO::getUserId, currentUserId)) != 0f) {
+            groupUserRepository.readAllMsg(clinicId,currentUserId);
+            return Boolean.TRUE;
+        }
+        return Boolean.FALSE;
     }
 
     @Override