18339543638 3 lat temu
rodzic
commit
db32a60254
26 zmienionych plików z 163 dodań i 53 usunięć
  1. 2 2
      nb-admin/src/main/resources/python/xmltodict.py
  2. 3 3
      nb-admin/src/test/java/com/nb/admin/BusNetpumpTest.java
  3. 49 0
      nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/ListTypeHandler.java
  4. 15 0
      nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/StringListTypeHandler.java
  5. 2 1
      nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/TenantNameHandler.java
  6. 4 0
      nb-core/src/main/java/com/nb/core/entity/GenericEntity.java
  7. 3 7
      nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantEvalEntity.java
  8. 3 0
      nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantUserBindEntity.java
  9. 11 1
      nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/feign/IAssistantUserBindClient.java
  10. 1 3
      nb-service-api/app-doctor-api/src/main/java/com/nb/app/doctor/api/entity/AppDoctorUserEntity.java
  11. 1 1
      nb-service-api/web-service-api/src/main/java/com/nb/web/api/entity/BusDeviceEntity.java
  12. 9 0
      nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IPatientClient.java
  13. 7 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/AssistantEvalController.java
  14. 9 2
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/PatientOperationController.java
  15. 2 1
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/base/AppAssistantBaseCrudController.java
  16. 13 9
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/LocalAssistantUserBindService.java
  17. 7 1
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/dto/AssistPatientResult.java
  18. 1 3
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/ContactsController.java
  19. 1 1
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/EvalController.java
  20. 5 1
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java
  21. 2 9
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/vo/MonitorEvalVo.java
  22. 1 1
      nb-service/app-msg/src/main/java/com/nb/app/msg/entity/AppMsgEntity.java
  23. 1 5
      nb-service/web-service/src/main/java/com/nb/web/service/bus/listener/DeviceInfoListener.java
  24. 9 0
      nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusPatientService.java
  25. 1 1
      nb-service/web-service/src/main/java/com/nb/web/service/system/entity/SysUser.java
  26. 1 1
      nb-service/web-service/src/main/resources/mapper/bus/BusDeviceMapper.xml

+ 2 - 2
nb-admin/src/main/resources/python/xmltodict.py

