Просмотр исходного кода

实现医学知识库术语查询服务接口

MarkHuang 6 лет назад
Родитель
Сommit
017a9b41b5
31 измененных файлов с 621 добавлено и 135 удалено
  1. 2 2
      config-server/src/main/resources/shared/knowledge-service-local.yml
  2. 2 2
      config-server/src/main/resources/shared/knowledgeman-service-local.yml
  3. 29 0
      knowledge-service/src/main/java/com/diagbot/dto/InforDTO.java
  4. 43 0
      knowledge-service/src/main/java/com/diagbot/dto/LibraryDTO.java
  5. 94 0
      knowledge-service/src/main/java/com/diagbot/dto/MedicalDTO.java
  6. 50 0
      knowledge-service/src/main/java/com/diagbot/dto/TermDTO.java
  7. 9 9
      knowledge-service/src/main/java/com/diagbot/entity/Information.java
  8. 6 31
      knowledge-service/src/main/java/com/diagbot/entity/Library.java
  9. 43 21
      knowledge-service/src/main/java/com/diagbot/entity/Symptom.java
  10. 28 0
      knowledge-service/src/main/java/com/diagbot/facade/InformationFacade.java
  11. 56 0
      knowledge-service/src/main/java/com/diagbot/facade/LibraryFacade.java
  12. 28 0
      knowledge-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  13. 10 1
      knowledge-service/src/main/java/com/diagbot/mapper/InformationMapper.java
  14. 17 5
      knowledge-service/src/main/java/com/diagbot/mapper/LibraryMapper.java
  15. 26 0
      knowledge-service/src/main/java/com/diagbot/mapper/MedicalMapper.java
  16. 0 16
      knowledge-service/src/main/java/com/diagbot/mapper/SymptomMapper.java
  17. 5 1
      knowledge-service/src/main/java/com/diagbot/service/InformationService.java
  18. 4 1
      knowledge-service/src/main/java/com/diagbot/service/LibraryService.java
  19. 20 0
      knowledge-service/src/main/java/com/diagbot/service/MedicalService.java
  20. 0 16
      knowledge-service/src/main/java/com/diagbot/service/SymptomService.java
  21. 7 1
      knowledge-service/src/main/java/com/diagbot/service/impl/InformationServiceImpl.java
  22. 7 1
      knowledge-service/src/main/java/com/diagbot/service/impl/LibraryServiceImpl.java
  23. 26 0
      knowledge-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java
  24. 0 20
      knowledge-service/src/main/java/com/diagbot/service/impl/SymptomServiceImpl.java
  25. 18 0
      knowledge-service/src/main/java/com/diagbot/vo/TermVo.java
  26. 39 2
      knowledge-service/src/main/java/com/diagbot/web/LibraryController.java
  27. 3 3
      knowledge-service/src/main/java/com/diagbot/web/SymptomController.java
  28. 10 0
      knowledge-service/src/main/resources/mapper/InformationMapper.xml
  29. 12 0
      knowledge-service/src/main/resources/mapper/LibraryMapper.xml
  30. 26 2
      knowledge-service/src/main/resources/mapper/SymptomMapper.xml
  31. 1 1
      knowledge-service/src/test/java/com/diagbot/CodeGeneration.java

+ 2 - 2
config-server/src/main/resources/shared/knowledge-service-local.yml

@@ -8,9 +8,9 @@ spring:
       driverClassName: com.mysql.jdbc.Driver
       driver-class-name: com.mysql.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-log?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.235:3306/diagbot-med?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
-      password: lantone
+      password: diagbot@20180822
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5

+ 2 - 2
config-server/src/main/resources/shared/knowledgeman-service-local.yml

@@ -8,9 +8,9 @@ spring:
       driverClassName: com.mysql.jdbc.Driver
       driver-class-name: com.mysql.jdbc.Driver
       platform: mysql
