Просмотр исходного кода

fix 创建聊天室patientNamePs是nul

18339543638 3 лет назад
Родитель
Сommit
4546f11e57

+ 1 - 3
nb-admin/src/test/java/com/nb/admin/BusClinicTest.java

@@ -5,11 +5,9 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.nb.app.assistant.sms.SmsHelper;
+import com.nb.core.sms.SmsHelper;
 import com.nb.core.result.R;
-import com.nb.oss.strategy.FileStorageStrategy;
 import com.nb.oss.strategy.context.FileStorageContext;
-import com.nb.oss.strategy.entity.SysStorage;
 import com.nb.web.api.enums.ClinicManageEnum;
 import com.nb.web.service.bus.controller.BusDeviceHistoryController;
 import com.nb.web.service.bus.controller.vo.ClinicStatsVo;

+ 70 - 0
nb-admin/src/test/java/com/nb/admin/ImRoomTest.java

@@ -0,0 +1,70 @@
+package com.nb.admin;
+
+import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.nb.aliyun.api.service.AliyunIotSdk;
+import com.nb.app.assistant.service.LocalAssistantUserBindService;
+import com.nb.app.msg.entity.AppConsultEntity;
+import com.nb.app.msg.service.LocalAppConsultService;
+import com.nb.auth.bean.LoginUser;
+import com.nb.auth.utils.SecurityUtil;
+import com.nb.core.enums.SexEnum;
+import com.nb.im.enums.ImMsgType;
+import com.nb.im.ws.PubMsgInfo;
+import com.nb.web.api.entity.BusDeviceEntity;
+import com.nb.web.api.entity.BusInfusionHistoryEntity;
+import com.nb.web.api.entity.common.BusDeviceRunningEntity;
+import com.nb.web.service.bus.listener.event.bean.DeviceInfoEvent;
+import com.nb.web.service.bus.service.LocalBusDeviceService;
+import com.nb.web.service.bus.service.LocalBusInfusionHistoryService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.ApplicationContext;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author longsanlang
+ * @Date 2022-04-06 17:55:44
+ * @Version 1.0
+ * @Description XXX
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = AdminApplication.class)
+public class ImRoomTest {
+
+    @Autowired
+    private LocalAppConsultService consultService;
+    @Autowired
+    private LocalAssistantUserBindService userBindService;
+    @Test
+    public void insert(){
+        LoginUser loginUser = new LoginUser();
+        loginUser.setId("1567855642414215170");
+        SecurityUtil.setLogin(loginUser);
+        AppConsultEntity consult = consultService.getById("1562629579006713857");
+        consult.setId(null);
+        consult.setAssistId("1567855642414215170");
+        consult.setPatientId("1567321213870600194");
+        consult.setPatientCode("321000000");
+        consult.setPatientSex(SexEnum.MAN);
+        consult.setPatientName("杨志军");
+        consult.setPatientAge(32);
+        consult.setDoctorId("1557292606716702722");
+        consult.setDoctorNickName("唐医生");
+
+        consultService.save(consult);
+
+//        userBindService.painCall("1567856230707294210");
+
+        while (true){
+
+        }
+    }
+}

+ 45 - 1
nb-admin/src/test/java/com/nb/admin/NotifyTest.java

@@ -1,11 +1,17 @@
 package com.nb.admin;
 
 import cn.hutool.json.JSONUtil;
+import com.nb.app.assistant.delay.UnEvalNotifyConfig;
+import com.nb.app.assistant.delay.UnEvalNotifyDelayMessageHandler;
+import com.nb.app.assistant.listener.AssistPatientInfoListener;
 import com.nb.app.doctor.service.LocalAppDoctorUserService;
+import com.nb.common.queue.delay.message.DelayMessage;
+import com.nb.core.SimpleValue;
 import com.nb.im.entity.ImMsgEntity;
 import com.nb.im.enums.SponsorEnum;
 import com.nb.im.event.ImMsgEvent;
 import com.nb.im.service.LocalImMsgService;
+import com.nb.web.api.event.PatientInfoEvent;
 import com.nb.web.service.bus.job.DeviceFlowStatsJob;
 import com.nb.common.config.notice.msg.DiskMsg;
 import com.nb.common.config.notice.wechat.EnterpriseWeChatNotify;
@@ -15,6 +21,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.actuate.system.DiskSpaceHealthIndicator;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
+import org.tio.core.ChannelContext;
+import org.tio.core.Tio;
+import org.tio.server.ServerTioConfig;
+import org.tio.utils.lock.SetWithLock;
+import org.tio.websocket.starter.TioWebSocketServerBootstrap;
 
 import java.util.Map;
 
