Преглед изворни кода

常用症状维护——添加接口

wangyu пре 6 година
родитељ
комит
8ecf29209c

+ 1 - 1
icss-service/src/main/java/com/diagbot/facade/DeptInfoFacade.java

@@ -24,7 +24,7 @@ public class DeptInfoFacade extends DeptInfoServiceImpl {
      * @return
      */
     public List<DeptInfoDTO> getDeptInfo(DeptInfoVO deptInfoVO) {
-        List<DeptInfoDTO> deptInfoDTOList = this.getDeptInfos(deptInfoVO.getDeptCode(),deptInfoVO.getHosptialCode());
+        List<DeptInfoDTO> deptInfoDTOList = this.getDeptInfos(deptInfoVO.getDeptCode(),deptInfoVO.getHospitalCode());
         if(ListUtil.isEmpty(deptInfoDTOList)){
             throw new CommonException(CommonErrorCode.NOT_EXISTS,
                     "获取科室信息失败");

+ 14 - 0
icss-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.entity.QuestionDetail;
 import com.diagbot.entity.QuestionInfo;
@@ -124,4 +125,17 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
         }
         return data;
     }
+
+    /**
+     * 根据标签名获取标签信息
+     * @param questionInfo
+     * @return
+     */
+    public QuestionInfo getQuestionInfos(QuestionInfo questionInfo){
+        QueryWrapper<QuestionInfo> queryWrapper = new QueryWrapper<QuestionInfo>();
+        queryWrapper.eq("is_deleted", "N");
+        queryWrapper.eq("type", 1);
+        queryWrapper.eq("name",questionInfo.getName());
+        return this.getOne(queryWrapper);
+    }
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/vo/DeptInfoVO.java

@@ -16,5 +16,5 @@ public class DeptInfoVO {
     @NotNull(message = "请输入科室编码")
     private String deptCode;
     @NotNull(message = "请输入医院编码")
-    private String hosptialCode;
+    private String hospitalCode;
 }

+ 12 - 0
icss-service/src/main/java/com/diagbot/web/QuestionInfoController.java

@@ -3,6 +3,7 @@ package com.diagbot.web;
 
 import com.diagbot.dto.QuestionDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QuestionInfo;
 import com.diagbot.facade.QuestionFacade;
 import com.diagbot.vo.QuestionIdsVO;
 import com.diagbot.vo.QuestionVO;
@@ -54,4 +55,15 @@ public class QuestionInfoController {
         return RespDTO.onSuc(data);
     }
 
+
+    /**
+     * 获取疾病标签信息,远程调用[by:wangyu]
+     * @param questionInfo
+     * @return
+     */
+    @PostMapping("/getQuestionInfos")
+    public RespDTO<QuestionInfo> getQuestionInfos(@RequestBody QuestionInfo questionInfo){
+        QuestionInfo data = questionFacade.getQuestionInfos(questionInfo);
+        return RespDTO.onSuc(data);
+    }
 }

+ 26 - 0
icssman-service/src/main/java/com/diagbot/client/IcssServiceClient.java

@@ -0,0 +1,26 @@
+package com.diagbot.client;
+
+import com.diagbot.client.hystrix.IcssServiceHystrix;
+import com.diagbot.dto.DeptInfoDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.vo.DeptInfoVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/3 17:46
+ */
+@FeignClient(value = "icss-service", fallback = IcssServiceHystrix.class)
+public interface IcssServiceClient {
+    @PostMapping("/deptInfo/getDeptInfo")
+    RespDTO<List<DeptInfoDTO>> getDeptInfo(@RequestBody DeptInfoVO deptInfoVO);
+
+    @PostMapping("/questionInfo/getQuestionInfos")
+    RespDTO<QuestionInfo> getQuestionInfos(@RequestBody QuestionInfo questionInfo);
+}

+ 33 - 0
icssman-service/src/main/java/com/diagbot/client/hystrix/IcssServiceHystrix.java

@@ -0,0 +1,33 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.IcssServiceClient;
+import com.diagbot.dto.DeptInfoDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.vo.DeptInfoVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+/**
+ * @Description: 调用Icss服务
+ * @author: gaodm
+ * @time: 2018/8/6 9:52
+ */
+@Component
+@Slf4j
+public class IcssServiceHystrix implements IcssServiceClient {
+    @Override
+    public RespDTO<List<DeptInfoDTO>> getDeptInfo(DeptInfoVO deptInfoVO) {
+        log.error("【hystrix】调用{}异常", "getDeptInfo");
+        return null;
+    }
+
+    @Override
+    public RespDTO<QuestionInfo> getQuestionInfos(QuestionInfo questionInfo) {
+        log.error("【hystrix】调用{}异常", "getQuestionInfos");
+        return null;
+    }
+}

+ 11 - 0
icssman-service/src/main/java/com/diagbot/dto/DeptInfoDTO.java

@@ -0,0 +1,11 @@
+package com.diagbot.dto;
+
+import com.diagbot.entity.DeptInfo;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/19 18:56
+ */
+public class DeptInfoDTO extends DeptInfo {
+}

+ 9 - 8
icssman-service/src/main/java/com/diagbot/entity/QuestionUsual.java

@@ -1,10 +1,11 @@
 package com.diagbot.entity;
 
-import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableName;
+
 import java.io.Serializable;
