浏览代码

获取提示信息

Zhaops 6 年之前
父节点
当前提交
31ccbe23b1

+ 33 - 0
aipt-service/src/main/java/com/diagbot/dto/ConceptDetailDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:提示信息明细
+ * @Author:zhaops
+ * @time: 2019/5/6 16:33
+ */
+@Getter
+@Setter
+public class ConceptDetailDTO {
+    /**
+     * 提示明细标题
+     */
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    private String text;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    private Integer isReason;
+}

+ 18 - 0
aipt-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:提示信息返回
+ * @Author:zhaops
+ * @time: 2019/5/6 16:32
+ */
+@Getter
+@Setter
+public class ConceptIntroduceDTO {
+    private String name;
+    private List<ConceptDetailDTO> details;
+}

+ 53 - 0
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -1,8 +1,24 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.ConceptDetailDTO;
+import com.diagbot.dto.ConceptIntroduceDTO;
+import com.diagbot.entity.Concept;
+import com.diagbot.entity.ConceptDetail;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.ConceptDetailServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.ConceptIntroduceVO;
+import com.google.common.collect.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * @Description:
  * @Author:zhaops
@@ -10,4 +26,41 @@ import org.springframework.stereotype.Component;
  */
 @Component
 public class ConceptDetailFacade extends ConceptDetailServiceImpl {
+    @Autowired
+    private ConceptFacade conceptFacade;
+
+    /**
+     * 获取提示信息
+     *
+     * @param conceptIntroduceVO
+     * @return
+     */
+    public ConceptIntroduceDTO getConceptDetail(ConceptIntroduceVO conceptIntroduceVO) {
+        if (StringUtil.isBlank(conceptIntroduceVO.getName())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入概念名称");
+        }
+        QueryWrapper<Concept> conceptQueryWrapper = new QueryWrapper<>();
+        conceptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("lib_name", conceptIntroduceVO.getName()).
+                eq("lib_type", conceptIntroduceVO.getLibType());
+        Concept concept = conceptFacade.getOne(conceptQueryWrapper);
+        if (concept == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "概念不存在");
+        }
+
+        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
+        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("concept_id", concept.getId()).
+                apply("find_in_set({0},position)", conceptIntroduceVO.getPosition()).
+                orderByAsc("order_no");
+        List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
+        List<ConceptDetailDTO> conceptDetailDTOList = Lists.newLinkedList();
+        if (ListUtil.isNotEmpty(conceptDetailList)) {
+            conceptDetailDTOList = BeanUtil.listCopyTo(conceptDetailList, ConceptDetailDTO.class);
+        }
+        ConceptIntroduceDTO conceptIntroduceDTO = new ConceptIntroduceDTO();
+        conceptIntroduceDTO.setName(concept.getLibName());
+        conceptIntroduceDTO.setDetails(conceptDetailDTOList);
+        return conceptIntroduceDTO;
+    }
 }

+ 23 - 0
aipt-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:获取提示信息入参
+ * @Author:zhaops
+ * @time: 2019/5/6 15:43
+ */
+@Getter
+@Setter
+public class ConceptIntroduceVO {
+    @NotBlank(message = "概念名称不能为空")
+    private String name;
+    @NotNull(message = "词性不能为空")
+    private Integer libType;
+    @NotNull(message = "请输入展示位置")
+    private Integer position;
+}

+ 22 - 3
aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -1,9 +1,19 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptIntroduceDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.ConceptDetailFacade;
+import com.diagbot.vo.ConceptIntroduceVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
 
-import org.springframework.stereotype.Controller;
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -13,8 +23,17 @@ import org.springframework.stereotype.Controller;
  * @author zhaops
  * @since 2019-05-06
  */
-@Controller
+@RestController
 @RequestMapping("/conceptDetail")
 public class ConceptDetailController {
+    @Autowired
+    private ConceptDetailFacade conceptDetailFacade;
 
-}
+    @ApiOperation(value = "获取提示信息[by:zhaops]", notes = "")
+    @PostMapping("/getConceptDetail")
+    @SysLogger("getConceptDetail")
+    public RespDTO<ConceptIntroduceDTO> processData(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
+        ConceptIntroduceDTO data = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
+        return RespDTO.onSuc(data);
+    }
+}