@@ -31,7 +42,7 @@ public class NotifyTest {
     @Autowired(required = false)
     EnterpriseWeChatNotify notify;
 
-    @Autowired
+    @Autowired(required = false)
     DeviceFlowStatsJob flowStatsJob;
 
     @Autowired
@@ -40,8 +51,28 @@ public class NotifyTest {
     @Autowired
     LocalAppDoctorUserService appDoctorUserService;
 
+    @Autowired
+    AssistPatientInfoListener patientInfoListener;
+
     @Autowired
     LocalImMsgService imMsgService;
+
+    @Autowired
+    UnEvalNotifyDelayMessageHandler messageHandler;
+
+    @Autowired
+    TioWebSocketServerBootstrap serverBootstrap;
+
+    @Test
+    public void unEval(){
+        String json="{\"msgId\":\"38889af7-84bf-4bf3-b49c-7da6a9a58e35\",\"body\":{\"nativeValue\":{\"clinicId\":\"1596397025410744323\",\"patientId\":\"1596397025410744322\",\"assistId\":\"1585920194379317249\"}},\"handlerId\":\"unEval\",\"properties\":{\"expire\":24,\"timeUnit\":\"HOURS\"}}";
+        String body="{\"clinicId\":\"1596397025410744323\",\"patientId\":\"1596397025410744322\",\"assistId\":\"1585920194379317249\"}" +
+                "";
+
+        DelayMessage delayMessage = JSONUtil.toBean(json, DelayMessage.class);
+        delayMessage.setBody(SimpleValue.of(JSONUtil.toBean(body, UnEvalNotifyConfig.class)));
+        messageHandler.handle(delayMessage);
+    }
     @Test
     public void autoApply(){
         ImMsgEntity byId = imMsgService.getById("1580015983344975874");
@@ -52,6 +83,19 @@ public class NotifyTest {
 
     }
 
+    @Test
+    public void assistPatientInfoChange(){
+        PatientInfoEvent patientInfoEvent = new PatientInfoEvent(this, "1567321213870600194","321000000");
+        patientInfoEvent.setPatientName("测试");
+        patientInfoListener.patientInfoAssist(patientInfoEvent);
+    }
+
+    @Test
+    public void wsOnline(){
+        SetWithLock<ChannelContext> byUserid = Tio.getByUserid(serverBootstrap.getServerTioConfig(), "1q23");
+        System.out.println(byUserid);
+    }
+
     @Test
     public void test(){
         flowStatsJob.flowStats();

+ 2 - 4
nb-im/src/main/java/com/nb/im/service/LocalImRoomService.java

@@ -39,10 +39,7 @@ import org.springframework.context.event.EventListener;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.swing.*;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.concurrent.TimeUnit;
 
 import static com.nb.im.constant.ImRoomConstant.AUTO_FINISH_DELAY;
@@ -115,11 +112,12 @@ public class LocalImRoomService extends BaseService<ImRoomMapper, ImRoomEntity,S
     @Override
     public void validateBeforeSave(ImRoomEntity entity) {
         //添加绑定人员id
-        AssistantUserBindEntity bindSuccess = userBindClient.findSuccess(entity.getDoctorId(), entity.getAssistId(), entity.getPatientId());
+        AssistantUserBindEntity bindSuccess = userBindClient.findSuccessOrWaiting(entity.getDoctorId(), entity.getAssistId(), entity.getPatientId());
         if(bindSuccess==null){
             throw new CustomException("看护人与患者之间未建立绑定关系,无法创建聊天室");
         }
         entity.setBindId(bindSuccess.getId());
+        entity.setPatientNamePs(bindSuccess.getPatientNamePs());
 
         if(entity.getManageType()==null&& StrUtil.isNotEmpty(entity.getPatientId())){
             entity.setManageType(patientClient.getManageType(entity.getPatientId()));

+ 1 - 1
nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/feign/IAssistantUserBindClient.java

@@ -34,7 +34,7 @@ public interface IAssistantUserBindClient {
      * @param patientId
      * @return
      */
-    AssistantUserBindEntity findSuccess(String doctorId,String assistId,String patientId);
+    AssistantUserBindEntity findSuccessOrWaiting(String doctorId, String assistId, String patientId);
 
     /**
      * 描述: 处理用户绑定结果

+ 2 - 2
nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/LocalAssistantUserBindService.java

@@ -245,12 +245,12 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
     }
 
     @Override
-    public AssistantUserBindEntity findSuccess(String doctorId, String assistId, String patientId) {
+    public AssistantUserBindEntity findSuccessOrWaiting(String doctorId, String assistId, String patientId) {
         return this.getOne(new LambdaQueryWrapper<AssistantUserBindEntity>()
                 .eq(AssistantUserBindEntity::getDoctorId,doctorId)
                 .eq(AssistantUserBindEntity::getAssistId,assistId)
                 .eq(AssistantUserBindEntity::getPatientId,patientId)
-                .eq(AssistantUserBindEntity::getStatus,BindEnum.SUCCESS));
+                .in(AssistantUserBindEntity::getStatus,BindEnum.SUCCESS,BindEnum.WAITING));
     }
 
     @Override