@@ -256,7 +256,7 @@ def parse(xml_input, encoding=None, expat=expat, process_namespaces=False,
     when there is only a single child of a given level of hierarchy. The
     force_list argument is a tuple of keys. If the key for a given level
     of hierarchy is in the force_list argument, that level of hierarchy
-    will have a list as a child (even if there is only one sub-element).
+    will have a contactList as a child (even if there is only one sub-element).
     The index_keys operation takes precendence over this. This is applied
     after any user-supplied postprocessor has already run.
 
@@ -286,7 +286,7 @@ def parse(xml_input, encoding=None, expat=expat, process_namespaces=False,
 
         `force_list` can also be a callable that receives `path`, `key` and
         `value`. This is helpful in cases where the logic that decides whether
-        a list should be forced is more complex.
+        a contactList should be forced is more complex.
     """
     handler = _DictSAXHandler(namespace_separator=namespace_separator,
                               **kwargs)

+ 3 - 3
nb-admin/src/test/java/com/nb/admin/BusNetpumpTest.java

@@ -60,7 +60,7 @@ public class BusNetpumpTest {
 
 //        BusDeviceRunningEntity runningEntity = deviceRunningService.getOne(new QueryWrapper<BusDeviceRunningEntity>().last("limit 1"));
 //        for (int i = 0; i < 2000; i++) {
-//            for (BusDeviceEntity deviceEntity : list) {
+//            for (BusDeviceEntity deviceEntity : contactList) {
 //                deviceEntity.setDeviceId(RandomUtil.randomString(5));
 //                deviceEntity.setId(null);
 //                deviceEntity.setMqttConnInfo("1");
@@ -97,8 +97,8 @@ public class BusNetpumpTest {
 //        deviceEntity1.setEnable(true);
 //        deviceService.save(deviceEntity);
 //        deviceService.save(deviceEntity1);
-//        List<BusDeviceRunningEntity> list = netPumpService.list();
-//        System.out.println(list);
+//        List<BusDeviceRunningEntity> contactList = netPumpService.contactList();
+//        System.out.println(contactList);
 
     }
 

+ 49 - 0
nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/ListTypeHandler.java

@@ -0,0 +1,49 @@
+package com.nb.common.config.mybatisplus.handler;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONUtil;
+import org.apache.ibatis.type.*;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+@MappedJdbcTypes(JdbcType.VARCHAR)
+@MappedTypes({List.class})
+public abstract class ListTypeHandler<T> extends BaseTypeHandler<List<T>> {
+ 
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, List<T> parameter, JdbcType jdbcType) throws SQLException {
+        String content = CollUtil.isEmpty(parameter) ? null : JSONUtil.toJsonStr(parameter);
+        ps.setString(i, content);
+    }
+ 
+    @Override
+    public List<T> getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        return this.getListByJsonArrayString(rs.getString(columnName));
+    }
+ 
+    @Override
+    public List<T> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        return this.getListByJsonArrayString(rs.getString(columnIndex));
+    }
+ 
+    @Override
+    public List<T> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        return this.getListByJsonArrayString(cs.getString(columnIndex));
+    } 
+ 
+    private List<T> getListByJsonArrayString(String content) {
+        return StrUtil.isBlank(content) ? new ArrayList<>() : JSONUtil.toList(content, this.specificType());
+    }
+ 
+    /**
+     * 具体类型,由子类提供
+     *
+     * @return 具体类型
+     */
+    protected abstract Class specificType();
+}

+ 15 - 0
nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/StringListTypeHandler.java

@@ -0,0 +1,15 @@
+package com.nb.common.config.mybatisplus.handler;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName StringListTypeHandler.java
+ * @Description TODO
+ * @createTime 2022年08月20日 14:32:00
+ */
+public class StringListTypeHandler extends ListTypeHandler<String> {
+    @Override
+    protected Class specificType() {
+        return String.class;
+    }
+}

+ 2 - 1
nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/TenantNameHandler.java → nb-common/config-common/src/main/java/com/nb/common/config/mybatisplus/handler/TenantNameHandler.java

@@ -1,7 +1,8 @@
-package com.nb.common.config.mybatisplus;
+package com.nb.common.config.mybatisplus.handler;
 
 import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.extra.spring.SpringUtil;
+import com.nb.common.config.mybatisplus.GetNameInterface;
 import org.apache.ibatis.type.JdbcType;
 import org.apache.ibatis.type.MappedJdbcTypes;
 import org.apache.ibatis.type.MappedTypes;

+ 4 - 0
nb-core/src/main/java/com/nb/core/entity/GenericEntity.java

@@ -25,15 +25,19 @@ public abstract class  GenericEntity<PK> implements Entity,RecordModifierEntity,
     private PK id;
 
     @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建时间",readOnly = true)
     private Date createTime;
 
     @TableField(fill = FieldFill.INSERT)
+    @ApiModelProperty(value = "创建人",readOnly = true)
     private String createBy;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改人",readOnly = true)
     private String updateBy;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
+    @ApiModelProperty(value = "修改时间",readOnly = true)
     private Date updateTime;
 
     /* 分组校验 */

+ 3 - 7
nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantEvalEntity.java

@@ -1,9 +1,11 @@
 package com.nb.app.assistant.api.entity;
 
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.nb.common.config.mybatisplus.handler.StringListTypeHandler;
 import com.nb.core.entity.GenericEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -31,11 +33,6 @@ import java.util.*;
 @ToString
 @NoArgsConstructor
 public class AssistantEvalEntity extends GenericEntity<String> {
-    @ApiModelProperty(value = "输注id",required = true)
-    @NotNull(message = "输注id不能为空")
-    @JsonIgnoreProperties(allowSetters = true)
-    private String infusionId;
-
     @ApiModelProperty(value = "临床id",required = true)
     @NotNull(message = "临床id不能为空")
     @JsonIgnoreProperties(allowSetters = true)
@@ -57,9 +54,8 @@ public class AssistantEvalEntity extends GenericEntity<String> {
     @TableField(typeHandler = JacksonTypeHandler.class)
     private Map<String,Object> painBack;
 
-    //todo listHandler
     @ApiModelProperty("疼痛性质")
-    @TableField(typeHandler =  JacksonTypeHandler.class)
+    @TableField(typeHandler =  StringListTypeHandler.class)
     private List<String> painNature;
 
     @ApiModelProperty("静息疼痛")

+ 3 - 0
nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantUserBindEntity.java

@@ -63,6 +63,9 @@ public class AssistantUserBindEntity extends GenericEntity<String> {
     @ApiModelProperty(value = "管理位置")
     private ClinicManageEnum manageType;
 
+    @ApiModelProperty(value = "是否为默认看护")
+    private Boolean default_;
+
     @ApiModelProperty(value = "申请类型",required = true,allowableValues = "0(手动申请) 1(邀请码申请)")
     private ApplyEnum applyType;
 

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

@@ -21,7 +21,7 @@ public interface IAssistantUserBindClient {
      * @param query
      * @return List<AssistantUserBindEntity>
      */
-    List<AssistantUserBindEntity> list(ContactQuery query);
+    List<AssistantUserBindEntity> contactList(ContactQuery query);
 
     AssistantUserBindEntity findById(String bindId);
 
@@ -42,4 +42,14 @@ public interface IAssistantUserBindClient {
      * @return boolean
      */
     boolean liftBind(String bindId, String valueOf);
+
+    /**
+     * 描述: 判断该医院的住院号是否已被看护
+     * @author lifang
+     * @date 2022/8/20 14:52
+     * @param patientCode
+     * @param tenantId
+     * @return boolean
+     */
+    boolean haveBind(String patientCode, String tenantId);
 }

+ 1 - 3
nb-service-api/app-doctor-api/src/main/java/com/nb/app/doctor/api/entity/AppDoctorUserEntity.java

@@ -1,10 +1,8 @@
 package com.nb.app.doctor.api.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
-import com.fasterxml.jackson.annotation.JsonGetter;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.nb.common.config.mybatisplus.TenantNameHandler;
+import com.nb.common.config.mybatisplus.handler.TenantNameHandler;
 import com.nb.core.entity.TenantGenericEntity;
 import com.nb.core.enums.SexEnum;
 import com.nb.core.enums.StatusEnum;

+ 1 - 1
nb-service-api/web-service-api/src/main/java/com/nb/web/api/entity/BusDeviceEntity.java

@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
 import com.nb.web.api.bean.AliIotConfig;
 import com.nb.web.api.enums.DeviceStatusEnum2;
 import com.nb.web.api.enums.DeviceTypeEnum;
-import com.nb.common.config.mybatisplus.TenantNameHandler;
+import com.nb.common.config.mybatisplus.handler.TenantNameHandler;
 import com.nb.core.entity.TenantGenericEntity;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.nb.web.api.utils.EnumUtils;

+ 9 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IPatientClient.java

@@ -33,6 +33,15 @@ public interface IPatientClient {
     PatientMonitorDetailResult lookPatientDetail(String patientId);
 
 
+    /**
+     * 描述: 获取所给病人当前的临床id
+     * @author lifang
+     * @date 2022/8/20 11:27
+     * @param patientId
+     * @return String
+     */
+    String getClinicId(String patientId);
+
     boolean setManageType(String clinicId, ClinicManageEnum manageEnum);
 
     /**

+ 7 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/AssistantEvalController.java

@@ -4,9 +4,15 @@ import com.nb.app.assistant.controller.base.AppAssistantBaseCrudController;
 import com.nb.app.assistant.api.entity.AssistantEvalEntity;
 import com.nb.app.assistant.service.LocalAssistantEvalService;
 import com.nb.common.crud.BaseService;
+import com.nb.core.entity.GenericEntity;
+import com.nb.core.result.R;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -28,4 +34,5 @@ public class AssistantEvalController  extends AppAssistantBaseCrudController<Ass
     public BaseService getService() {
         return assistantEvalService;
     }
+
 }

+ 9 - 2
nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/PatientOperationController.java

@@ -9,7 +9,7 @@ import com.nb.app.assistant.controller.vo.MonitorAddVo;
 import com.nb.app.assistant.api.entity.AssistantUserBindEntity;
 import com.nb.app.assistant.api.enums.BindEnum;
 import com.nb.app.assistant.service.LocalAssistantUserBindService;
-import com.nb.app.assistant.service.result.AssistPatientResult;
+import com.nb.app.assistant.service.dto.AssistPatientResult;
 import com.nb.auth.utils.SecurityUtil;
 import com.nb.core.exception.CustomException;
 import com.nb.core.result.R;
@@ -19,6 +19,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -82,7 +83,7 @@ public class PatientOperationController {
      */
     @PostMapping("/save")
     @ApiOperation(value = "发起添加看护人申请")
-    public R<Boolean> saveMonitor(@RequestBody MonitorAddVo vo){
+    public R<Boolean> saveMonitor(@RequestBody@Validated MonitorAddVo vo){
         if(ApplyEnum.INVITE_CODE.equals(vo.getApplyType())&& StrUtil.isEmpty(vo.getInviteCode())){
             throw new CustomException("邀请码不能为空");
         }
@@ -111,6 +112,12 @@ public class PatientOperationController {
         return R.success(true);
     }
 
+    @PostMapping("/clinicId/{patientId}")
+    @ApiOperation(value = "获取所给病人id的临床id")
+    public R<String> getClinicId(@PathVariable("patientId")String patientId){
+        return R.success( patientClient.getClinicId(patientId));
+    }
+
 
     /**
      * 描述: 判断患者是否已被绑定

+ 2 - 1
nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/base/AppAssistantBaseCrudController.java

@@ -17,8 +17,9 @@ import java.io.Serializable;
 public abstract class AppAssistantBaseCrudController<E, K extends Serializable> extends BaseCrudController {
 
     @Override
+
     public boolean isAuth() {
-        return true;
+        return false;
     }
 
     @Override

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

@@ -13,7 +13,7 @@ import com.nb.app.assistant.api.enums.ApplyEnum;
 import com.nb.app.assistant.api.enums.BindEnum;
 import com.nb.app.assistant.api.feign.result.ContactQuery;
 import com.nb.app.assistant.mapper.AssistantUserBindMapper;
-import com.nb.app.assistant.service.result.AssistPatientResult;
+import com.nb.app.assistant.service.dto.AssistPatientResult;
 import com.nb.app.msg.bean.MsgBean;
 import com.nb.app.msg.enums.MsgEnum;
 import com.nb.app.msg.event.SaveMsgEvent;
@@ -130,7 +130,7 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
 
 
     @Override
-    public List<AssistantUserBindEntity> list(ContactQuery query) {
+    public List<AssistantUserBindEntity> contactList(ContactQuery query) {
         return this.list(new QueryWrapper<AssistantUserBindEntity>()
                 .lambda()
                 .eq(AssistantUserBindEntity::getDoctorId,query.getDoctorId())
@@ -169,13 +169,8 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
             //绑定成功后删除邀请码
             patientClient.delInviteCode(userBind.getInviteCode());
         }
-        return this.update(new UpdateWrapper<AssistantUserBindEntity>()
-                .lambda()
-                .eq(AssistantUserBindEntity::getId,source.getBindId())
-                .set(AssistantUserBindEntity::getDoctorId,source.getDoctorId())
-                .set(AssistantUserBindEntity::getStatus,source.getAgree()?BindEnum.SUCCESS:BindEnum.REFUSE)
-                .set(!source.getAgree(),AssistantUserBindEntity::getRefuseReason,source.getRefuseReason())
-        );
+        //查询是否存在默认看护
+        return result;
     }
 
     @Override
@@ -192,6 +187,15 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
         return result;
     }
 
+    @Override
+    public boolean haveBind(String patientCode, String tenantId) {
+        return this.getOne(new QueryWrapper<AssistantUserBindEntity>()
+                .lambda()
+                .eq(AssistantUserBindEntity::getTenantId,tenantId)
+                .eq(AssistantUserBindEntity::getPatientCode,patientCode)
+                .last("limit 1"))!=null;
+    }
+
     /**
      * 描述:查询当前用户所看护的所有病人信息
      * @author lifang

+ 7 - 1
nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/result/AssistPatientResult.java → nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/dto/AssistPatientResult.java

@@ -1,4 +1,4 @@
-package com.nb.app.assistant.service.result;
+package com.nb.app.assistant.service.dto;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.nb.app.assistant.api.enums.ApplyEnum;
@@ -19,6 +19,9 @@ import lombok.Data;
 @Data
 @ApiModel("看护的病人信息")
 public class AssistPatientResult {
+    @ApiModelProperty("绑定id")
+    private String id;
+
     @ApiModelProperty(value = "病人id",required = true)
     private String patientId;
 
@@ -34,6 +37,9 @@ public class AssistPatientResult {
     @ApiModelProperty(value = "病人年龄")
     private String patientAge;
 
+    @ApiModelProperty(value = "是否为默认看护")
+    private boolean default_;
+
     @ApiModelProperty(value = "医生id",required = true)
     private String doctorId;
 

+ 1 - 3
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/ContactsController.java

@@ -20,7 +20,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -50,8 +49,7 @@ public class ContactsController {
     @PostMapping("/no_page")
     @ApiOperation("获取通讯录列表")
     public R<List<ContactResult>> list(@RequestBody @Validated ContactQuery query){
-        List<ContactResult> result =new ArrayList<>();
-        return R.success(BeanUtil.copyToList(userBindClient.list(query),ContactResult.class));
+        return R.success(BeanUtil.copyToList(userBindClient.contactList(query),ContactResult.class));
     }
 
 

+ 1 - 1
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/EvalController.java

@@ -54,7 +54,7 @@ public class EvalController {
             evalVos.forEach(vo->vo.setEvalType(EvalEnum.MINDERS));
             result.addAll(evalVos);
         }
-        result.sort(Comparator.comparing(MonitorEvalVo::getEvaluateTime));
+        result.sort((s1,s2)->s2.getEvaluateTime().compareTo(s1.getEvaluateTime()));
         return R.success(result);
     }
 

+ 5 - 1
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -11,6 +11,7 @@ import com.nb.app.doctor.controller.vo.InviteCodeVo;
 import com.nb.app.doctor.service.dto.PatientMonitorConsultResult;
 import com.nb.auth.utils.SecurityUtil;
 import com.nb.common.websocket.WebSocketSessionLifeCycleManage;
+import com.nb.core.exception.CustomException;
 import com.nb.core.result.R;
 import com.nb.web.api.feign.IPatientClient;
 import com.nb.web.api.feign.query.PatientMonitorQuery;
@@ -55,7 +56,7 @@ public class PatientMonitorController {
                 //获取该与该医生有绑定的所有绑定关系
                 ContactQuery contactQuery = new ContactQuery();
                 contactQuery.setDoctorId(String.valueOf(SecurityUtil.getId()));
-                List<AssistantUserBindEntity> userBinds = userBindClient.list(contactQuery);
+                List<AssistantUserBindEntity> userBinds = userBindClient.contactList(contactQuery);
                 if(CollectionUtil.isNotEmpty(userBinds)){
                     userBinds.parallelStream()
                             .forEach(bind->{
@@ -84,6 +85,9 @@ public class PatientMonitorController {
     @PostMapping("/invite/code")
     @ApiOperation(value = "患者看护邀请码,默认失效失效(7天)")
     public R<InviteCodeResult> inviteCode(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId, @RequestBody InviteCodeVo resource) {
+        if(userBindClient.haveBind(resource.getPatientCode(),tenantId)){
+            throw new CustomException("该病人已被看护");
+        }
         return R.success(patientClient.generateInviteCode(tenantId,resource.getPatientCode(),resource.getManage()));
     }
 

+ 2 - 9
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/vo/MonitorEvalVo.java

@@ -1,19 +1,12 @@
 package com.nb.app.doctor.controller.vo;
 
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.nb.app.doctor.enums.EvalEnum;
-import com.nb.core.entity.GenericEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.hibernate.validator.constraints.Length;
 
-import javax.validation.constraints.*;
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author lifang
@@ -38,7 +31,7 @@ public class MonitorEvalVo {
     private Map<String,Object> painBack;
 
     @ApiModelProperty("疼痛性质")
-    private String painNature;
+    private List<String> painNature;
 
     @ApiModelProperty("静息疼痛")
     private Integer statics;

+ 1 - 1
nb-service/app-msg/src/main/java/com/nb/app/msg/entity/AppMsgEntity.java

@@ -60,7 +60,7 @@ public class AppMsgEntity  extends GenericEntity<String> {
     private String receiverName;
 
     @ApiModelProperty(value = "是否已读",required = true)
-    private boolean isRead;
+    private boolean _read;
 
     @ApiModelProperty("扩展内容,若所需字段不存在,则内容可放在此字段下,如疼痛咨询类型、疼痛评估时间间隔等")
     private String extend;

+ 1 - 5
nb-service/web-service/src/main/java/com/nb/web/service/bus/listener/DeviceInfoListener.java

@@ -184,11 +184,7 @@ public class DeviceInfoListener implements IIotMsgHandler {
             });
 
             //所有事务处理完成后更新缓存信息
-            for (Supplier<?> supplier : cacheOperation) {
-                //异步改为同步,否则数据会出现可重复读误差
-                supplier.get();
-            }
-//            cacheOperation.forEach(Supplier::get);
+            cacheOperation.forEach(Supplier::get);
             log.info("设备数据处理结束:{},耗时【{}】",JSONUtil.toJsonStr(device),(System.currentTimeMillis()-startTime));
             return device;
         }

+ 9 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusPatientService.java

@@ -493,6 +493,15 @@ public class LocalBusPatientService extends BaseService<BusPatientMapper, BusPat
         return result;
     }
 
+    @Override
+    public String getClinicId(String patientId) {
+        BusPatientEntity patient = this.getById(patientId);
+        if(patient==null){
+            throw new CustomException("该病人信息不存在");
+        }
+        return patient.getClinicId();
+    }
+
     @Override
     public boolean setManageType(String clinicId, ClinicManageEnum manageEnum) {
         BusClinicEntity clinic = clinicService.getById(clinicId);

+ 1 - 1
nb-service/web-service/src/main/java/com/nb/web/service/system/entity/SysUser.java

@@ -6,7 +6,7 @@ import com.alibaba.excel.annotation.write.style.*;
 import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
 import com.baomidou.mybatisplus.annotation.*;
 import com.nb.core.annotation.ExcelDict;
-import com.nb.common.config.mybatisplus.TenantNameHandler;
+import com.nb.common.config.mybatisplus.handler.TenantNameHandler;
 import com.nb.common.config.convert.ExcelDictConverter;
 import com.nb.core.entity.TenantGenericEntity;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 1 - 1
nb-service/web-service/src/main/resources/mapper/bus/BusDeviceMapper.xml

@@ -17,7 +17,7 @@
         <result column="status" property="status"/>
         <result column="create_time" property="createTime"/>
         <result column="update_time" property="updateTime"/>
-        <result column="tenant_id" property="tenantName" typeHandler="com.nb.common.config.mybatisplus.TenantNameHandler"/>
+        <result column="tenant_id" property="tenantName" typeHandler="com.nb.common.config.mybatisplus.handler.TenantNameHandler"/>
     </resultMap>
 
     <resultMap id="deviceResult" type="com.nb.web.api.entity.BusDeviceEntity" autoMapping="true">