+import java.util.Date;
 
 /**
  * <p>
@@ -33,12 +34,12 @@ public class QuestionUsual implements Serializable {
     /**
      * 记录创建时间
      */
-    private LocalDateTime gmtCreate;
+    private Date gmtCreate;
 
     /**
      * 记录修改时间,如果时间是1970年则表示纪录未修改
      */
-    private LocalDateTime gmtModified;
+    private Date gmtModified;
 
     /**
      * 创建人,0表示无创建人值
@@ -91,18 +92,18 @@ public class QuestionUsual implements Serializable {
     public void setIsDeleted(String isDeleted) {
         this.isDeleted = isDeleted;
     }
-    public LocalDateTime getGmtCreate() {
+    public Date getGmtCreate() {
         return gmtCreate;
     }
 
-    public void setGmtCreate(LocalDateTime gmtCreate) {
+    public void setGmtCreate(Date gmtCreate) {
         this.gmtCreate = gmtCreate;
     }
-    public LocalDateTime getGmtModified() {
+    public Date getGmtModified() {
         return gmtModified;
     }
 
-    public void setGmtModified(LocalDateTime gmtModified) {
+    public void setGmtModified(Date gmtModified) {
         this.gmtModified = gmtModified;
     }
     public String getCreator() {

+ 58 - 0
icssman-service/src/main/java/com/diagbot/facade/QuestionUsualFacade.java

@@ -0,0 +1,58 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.IcssServiceClient;
+import com.diagbot.dto.DeptInfoDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.QuestionInfo;
+import com.diagbot.entity.QuestionUsual;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.service.impl.QuestionUsualServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.DateUtil;
+import com.diagbot.util.UserUtils;
+import com.diagbot.vo.DeptInfoVO;
+import com.diagbot.vo.QuestionUsualVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/3 17:06
+ */
+@Component
+public class QuestionUsualFacade extends QuestionUsualServiceImpl {
+    @Autowired
+    private IcssServiceClient icssServiceClient ;
+
+    public Boolean addQuestionUsual(QuestionUsualVO questionUsualVO) {
+        DeptInfoVO deptInfoVO =new DeptInfoVO();
+        QuestionInfo questionInfo =new QuestionInfo();
+        BeanUtil.copyProperties(questionUsualVO,deptInfoVO);
+        RespDTO<List<DeptInfoDTO>> listRespDTO = icssServiceClient.getDeptInfo(deptInfoVO);
+        if (listRespDTO == null || !"0".equals(listRespDTO.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取科室信息失败");
+        }
+        questionInfo.setName(questionUsualVO.getQuestionName());
+        RespDTO<QuestionInfo> questionInfoRespDTO = icssServiceClient.getQuestionInfos(questionInfo);
+        if (questionInfoRespDTO == null || !"0".equals(questionInfoRespDTO.code)) {
+            throw new CommonException(CommonErrorCode.RPC_ERROR,
+                    "获取标签信息失败");
+        }
+        QuestionUsual questionUsual = new QuestionUsual();
+        questionUsual.setCreator(UserUtils.getCurrentPrincipleID());
+        questionUsual.setGmtCreate(DateUtil.now());
+        questionUsual.setQuestionId(questionInfoRespDTO.data.getId());
+        questionUsual.setDeptId(listRespDTO.data.get(0).getId());
+        Boolean flag = this.save(questionUsual);
+        if(!flag){
+            throw new CommonException(CommonErrorCode.FAIL,
+                    "常用症状添加失败");
+        }
+        return flag;
+    }
+}

+ 20 - 0
icssman-service/src/main/java/com/diagbot/vo/DeptInfoVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/11/19 18:58
+ */
+@Getter
+@Setter
+public class DeptInfoVO {
+    @NotNull(message = "请输入科室编码")
+    private String deptCode;
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+}

+ 22 - 0
icssman-service/src/main/java/com/diagbot/vo/QuestionUsualVO.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: wangyu
+ * @time: 2018/12/3 17:07
+ */
+@Getter
+@Setter
+public class QuestionUsualVO {
+    @NotNull(message = "请输入医院编号")
+    private String hospitalCode;
+    @NotNull(message = "请输入科室编号")
+    private String deptCode;
+    @NotNull(message = "请输入症状名称")
+    private String questionName;
+}

+ 23 - 0
icssman-service/src/main/java/com/diagbot/web/QuestionUsualController.java

@@ -1,7 +1,16 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.QuestionUsualFacade;
+import com.diagbot.vo.QuestionUsualVO;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+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;
 
@@ -19,4 +28,18 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(value = "常用标签维护相关API", tags = { "常用标签维护相关API" })
 public class QuestionUsualController {
 
+    @Autowired
+    private QuestionUsualFacade questionUsualFacade;
+
+    @ApiOperation(value = "添加常用标签[by:wangyu]",
+            notes = "deptCode: 科室编号,必填<br>" +
+                    "hospitalCode: 医院编号,必填<br>" +
+                    "questionName: 症状名称,必填")
+    @PostMapping("/addQuestionUsual")
+    @SysLogger("addQuestionUsual")
+    @Transactional
+    public RespDTO<Boolean> addQuestionUsual(@RequestBody QuestionUsualVO questionUsualVO) {
+        Boolean data = questionUsualFacade.addQuestionUsual(questionUsualVO);
+        return RespDTO.onSuc(data);
+    }
 }