18339543638 3 年之前
父节点
当前提交
1dc969c3c8
共有 18 个文件被更改,包括 330 次插入21 次删除
  1. 1 0
      nb-auth/src/main/java/com/nb/auth/utils/SecurityUtil.java
  2. 5 1
      nb-common/log-common/src/main/java/com/nb/common/log/aop/LogAspect.java
  3. 32 0
      nb-service-api/app-assistant-api/pom.xml
  4. 103 0
      nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantEvalEntity.java
  5. 26 0
      nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/feign/IAssistantEvalClient.java
  6. 1 0
      nb-service-api/pom.xml
  7. 4 0
      nb-service/app-assistant/pom.xml
  8. 12 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/constant/StpConstant.java
  9. 31 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/AssistantEvalController.java
  10. 27 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/base/AppAssistantBaseCrudController.java
  11. 0 11
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/entity/AssistantEval.java
  12. 16 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/mapper/AssistantEvalMapper.java
  13. 44 0
      nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/LocalAssistantEvalService.java
  14. 5 0
      nb-service/app-doctor/pom.xml
  15. 2 4
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/auth/AppDoctorAuthGranter.java
  16. 13 5
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java
  17. 3 0
      nb-service/app-doctor/src/main/java/com/nb/app/doctor/service/LocalAppDoctorUserService.java
  18. 5 0
      pom.xml

+ 1 - 0
nb-auth/src/main/java/com/nb/auth/utils/SecurityUtil.java

@@ -1,5 +1,6 @@
 package com.nb.auth.utils;
 
+import cn.dev33.satoken.SaManager;
 import cn.dev33.satoken.secure.BCrypt;
 import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.stp.StpUtil;

+ 5 - 1
nb-common/log-common/src/main/java/com/nb/common/log/aop/LogAspect.java

