Browse Source

fix ws授权模块

18339543638 3 years ago
parent
commit
09b23c5462

+ 2 - 0
nb-service-api/app-msg-api/src/main/java/com/nb/app/msg/bean/MsgBean.java

@@ -19,6 +19,8 @@ public class MsgBean implements Serializable {
 
     private String sender;
 
+    private String senderName;
+
     private String patientId;
 
     private String patientCode;

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

@@ -3,16 +3,14 @@ package com.nb.app.assistant.controller;
 import cn.hutool.core.bean.BeanUtil;
 import com.nb.app.assistant.controller.vo.InviteCodePatientVo;
 import com.nb.app.assistant.controller.vo.MonitorAddVo;
-import com.nb.app.assistant.service.LocalAssistantUserService;
-import com.nb.auth.bean.LoginUser;
-import com.nb.auth.utils.SecurityUtil;
+import com.nb.app.assistant.entity.AssistantUserBindEntity;
+import com.nb.app.assistant.service.LocalAssistantUserBindService;
 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.result.PatientByInviteCodeResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
@@ -33,6 +31,7 @@ public class PatientOperationController {
 
     private final IPatientClient patientClient;
 
+    private final LocalAssistantUserBindService userBindService;
     /**
      * 描述: 添加看护人生成关联关系后向医生发起请求数据
      * @author lifang
@@ -42,9 +41,10 @@ public class PatientOperationController {
      */
     @PostMapping("/save")
     @ApiOperation(value = "发起添加看护人申请")
-    public R saveMonitor(@RequestBody MonitorAddVo vo){
-        LoginUser<String> loginUser = SecurityUtil.getLoginUser();
-        return R.success();
+    public R<Boolean> saveMonitor(@RequestBody MonitorAddVo vo){
+        AssistantUserBindEntity resource = BeanUtil.copyProperties(vo, AssistantUserBindEntity.class);
+        //判断是否被绑定 todo
+        return R.success(userBindService.save(resource));
     }
 
     @PostMapping("/look/invite/{inviteCode}")

+ 14 - 8
nb-service/app-assistant/src/main/java/com/nb/app/assistant/controller/vo/MonitorAddVo.java

@@ -3,7 +3,6 @@ package com.nb.app.assistant.controller.vo;
 import com.nb.app.assistant.enums.ApplyEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import io.swagger.annotations.ApiParam;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
@@ -18,21 +17,28 @@ import javax.validation.constraints.NotNull;
 @Data
 @ApiModel("添加监护人请求参数接收")
 public class MonitorAddVo {
-    @ApiModelProperty(value = "疼痛小助手用户id",required = true)
-    @NotNull(message = "疼痛小助手用户id不能为空")
-    private String assistantUserId;
-
-    @ApiModelProperty(value = "被监护病人id",required = true)
+    @ApiModelProperty(value = "被监护病人id,此id在填写完患者信息后点击下一步时获取",required = true)
     @NotNull(message = "被监护病人id不能为空")
     private String patientId;
 
+    @ApiModelProperty(value = "被监护病人住院号",required = true)
+    @NotNull(message = "被监护病人住院号不能为空")
+    private String patientCode;
+
+    @ApiModelProperty(value = "被监护病人姓名")
+    private String patientName;
+
     @ApiModelProperty(value = "app医生端用户id",required = true)
     @NotNull(message = "app医生端用户id不能为空")
-    private String appDoctorUserId;
+    private String doctorId;
+
+    @ApiModelProperty(value = "app医生端用户真实姓名",required = true)
+    @NotNull(message = "app医生端用户真实姓名不能为空")
+    private String doctorName;
 
     @ApiModelProperty(value = "申请途径",allowableValues = "0(手动申请) 1(邀请码申请)",required = true)
     @NotNull(message = "申请途径不能为空")
-    private ApplyEnum apply;
+    private ApplyEnum applyType;
 
     @ApiModelProperty(value = "医院id",required = true)
     @NotNull(message = "医院id不能为空")

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

@@ -1,5 +1,6 @@
 package com.nb.app.assistant.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.nb.app.assistant.enums.ApplyEnum;
 import com.nb.app.assistant.enums.BindEnum;
@@ -11,6 +12,8 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 import lombok.ToString;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author lifang
  * @version 1.0.0
@@ -31,9 +34,22 @@ public class AssistantUserBindEntity extends GenericEntity<String> {
     @ApiModelProperty(value = "病人id",required = true)
     private String patientId;
 
+    @ApiModelProperty(hidden = true)
+    @TableField(exist = false)
+    private String patientCode;
+
+    @ApiModelProperty(hidden = true)
+    @TableField(exist = false)
+    private String patientName;
+
     @ApiModelProperty(value = "医生id",required = true)
     private String doctorId;
 
+    @ApiModelProperty(hidden = true)
+    @TableField(exist = false)
+    private String doctorName;
+
+
     @ApiModelProperty(value = "申请类型",required = true,allowableValues = "0(手动申请) 1(邀请码申请)")
     private ApplyEnum applyType;
 

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

@@ -1,17 +1,18 @@
 package com.nb.app.assistant.service;
 
-import cn.hutool.core.util.StrUtil;
-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.entity.AssistantUserBindEntity;
-import com.nb.app.assistant.mapper.AssistantEvalMapper;
+import com.nb.app.assistant.entity.AssistantUserEntity;
+import com.nb.app.assistant.enums.ApplyEnum;
+import com.nb.app.assistant.enums.BindEnum;
 import com.nb.app.assistant.mapper.AssistantUserBindMapper;
+import com.nb.app.msg.bean.MsgBean;
+import com.nb.app.msg.enums.MsgEnum;
+import com.nb.auth.utils.SecurityUtil;
 import com.nb.common.crud.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Component;
 
-import java.util.List;
-
 /**
  * @author lifang
  * @version 1.0.0
@@ -22,6 +23,9 @@ import java.util.List;
 @Component
 public class LocalAssistantUserBindService extends BaseService<AssistantUserBindMapper, AssistantUserBindEntity,String> {
 
+    @Autowired
+    @Lazy
+    private LocalAssistantUserService userService;
     @Override
     public void validateBeforeSave(AssistantUserBindEntity entity) {
 
@@ -35,5 +39,38 @@ public class LocalAssistantUserBindService extends BaseService<AssistantUserBind
     @Override
     public void validateBeforeDelete(String id) {
 
+    }
+
+    @Override
+    public boolean save(AssistantUserBindEntity entity) {
+        String id = String.valueOf(SecurityUtil.getId());
+        AssistantUserEntity currentUser = userService.getById(id);
+        entity.setStatus(BindEnum.WAITING);
+        entity.setUserId(currentUser.getId());
+        boolean result = this.baseMapper.insert(entity) == 1;
+
+        if(result){
+            MsgBean.builder()
+                    .msgType(ApplyEnum.INVITE_CODE.equals(entity.getApplyType())?
+                            MsgEnum.CODE_BIND_NOTIFY:MsgEnum.MANUAL_BIND_NOTIFY)
+                    .payload(entity.getId())
+                    .sender(entity.getUserId())
+                    .senderName(currentUser.getNickName())
+                    .patientId(entity.getPatientId())
+//                    .patientCode()
+//                    .patientName()
+                    .receiver(entity.getDoctorId())
+//                    .receiverName()
+                    .sys(false);
+        }
+
+        return result;
+    }
+
+    @Override
+    public void postSave(AssistantUserBindEntity entity) {
+
+
+
     }
 }

+ 1 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/dto/ClinicStatsReturnResult.java

@@ -124,6 +124,7 @@ public class ClinicStatsReturnResult implements Serializable {
             result.setContinueDose(continueDoses);
             result.setAppendDose(appendDoses);
             result.setInputDose(inputDoses);
+            result.setElectricQuantity(electricQuantities);
             result.setValidCount(validCounts);
             result.setInValidCount(inValidCounts);
             result.setUploadTimes(uploadTimes);