+ 6 - 0
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -6,16 +6,19 @@ import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
 import com.diagbot.client.hystrix.AiptServiceHystrix;
+import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DisScaleDTO;
 import com.diagbot.dto.DisTypeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ScaleContent;
+import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.DisScaleVO;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -49,4 +52,7 @@ public interface AiptServiceClient {
 
     @PostMapping(value = "/clinicaldata/getScale")
     RespDTO<List<ScaleContent>> getScale(@RequestBody SearchData searchData);
+
+    @PostMapping(value = "/conceptDetail/getConceptDetail")
+    RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO);
 }

+ 9 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -6,16 +6,19 @@ import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
+import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.DisScaleDTO;
 import com.diagbot.dto.DisTypeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.ScaleContent;
+import com.diagbot.vo.ConceptIntroduceVO;
 import com.diagbot.vo.DisScaleVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
+import javax.validation.Valid;
 import java.util.List;
 import java.util.Map;
 
@@ -74,4 +77,10 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "getScale");
         return null;
     }
+
+    @Override
+    public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
+        log.error("【hystrix】调用{}异常", "getConceptDetail");
+        return null;
+    }
 }

+ 33 - 0
icss-service/src/main/java/com/diagbot/dto/ConceptDetailDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:提示信息明细
+ * @Author:zhaops
+ * @time: 2019/5/6 16:33
+ */
+@Getter
+@Setter
+public class ConceptDetailDTO {
+    /**
+     * 提示明细标题
+     */
+    private String title;
+
+    /**
+     * 提示明细内容
+     */
+    private String content;
+
+    /**
+     * 纯文本
+     */
+    private String text;
+
+    /**
+     * 是否诊断依据(1-是,0-否)
+     */
+    private Integer isReason;
+}

+ 18 - 0
icss-service/src/main/java/com/diagbot/dto/ConceptIntroduceDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:提示信息返回
+ * @Author:zhaops
+ * @time: 2019/5/6 16:32
+ */
+@Getter
+@Setter
+public class ConceptIntroduceDTO {
+    private String name;
+    private List<ConceptDetailDTO> details;
+}

+ 30 - 0
icss-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -0,0 +1,30 @@
+package com.diagbot.facade;
+
+import com.diagbot.client.AiptServiceClient;
+import com.diagbot.dto.ConceptIntroduceDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.vo.ConceptIntroduceVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/5/6 17:37
+ */
+@Component
+public class ConceptDetailFacade {
+    @Autowired
+    private AiptServiceClient aiptServiceClient;
+
+    public ConceptIntroduceDTO getConceptDetail(ConceptIntroduceVO conceptIntroduceVO) {
+        RespDTO<ConceptIntroduceDTO> res = aiptServiceClient.getConceptDetail(conceptIntroduceVO);
+        if (res == null || res.data == null) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "获取提示信息失败");
+        }
+
+        return res.data;
+    }
+}

+ 23 - 0
icss-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:获取提示信息入参
+ * @Author:zhaops
+ * @time: 2019/5/6 15:43
+ */
+@Getter
+@Setter
+public class ConceptIntroduceVO {
+    @NotBlank(message = "概念名称不能为空")
+    private String name;
+    @NotNull(message = "词性不能为空")
+    private Integer libType;
+    @NotNull(message = "请输入展示位置")
+    private Integer position;
+}

+ 39 - 0
icss-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -0,0 +1,39 @@
+package com.diagbot.web;
+
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.ConceptIntroduceDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.facade.ConceptDetailFacade;
+import com.diagbot.vo.ConceptIntroduceVO;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ * 提示信息明细表 前端控制器
+ * </p>
+ *
+ * @author zhaops
+ * @since 2019-05-06
+ */
+@RestController
+@RequestMapping("/conceptDetail")
+public class ConceptDetailController {
+    @Autowired
+    private ConceptDetailFacade conceptDetailFacade;
+
+    @ApiOperation(value = "获取提示信息[by:zhaops]", notes = "")
+    @PostMapping("/getConceptDetail")
+    @SysLogger("getConceptDetail")
+    public RespDTO<ConceptIntroduceDTO> processData(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
+        ConceptIntroduceDTO data = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
+        return RespDTO.onSuc(data);
+    }
+}