-      url: jdbc:mysql://192.168.2.236:3306/sys-log?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
+      url: jdbc:mysql://192.168.2.235:3306/diagbot-med?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
       username: root
-      password: lantone
+      password: diagbot@20180822
       # 连接池的配置信息
       # 初始化大小,最小,最大
       initialSize: 5

+ 29 - 0
knowledge-service/src/main/java/com/diagbot/dto/InforDTO.java

@@ -0,0 +1,29 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 17:03
+ */
+@Getter
+@Setter
+public class InforDTO {
+    /**
+     * 主键
+     */
+//    private long id;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+}

+ 43 - 0
knowledge-service/src/main/java/com/diagbot/dto/LibraryDTO.java

@@ -0,0 +1,43 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 17:03
+ */
+@Getter
+@Setter
+public class LibraryDTO {
+    /**
+     * 主键
+     */
+    private long id;
+
+    /**
+     * 名称
+     */
+    private String term;
+
+    /**
+     * 类型
+     */
+//    private String type;
+
+    /**
+     * 同义词
+     */
+    private String synonymous;
+
+    /**
+     * 医学知识
+     */
+//    private Map<String, Information> generalInfo;
+
+    /**
+     * 医学信息
+     */
+//    private Map<String, Medical> medicalInfo;
+}

+ 94 - 0
knowledge-service/src/main/java/com/diagbot/dto/MedicalDTO.java

@@ -0,0 +1,94 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 17:03
+ */
+@Getter
+@Setter
+public class MedicalDTO {
+    /**
+     * 主键
+     */
+//    private long id;
+
+    /**
+     * 术语名称
+     */
+    private String name;
+
+    /**
+     * 标准类型名称
+     */
+    private String typename;
+
+    /**
+     * 类型名称
+     */
+    private String type;
+
+    /**
+     * 术语标准名
+     */
+    private String stdName;
+
+    /**
+     * 术语小类名称
+     */
+    private String cateName;
+
+    /**
+     * 术语类组
+     */
+    private String group;
+
+    /**
+     * 性别:1:男, 2:女, 3:通用
+     */
+    private String gender;
+
+    /**
+     * 症状发生的最小年龄
+     */
+    private Integer minAge;
+
+    /**
+     * 症状发生的最大年龄
+     */
+    private Integer maxAge;
+
+    /**
+     * 一级部位
+     */
+    private String bodypart;
+
+    /**
+     * 二级部位
+     */
+    private String subBodypart;
+
+    /**
+     * 显示顺序
+     */
+    private String displayOrder;
+
+    /**
+     * 科室
+     */
+    private String dept;
+
+    /**
+     * 术语身份编码
+     */
+    private String code;
+
+    /**
+     * 备注
+     */
+    private String note;
+
+}

+ 50 - 0
knowledge-service/src/main/java/com/diagbot/dto/TermDTO.java

@@ -0,0 +1,50 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 17:03
+ */
+@Getter
+@Setter
+public class TermDTO {
+    /**
+     * 主键
+     *
+    private long id;
+
+    /**
+     * 名称
+     *
+    private String term;
+
+    /**
+     * 类型
+     *
+    private String type;
+
+    /**
+     * 同义词
+     *
+    private String synonymous;
+
+    /**
+     * 术语基本信息
+     */
+    private LibraryDTO library;
+
+    /**
+     * 术语相关医学知识
+     */
+    private List<InforDTO> information;
+
+    /**
+     * 医学临床信息
+     */
+    private List<MedicalDTO> medicalInfo;
+}

+ 9 - 9
knowledge-service/src/main/java/com/diagbot/entity/Information.java

@@ -19,8 +19,8 @@ public class Information implements Serializable {
     /**
      * 内容id
      */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+//    @TableId(value = "id", type = IdType.AUTO)
+//    private Integer id;
 
     /**
      * 术语名称
@@ -42,13 +42,13 @@ public class Information implements Serializable {
      */
     private String content;
 
-    public Integer getId() {
-        return id;
-    }
+//    public Integer getId() {
+//        return id;
+//    }
 
-    public void setId(Integer id) {
-        this.id = id;
-    }
+//    public void setId(Integer id) {
+//        this.id = id;
+//    }
     public String getName() {
         return name;
     }
@@ -81,7 +81,7 @@ public class Information implements Serializable {
     @Override
     public String toString() {
         return "Information{" +
-        "id=" + id +
+//        "id=" + id +
         ", name=" + name +
         ", libId=" + libId +
         ", title=" + title +

+ 6 - 31
knowledge-service/src/main/java/com/diagbot/entity/Library.java

@@ -27,51 +27,26 @@ public class Library implements Serializable {
      */
     private String name;
 
-    /**
-     * 类型id
-     */
-    private Integer type;
-
     /**
      * 同义词id
      */
     private Integer synony;
 
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-    public String getName() {
-        return name;
-    }
+    public Integer getId() { return id; }
 
-    public void setName(String name) {
-        this.name = name;
-    }
-    public Integer getType() {
-        return type;
-    }
+    public void setId(Integer id) { this.id = id; }
+    public String getName() { return name; }
 
-    public void setType(Integer type) {
-        this.type = type;
-    }
-    public Integer getSynony() {
-        return synony;
-    }
+    public void setName(String name) { this.name = name; }
+    public Integer getSynony() { return synony; }
 
-    public void setSynony(Integer synony) {
-        this.synony = synony;
-    }
+    public void setSynony(Integer synony) { this.synony = synony; }
 
     @Override
     public String toString() {
         return "Library{" +
         "id=" + id +
         ", name=" + name +
-        ", type=" + type +
         ", synony=" + synony +
         "}";
     }

+ 43 - 21
knowledge-service/src/main/java/com/diagbot/entity/Symptom.java

@@ -10,37 +10,42 @@ import java.io.Serializable;
  * </p>
  *
  * @author Weixuan Huang
- * @since 2019-01-14
+ * @since 2019-01-16
  */
-public class Symptom implements Serializable {
+public class Medical implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+//    @TableId(value = "id", type = IdType.AUTO)
+//    private Integer id;
 
     /**
-     * 症状名称
+     * 术语名称
      */
     private String name;
 
     /**
-     * 症状类型
+     * 标准类型名称
+     */
+    private String typename;
+
+    /**
+     * 术语类型
      */
     private String type;
 
     /**
-     * 症状标准名
+     * 术语标准名
      */
     private String stdName;
 
     /**
-     * 大症状名称
+     * 术语小类名称
      */
     private String cateName;
 
     /**
-     * 症状类组
+     * 术语类组
      */
     private String group;
 
@@ -74,6 +79,11 @@ public class Symptom implements Serializable {
      */
     private String displayOrder;
 
+    /**
+     * 科室
+     */
+    private String dept;
+
     /**
      * 术语身份编码
      */
@@ -84,13 +94,13 @@ public class Symptom implements Serializable {
      */
     private String note;
 
-    public Integer getId() {
-        return id;
-    }
+//    public Integer getId() {
+//        return id;
+//    }
 
-    public void setId(Integer id) {
-        this.id = id;
-    }
+//    public void setId(Integer id) {
+//        this.id = id;
+//    }
     public String getName() {
         return name;
     }
@@ -98,13 +108,16 @@ public class Symptom implements Serializable {
     public void setName(String name) {
         this.name = name;
     }
-    public String getType() {
-        return type;
+    public String getTypename() {
+        return typename;
     }
 
-    public void setType(String type) {
-        this.type = type;
+    public void setTypename(String typename) {
+        this.typename = typename;
     }
+    public String getType() { return type; }
+
+    public void setType(String type) { this.type = type; }
     public String getStdName() {
         return stdName;
     }
@@ -168,6 +181,13 @@ public class Symptom implements Serializable {
     public void setDisplayOrder(String displayOrder) {
         this.displayOrder = displayOrder;
     }
+    public String getDept() {
+        return dept;
+    }
+
+    public void setDept(String dept) {
+        this.dept = dept;
+    }
     public String getCode() {
         return code;
     }
@@ -185,9 +205,10 @@ public class Symptom implements Serializable {
 
     @Override
     public String toString() {
-        return "Symptom{" +
-        "id=" + id +
+        return "Term{" +
+//        "id=" + id +
         ", name=" + name +
+        ", typename=" + typename +
         ", type=" + type +
         ", stdName=" + stdName +
         ", cateName=" + cateName +
@@ -198,6 +219,7 @@ public class Symptom implements Serializable {
         ", bodypart=" + bodypart +
         ", subBodypart=" + subBodypart +
         ", displayOrder=" + displayOrder +
+        ", dept=" + dept +
         ", code=" + code +
         ", note=" + note +
         "}";

+ 28 - 0
knowledge-service/src/main/java/com/diagbot/facade/InformationFacade.java

@@ -0,0 +1,28 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.InforDTO;
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.service.impl.InformationServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 术语知识查询业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/16 14:17
+ */
+@Component
+public class InformationFacade extends InformationServiceImpl {
+
+    /**
+     * 获取医学术语知识
+     *
+     * @param LibraryDTO
+     * @result InforDTO
+     */
+    public List<InforDTO> getInfor(LibraryDTO libraryDTO) {
+        List<InforDTO> inforDTO = this.getInfomation(libraryDTO);
+        return inforDTO;
+    }
+}

+ 56 - 0
knowledge-service/src/main/java/com/diagbot/facade/LibraryFacade.java

@@ -0,0 +1,56 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.service.impl.LibraryServiceImpl;
+import com.diagbot.vo.TermVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @Description: 术语查询业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 16:17
+ */
+@Component
+public class LibraryFacade extends LibraryServiceImpl {
+
+    @Autowired
+    private InformationFacade informationFacade;
+    @Autowired
+    private MedicalFacade medicalFacade;
+
+
+    /**
+     * 获取医学术语信息
+     *
+     * @param TermVo
+     * @return TermDTO
+     */
+    public TermDTO getTermInfo(@RequestBody TermVo termvo) {
+
+        TermDTO termDTO = new TermDTO();
+        LibraryDTO libraryDTO = getLibrary(termvo);
+        // 获取与医学术语的基本信息
+        termDTO.setLibrary(libraryDTO);
+        // 获取与术语相关的医学知识
+        termDTO.setInformation(informationFacade.getInfor(libraryDTO));
+        // 获取与术语相关的临床医学信息
+        termDTO.setMedicalInfo(medicalFacade.getInfor(libraryDTO));
+
+        return termDTO;
+    }
+
+    /**
+     * 获取术语基本信息
+     *
+     * @param termVo
+     * @return
+     */
+    public LibraryDTO getTerm(@RequestBody TermVo termVo) {
+        LibraryDTO libraryDTO = getLibrary(termVo);
+
+        return  libraryDTO;
+    }
+}

+ 28 - 0
knowledge-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -0,0 +1,28 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.MedicalDTO;
+import com.diagbot.service.impl.MedicalServiceImpl;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 术语临床信息查询业务层
+ * @author: Weixuan Huang
+ * @time: 2019/1/16 16:07
+ */
+@Component
+public class MedicalFacade extends MedicalServiceImpl {
+
+    /**
+     * 获取医学术语知识
+     *
+     * @param LibraryDTO
+     * @result MedicalDTO
+     */
+    public List<MedicalDTO> getInfor(LibraryDTO libraryDTO) {
+        List<MedicalDTO> medicalDTO = getMedicalInfo(libraryDTO);
+        return medicalDTO;
+    }
+}

+ 10 - 1
knowledge-service/src/main/java/com/diagbot/mapper/InformationMapper.java

@@ -1,8 +1,12 @@
 package com.diagbot.mapper;
 
+import com.diagbot.dto.InforDTO;
+import com.diagbot.dto.LibraryDTO;
 import com.diagbot.entity.Information;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -12,5 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2019-01-14
  */
 public interface InformationMapper extends BaseMapper<Information> {
-
+    /**
+     * 获取术语医学知识信息
+     * @param LibraryDTO
+     * @return InforDTO
+     */
+    public List<InforDTO> getInformation(LibraryDTO libraryDTO);
 }

+ 17 - 5
knowledge-service/src/main/java/com/diagbot/mapper/LibraryMapper.java

@@ -1,16 +1,28 @@
 package com.diagbot.mapper;
 
-import com.diagbot.entity.Library;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.entity.Library;
+import com.diagbot.vo.TermVo;
 
 /**
- * <p>
- *  Mapper 接口
- * </p>
- *
+ * @Description 获取术语信息
  * @author Weixuan Huang
  * @since 2019-01-14
  */
 public interface LibraryMapper extends BaseMapper<Library> {
+    /**
+     * 获取术语信息
+     * @param termVo
+     * @return TermDTO
+     */
+    public TermDTO getTermInfo(TermVo termVo);
 
+    /**
+     * 获取术语词库信息
+     * @param termVo
+     * @return LibraryDTO
+     */
+    public LibraryDTO getLibrary(TermVo termVo);
 }

+ 26 - 0
knowledge-service/src/main/java/com/diagbot/mapper/MedicalMapper.java

@@ -0,0 +1,26 @@
+package com.diagbot.mapper;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.MedicalDTO;
+import com.diagbot.entity.Medical;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+public interface MedicalMapper extends BaseMapper<Medical> {
+    /**
+     * 获取术语临床医学信息
+     *
+     * @param LibraryDTO
+     * @result MedicalDTO
+     */
+    public List<MedicalDTO> getMedicalInfo(LibraryDTO libraryDTO);
+}

+ 0 - 16
knowledge-service/src/main/java/com/diagbot/mapper/SymptomMapper.java

@@ -1,16 +0,0 @@
-package com.diagbot.mapper;
-
-import com.diagbot.entity.Symptom;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author Weixuan Huang
- * @since 2019-01-14
- */
-public interface SymptomMapper extends BaseMapper<Symptom> {
-
-}

+ 5 - 1
knowledge-service/src/main/java/com/diagbot/service/InformationService.java

@@ -1,8 +1,12 @@
 package com.diagbot.service;
 
+import com.diagbot.dto.InforDTO;
+import com.diagbot.dto.LibraryDTO;
 import com.diagbot.entity.Information;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务类
@@ -12,5 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2019-01-14
  */
 public interface InformationService extends IService<Information> {
-
+    public List<InforDTO> getInfomation(LibraryDTO libraryDTO);
 }

+ 4 - 1
knowledge-service/src/main/java/com/diagbot/service/LibraryService.java

@@ -1,7 +1,10 @@
 package com.diagbot.service;
 
+import com.diagbot.dto.LibraryDTO;
+//import com.diagbot.dto.TermDTO;
 import com.diagbot.entity.Library;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.TermVo;
 
 /**
  * <p>
@@ -12,5 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * @since 2019-01-14
  */
 public interface LibraryService extends IService<Library> {
-
+    public LibraryDTO getLibrary(TermVo termVo);
 }

+ 20 - 0
knowledge-service/src/main/java/com/diagbot/service/MedicalService.java

@@ -0,0 +1,20 @@
+package com.diagbot.service;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.MedicalDTO;
+import com.diagbot.entity.Medical;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+public interface MedicalService extends IService<Medical> {
+    public List<MedicalDTO> getMedicalInfo(LibraryDTO libraryDTO);
+}

+ 0 - 16
knowledge-service/src/main/java/com/diagbot/service/SymptomService.java

@@ -1,16 +0,0 @@
-package com.diagbot.service;
-
-import com.diagbot.entity.Symptom;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * <p>
- *  服务类
- * </p>
- *
- * @author Weixuan Huang
- * @since 2019-01-14
- */
-public interface SymptomService extends IService<Symptom> {
-
-}

+ 7 - 1
knowledge-service/src/main/java/com/diagbot/service/impl/InformationServiceImpl.java

@@ -1,11 +1,15 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.InforDTO;
+import com.diagbot.dto.LibraryDTO;
 import com.diagbot.entity.Information;
 import com.diagbot.mapper.InformationMapper;
 import com.diagbot.service.InformationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  *  服务实现类
@@ -16,5 +20,7 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class InformationServiceImpl extends ServiceImpl<InformationMapper, Information> implements InformationService {
-
+    public List<InforDTO> getInfomation(LibraryDTO libraryDTO) {
+        return baseMapper.getInformation(libraryDTO);
+    }
 }

+ 7 - 1
knowledge-service/src/main/java/com/diagbot/service/impl/LibraryServiceImpl.java

@@ -1,9 +1,12 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.TermDTO;
 import com.diagbot.entity.Library;
 import com.diagbot.mapper.LibraryMapper;
 import com.diagbot.service.LibraryService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.diagbot.vo.TermVo;
 import org.springframework.stereotype.Service;
 
 /**
@@ -16,5 +19,8 @@ import org.springframework.stereotype.Service;
  */
 @Service
 public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> implements LibraryService {
-
+    @Override
+    public LibraryDTO getLibrary(TermVo termVo) {
+        return baseMapper.getLibrary(termVo);
+    }
 }

+ 26 - 0
knowledge-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java

@@ -0,0 +1,26 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.MedicalDTO;
+import com.diagbot.entity.Medical;
+import com.diagbot.mapper.MedicalMapper;
+import com.diagbot.service.MedicalService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+@Service
+public class MedicalServiceImpl extends ServiceImpl<MedicalMapper, Medical> implements MedicalService {
+    public List<MedicalDTO> getMedicalInfo(LibraryDTO libraryDTO) {
+        return baseMapper.getMedicalInfo(libraryDTO);
+    }
+}

+ 0 - 20
knowledge-service/src/main/java/com/diagbot/service/impl/SymptomServiceImpl.java

@@ -1,20 +0,0 @@
-package com.diagbot.service.impl;
-
-import com.diagbot.entity.Symptom;
-import com.diagbot.mapper.SymptomMapper;
-import com.diagbot.service.SymptomService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.stereotype.Service;
-
-/**
- * <p>
- *  服务实现类
- * </p>
- *
- * @author Weixuan Huang
- * @since 2019-01-14
- */
-@Service
-public class SymptomServiceImpl extends ServiceImpl<SymptomMapper, Symptom> implements SymptomService {
-
-}

+ 18 - 0
knowledge-service/src/main/java/com/diagbot/vo/TermVo.java

@@ -0,0 +1,18 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/14 17:03
+ */
+@Getter
+@Setter
+public class TermVo {
+    @NotNull(message="请输入医学术语")
+    private String term;
+}

+ 39 - 2
knowledge-service/src/main/java/com/diagbot/web/LibraryController.java

@@ -1,9 +1,23 @@
 package com.diagbot.web;
 
 
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.entity.Library;
+import com.diagbot.facade.LibraryFacade;
+import com.diagbot.vo.TermVo;
+import io.swagger.annotations.Api;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * <p>
@@ -13,8 +27,31 @@ import org.springframework.stereotype.Controller;
  * @author Weixuan Huang
  * @since 2019-01-14
  */
-@Controller
+@RestController
 @RequestMapping("/library")
+@Api(value = "医学术语API", tags = { "医学术语API" })
+
 public class LibraryController {
+    @Autowired
+    private LibraryFacade libraryFacade;
+
+    @ApiOperation(value = "术语信息查询",
+            notes = "Term:术语名称,必填<br>")
+    @PostMapping("/getTermInfo")
+    @SysLogger("getTermInfo")
+    public RespDTO<TermDTO> getTermInfo(@Valid @RequestBody TermVo termvo) {
+        TermDTO data = libraryFacade.getTermInfo(termvo);
+
+        return RespDTO.onSuc(data);
+    }
+
+    @ApiOperation(value = "术语基本信息查询",
+            notes = "Term: 术语名称,必填<br>")
+    @PostMapping("/getTerm")
+    @SysLogger("getTerm")
+    public RespDTO<LibraryDTO> getTerm(@Valid @RequestBody TermVo termVo) {
+        LibraryDTO libraryDTO = libraryFacade.getTerm(termVo);
 
+        return RespDTO.onSuc(libraryDTO);
+    }
 }

+ 3 - 3
knowledge-service/src/main/java/com/diagbot/web/SymptomController.java

@@ -11,10 +11,10 @@ import org.springframework.stereotype.Controller;
  * </p>
  *
  * @author Weixuan Huang
- * @since 2019-01-14
+ * @since 2019-01-16
  */
 @Controller
-@RequestMapping("/symptom")
-public class SymptomController {
+@RequestMapping("/medical")
+public class MedicalController {
 
 }

+ 10 - 0
knowledge-service/src/main/resources/mapper/InformationMapper.xml

@@ -11,4 +11,14 @@
         <result column="content" property="content" />
     </resultMap>
 
+    <select id="getInformation" parameterType="com.diagbot.dto.LibraryDTO" resultType="com.diagbot.dto.InforDTO">
+        SELECT
+        a.id,
+        a.title,
+        a.content
+        FROM information a
+        LEFT JOIN library b on a.lib_id = b.id
+        WHERE b.id = #{id}
+    </select>
+
 </mapper>

+ 12 - 0
knowledge-service/src/main/resources/mapper/LibraryMapper.xml

@@ -10,4 +10,16 @@
         <result column="synony" property="synony" />
     </resultMap>
 
+    <select id="getLibrary" parameterType="com.diagbot.vo.TermVo" resultType="com.diagbot.dto.LibraryDTO">
+        SELECT
+        a.id,
+        a.name as term,
+        a.synony as synonymous
+        FROM library a
+        LEFT JOIN lexicon b on a.type = b.id
+        WHERE a.name = #{term}
+    </select>
+
+
+
 </mapper>

+ 26 - 2
knowledge-service/src/main/resources/mapper/SymptomMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.diagbot.mapper.SymptomMapper">
+<mapper namespace="com.diagbot.mapper.MedicalMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.diagbot.entity.Symptom">
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Medical">
         <id column="id" property="id" />
         <result column="name" property="name" />
         <result column="type" property="type" />
@@ -20,4 +20,28 @@
         <result column="note" property="note" />
     </resultMap>
 
+    <select id="getMedicalInfo" parameterType="com.diagbot.dto.LibraryDTO" resultType="com.diagbot.dto.MedicalDTO">
+        SELECT
+        a.id,
+        a.name,
+        c.name as typename,
+        a.type,
+        a.std_name,
+        a.cate_name,
+        a.group,
+        a.gender,
+        a.min_age,
+        a.max_age,
+        a.bodypart,
+        a.sub_bodypart,
+        a.display_order,
+        a.dept,
+        a.code,
+        a.note
+        FROM term a
+        LEFT JOIN library b on a.name = b.name
+        LEFT JOIN lexicon c on c.id = a.type_id
+        WHERE b.name = #{term}
+    </select>
+
 </mapper>

+ 1 - 1
knowledge-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -56,7 +56,7 @@ public class CodeGeneration {
         StrategyConfig strategy = new StrategyConfig();
 //        strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "library","bodypart","information","lexicon","symptom" }); // 需要生成的表
+        strategy.setInclude(new String[] { "term" }); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);