@@ -104,7 +104,11 @@ public class LogAspect {
             sysLog.setOs(userAgent.getOs().getName());
 
             if (StpUtil.isLogin()) {
-                sysLog.setOperName(SecurityUtil.getUsername());
+                try {
+                    sysLog.setOperName(SecurityUtil.getUsername());
+                }catch (Exception __){
+
+                }
             }
             if (e != null) {
                 sysLog.setLogStatus(LogStatusEnum.FAILURE.getCode());

+ 32 - 0
nb-service-api/app-assistant-api/pom.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>nb-service-api</artifactId>
+        <groupId>com.tuoren</groupId>
+        <version>1.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>app-assistant-api</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.github.xiaoymin</groupId>
+            <artifactId>knife4j-spring-boot-starter</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>config-common</artifactId>
+        </dependency>
+    </dependencies>
+</project>

+ 103 - 0
nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/entity/AssistantEvalEntity.java

@@ -0,0 +1,103 @@
+package com.nb.app.assistant.api.entity;
+
+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.core.entity.GenericEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName AssistantEval.java
+ * @Description TODO
+ * @createTime 2022年08月10日 16:57:00
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName(value = "assistant_eval",autoResultMap = true)
+@ApiModel(value="疼痛小助手-疼痛评价")
+@ToString
+@NoArgsConstructor
+public class AssistantEvalEntity extends GenericEntity<String> {
+    @ApiModelProperty("输注id 必输")
+    @NotNull(message = "输注id不能为空")
+    @JsonIgnoreProperties(allowSetters = true)
+    private String infusionId;
+
+    @ApiModelProperty("临床id 必输")
+    @NotNull(message = "临床id不能为空")
+    @JsonIgnoreProperties(allowSetters = true)
+    private String clinicId;
+
+    @ApiModelProperty("评价时间 必输")
+    @NotNull(message = "评价时间不能为空")
+    private Date evaluateTime;
+
+    @ApiModelProperty("评价人 必输")
+    @NotNull(message = "评价人 不能为空")
+    private String evaluator;
+
+    @ApiModelProperty("疼痛部位-正面 具体传值内容即key:value值由传参人决定,传入值=获取值")
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private Map<String,Object> painFront;
+
+    @ApiModelProperty("疼痛部位-反面 具体传值内容即key:value值由传参人决定,传入值=获取值")
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private Map<String,Object> painBack;
+
+    @ApiModelProperty("疼痛性质")
+    private String painNature;
+
+    @ApiModelProperty("静息疼痛")
+    private Integer painStatics;
+
+    @ApiModelProperty("活动疼痛")
+    private Integer painActivity;
+
+    @ApiModelProperty("过去24小时最疼")
+    private Integer painLastOneDay;
+
+    @ApiModelProperty("睡眠")
+    private String sleep;
+
+    @ApiModelProperty("精神")
+    private String spirit;
+
+    @ApiModelProperty("食欲")
+    private String appetite;
+
+    @ApiModelProperty("爆发痛-每日频次")
+    private String eruptPainDailyFreq;
+
+    @ApiModelProperty("爆发痛-每次时长")
+    private String eruptPainDuration;
+
+    @ApiModelProperty("恶心呕吐")
+    private Integer nauseaVomit;
+
+    @ApiModelProperty("瘙痒")
+    private Integer itch;
+
+    @ApiModelProperty("眩晕")
+    private Integer vertigo;
+
+    @ApiModelProperty("喉咙疼痛")
+    private Integer soreThroat;
+
+    @ApiModelProperty("声音嘶哑")
+    private String hoarseness;
+
+    @ApiModelProperty("满意度")
+    private Integer satisfaction;
+}

+ 26 - 0
nb-service-api/app-assistant-api/src/main/java/com/nb/app/assistant/api/feign/IAssistantEvalClient.java

@@ -0,0 +1,26 @@
+package com.nb.app.assistant.api.feign;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.nb.app.assistant.api.entity.AssistantEvalEntity;
+import com.nb.core.entity.QueryParamEntity;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName IAssistantEvalClient.java
+ * @Description TODO
+ * @createTime 2022年08月10日 22:56:00
+ */
+public interface IAssistantEvalClient {
+
+    IPage<AssistantEvalEntity> list(QueryParamEntity<AssistantEvalEntity> param) ;
+
+    /**
+     * 描述: 查询临床最新的自评
+     * @author lifang
+     * @date 2022/8/10 23:00
+     * @param clinicId
+     * @return AssistantEvalEntity
+     */
+    AssistantEvalEntity getLastEval(String clinicId);
+}

+ 1 - 0
nb-service-api/pom.xml

@@ -16,6 +16,7 @@
         <module>web-service-api</module>
         <module>iot-service-api</module>
         <module>app-doctor-api</module>
+        <module>app-assistant-api</module>
     </modules>
 
 

+ 4 - 0
nb-service/app-assistant/pom.xml

@@ -13,6 +13,10 @@
 
 
     <dependencies>
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>app-assistant-api</artifactId>
+        </dependency>
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>

+ 12 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/constant/StpConstant.java

@@ -0,0 +1,12 @@
+package com.nb.app.assistant.constant;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName StpConstant.java
+ * @Description TODO
+ * @createTime 2022年08月09日 22:00:00
+ */
+public class StpConstant {
+    public static final String STP_TYPE="assistant";
+}

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

@@ -0,0 +1,31 @@
+package com.nb.app.assistant.controller;
+
+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 io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName AssistantEvalController.java
+ * @Description TODO
+ * @createTime 2022年08月10日 22:21:00
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/app")
+@Api(tags = "疼痛评分")
+@Slf4j
+public class AssistantEvalController  extends AppAssistantBaseCrudController<AssistantEvalEntity,String> {
+    private final LocalAssistantEvalService assistantEvalService;
+    @Override
+    public BaseService getService() {
+        return assistantEvalService;
+    }
+}

+ 27 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/base/AppAssistantBaseCrudController.java

@@ -0,0 +1,27 @@
+package com.nb.app.assistant.controller.base;
+
+import cn.dev33.satoken.SaManager;
+import cn.dev33.satoken.stp.StpLogic;
+import com.nb.common.crud.controller.BaseCrudController;
+
+import java.io.Serializable;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName AppDoctorBaseCrudController.java
+ * @Description TODO
+ * @createTime 2022年08月09日 21:38:00
+ */
+public abstract class AppAssistantBaseCrudController<E, K extends Serializable> extends BaseCrudController {
+
+    @Override
+    public boolean isAuth() {
+        return true;
+    }
+
+    @Override
+    public StpLogic getStpLogin() {
+        return SaManager.getStpLogic("");
+    }
+}

+ 0 - 11
nb-service/app-assistant/src/main/java/com/nb/app/assistant/entity/AssistantEval.java

@@ -1,11 +0,0 @@
-package com.nb.app.assistant.entity;
-
-/**
- * @author lifang
- * @version 1.0.0
- * @ClassName AssistantEval.java
- * @Description TODO
- * @createTime 2022年08月10日 16:57:00
- */
-public class AssistantEval {
-}

+ 16 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/mapper/AssistantEvalMapper.java

@@ -0,0 +1,16 @@
+package com.nb.app.assistant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.nb.app.assistant.api.entity.AssistantEvalEntity;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName AssistantUserMapper.java
+ * @Description TODO
+ * @createTime 2022年08月10日 10:26:00
+ */
+@Mapper
+public interface AssistantEvalMapper extends BaseMapper<AssistantEvalEntity> {
+}

+ 44 - 0
nb-service/app-assistant/src/main/java/com/nb/app/assistant/service/LocalAssistantEvalService.java

@@ -0,0 +1,44 @@
+package com.nb.app.assistant.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.nb.app.assistant.api.entity.AssistantEvalEntity;
+import com.nb.app.assistant.api.feign.IAssistantEvalClient;
+import com.nb.app.assistant.mapper.AssistantEvalMapper;
+import com.nb.common.crud.BaseService;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName LocalAssistantUserService.java
+ * @Description TODO
+ * @createTime 2022年08月10日 10:27:00
+ */
+@Component
+public class LocalAssistantEvalService extends BaseService<AssistantEvalMapper, AssistantEvalEntity,String> implements IAssistantEvalClient {
+
+
+    @Override
+    public void validateBeforeSave(AssistantEvalEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeUpdate(AssistantEvalEntity entity) {
+
+    }
+
+    @Override
+    public void validateBeforeDelete(String id) {
+
+    }
+
+    @Override
+    public AssistantEvalEntity getLastEval(String clinicId) {
+        return this.getOne(new QueryWrapper<AssistantEvalEntity>()
+        .lambda()
+        .eq(AssistantEvalEntity::getClinicId,clinicId)
+        .orderByDesc(AssistantEvalEntity::getEvaluateTime)
+        .last("limit 1"));
+    }
+}

+ 5 - 0
nb-service/app-doctor/pom.xml

@@ -13,6 +13,11 @@
 
 
     <dependencies>
+        <dependency>
+            <groupId>com.tuoren</groupId>
+            <artifactId>app-assistant-api</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>com.tuoren</groupId>
             <artifactId>web-service-api</artifactId>

+ 2 - 4
nb-service/app-doctor/src/main/java/com/nb/app/doctor/auth/AppDoctorAuthGranter.java

@@ -1,10 +1,8 @@
 package com.nb.app.doctor.auth;
 
-import cn.dev33.satoken.SaManager;
 import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.nb.app.doctor.constant.StpConstant;
 import com.nb.app.doctor.api.entity.AppDoctorUserEntity;
 import com.nb.app.doctor.service.LocalAppDoctorUserService;
 import com.nb.auth.bean.LoginUser;
@@ -48,7 +46,7 @@ public class AppDoctorAuthGranter implements IAuthGranter {
         }
         AppDoctorUserEntity user = doctorUserService.getOne(Wrappers.lambdaQuery(AppDoctorUserEntity.class)
                 .eq(AppDoctorUserEntity::getUsername, source.getUsername())
-                .last("user 1"));
+                .last("limit 1"));
         if (Objects.isNull(user)) {
             log.info("登录用户:{}不存在", source.getUsername());
             throw new CustomException("登录用户不存在");
@@ -63,7 +61,7 @@ public class AppDoctorAuthGranter implements IAuthGranter {
         log.info("登录用户:{}", source.getUsername());
 
         // 登录
-        SaManager.getStpLogic(StpConstant.STP_TYPE).login(user.getId());
+        StpUtil.login(user.getId());
         LoginUser<String> loginUser = new LoginUser();
         loginUser.setToken(StpUtil.getTokenValue());
         loginUser.setUserPlatform(UserPlatformEnum.APP_DOCTOR.getCode());

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

@@ -2,6 +2,7 @@ package com.nb.app.doctor.controller;
 
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.nb.app.assistant.api.feign.IAssistantEvalClient;
 import com.nb.core.entity.GenericEntity;
 import com.nb.core.result.R;
 import com.nb.web.api.entity.BusDeviceAlarmEntity;
@@ -39,36 +40,43 @@ public class PatientMonitorController {
     private final IPatientClient patientClient;
     private final IDeviceAlarmClient deviceAlarmClient;
     private final IClinicEvalClient clinicEvalClient;
+    private final IAssistantEvalClient assistantEvalClient;
 
     @PostMapping("/monitor/no_page")
     @ApiOperation(value = "输注监控列表")
-    public R<List<PatientMonitorResult>> selectPage(@RequestBody PatientMonitorQuery query) {
+    public R<List<PatientMonitorResult>> selectPagePatient(@RequestBody PatientMonitorQuery query) {
         log.info("医生查看输注监控列表,【{}】", JSONUtil.toJsonStr(query));
         return R.success(patientClient.selectAll(query));
     }
 
     @PostMapping("/monitor/{patientId}")
     @ApiOperation(value = "查看病人当前监控详情")
-    public R<PatientMonitorDetailResult> monitor(@PathVariable("patientId") String patientId) {
+    public R<PatientMonitorDetailResult> monitorPatient(@PathVariable("patientId") String patientId) {
         return R.success(patientClient.lookPatientDetail(patientId));
     }
 
     @PostMapping("/device/alarm/page")
     @ApiOperation(value = "临床设备报警信息查询")
-    public R<IPage<BusDeviceAlarmEntity>> page(@RequestBody@Validated AlarmQuery query){
+    public R<IPage<BusDeviceAlarmEntity>> pageDeviceAlarm(@RequestBody@Validated AlarmQuery query){
         return R.success(deviceAlarmClient.pageQuery(query));
     }
 
     @PostMapping("/eval/page")
     @ApiOperation(value = "评价(输注查询)查询")
-    public R<IPage<BusEvaluationEntity>> page(@RequestBody @Validated EvalQuery query){
+    public R<IPage<BusEvaluationEntity>> pageEval(@RequestBody @Validated EvalQuery query){
         return R.success(clinicEvalClient.pageQuery(query));
     }
 
 
     @PostMapping("/eval/add")
     @ApiOperation(value = "新增评价数据")
-    public R add(@RequestBody @Validated(GenericEntity.Insert.class)BusEvaluationEntity payload) {
+    public R addEval(@RequestBody @Validated(GenericEntity.Insert.class)BusEvaluationEntity payload) {
         return clinicEvalClient.save(payload)?R.success(payload):R.fail("数据新增失败");
     }
+
+    @PostMapping("/assistant/eval/{clinicId}")
+    @ApiOperation(value = "根据临床id查询 疼痛小助手 最新的自评记录")
+    public R add(@PathVariable("clinicId") String  clinicId) {
+        return R.success(assistantEvalClient.getLastEval(clinicId));
+    }
 }

+ 3 - 0
nb-service/app-doctor/src/main/java/com/nb/app/doctor/service/LocalAppDoctorUserService.java

@@ -69,6 +69,9 @@ public class LocalAppDoctorUserService extends BaseService<AppDoctorUserMapper,
         if(CollectionUtil.isEmpty(sources)){
             return true;
         }
+        if(sources.size()>100){
+            throw new CustomException("单次新增用户数量不可超过100个");
+        }
         List<String> userNames = sources.stream()
                 .peek(source->{
                     if(StrUtil.isEmpty(source.getPassword())){

+ 5 - 0
pom.xml

@@ -69,6 +69,11 @@
     <!-- 依赖管理 -->
     <dependencyManagement>
         <dependencies>
+            <dependency>
+                <groupId>com.tuoren</groupId>
+                <artifactId>app-assistant-api</artifactId>
+                <version>${nb.version}</version>
+            </dependency>
             <dependency>
                 <groupId>com.tuoren</groupId>
                 <artifactId>app-assistant</artifactId>