瀏覽代碼

实现医学知识库术语管理服务接口的查询和基本添加功能

MarkHuang 6 年之前
父節點
當前提交
cf58a48fb1
共有 41 個文件被更改,包括 1559 次插入0 次删除
  1. 29 0
      knowledgeman-service/src/main/java/com/diagbot/dto/InforDTO.java
  2. 43 0
      knowledgeman-service/src/main/java/com/diagbot/dto/LibraryDTO.java
  3. 94 0
      knowledgeman-service/src/main/java/com/diagbot/dto/MedicalDTO.java
  4. 50 0
      knowledgeman-service/src/main/java/com/diagbot/dto/TermDTO.java
  5. 88 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Bodypart.java
  6. 91 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Information.java
  7. 56 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Lexicon.java
  8. 53 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Library.java
  9. 227 0
      knowledgeman-service/src/main/java/com/diagbot/entity/Medical.java
  10. 28 0
      knowledgeman-service/src/main/java/com/diagbot/facade/InformationFacade.java
  11. 82 0
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryFacade.java
  12. 28 0
      knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  13. 16 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/BodypartMapper.java
  14. 25 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/InformationMapper.java
  15. 16 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconMapper.java
  16. 28 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryMapper.java
  17. 26 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/MedicalMapper.java
  18. 16 0
      knowledgeman-service/src/main/java/com/diagbot/service/BodypartService.java
  19. 20 0
      knowledgeman-service/src/main/java/com/diagbot/service/InformationService.java
  20. 16 0
      knowledgeman-service/src/main/java/com/diagbot/service/LexiconService.java
  21. 21 0
      knowledgeman-service/src/main/java/com/diagbot/service/LibraryService.java
  22. 20 0
      knowledgeman-service/src/main/java/com/diagbot/service/MedicalService.java
  23. 20 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/BodypartServiceImpl.java
  24. 26 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/InformationServiceImpl.java
  25. 20 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconServiceImpl.java
  26. 30 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryServiceImpl.java
  27. 26 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/MedicalServiceImpl.java
  28. 22 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddInforVo.java
  29. 20 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddLibraryVo.java
  30. 33 0
      knowledgeman-service/src/main/java/com/diagbot/vo/AddTermVo.java
  31. 18 0
      knowledgeman-service/src/main/java/com/diagbot/vo/TermVo.java
  32. 20 0
      knowledgeman-service/src/main/java/com/diagbot/web/BodypartController.java
  33. 20 0
      knowledgeman-service/src/main/java/com/diagbot/web/InformationController.java
  34. 20 0
      knowledgeman-service/src/main/java/com/diagbot/web/LexiconController.java
  35. 69 0
      knowledgeman-service/src/main/java/com/diagbot/web/LibraryController.java
  36. 20 0
      knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java
  37. 14 0
      knowledgeman-service/src/main/resources/mapper/BodypartMapper.xml
  38. 24 0
      knowledgeman-service/src/main/resources/mapper/InformationMapper.xml
  39. 13 0
      knowledgeman-service/src/main/resources/mapper/LexiconMapper.xml
  40. 24 0
      knowledgeman-service/src/main/resources/mapper/LibraryMapper.xml
  41. 47 0
      knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml

+ 29 - 0
knowledgeman-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
knowledgeman-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
knowledgeman-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
knowledgeman-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;
+}

+ 88 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Bodypart.java

@@ -0,0 +1,88 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public class Bodypart implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 二级部位
+     */
+    private String subBodypart;
+
+    /**
+     * 二级部位排序号
+     */
+    private Integer subOrder;
+
+    /**
+     * 一级部位
+     */
+    private String bodypart;
+
+    /**
+     * 一级部位排序号
+     */
+    private Integer order;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+    public String getSubBodypart() {
+        return subBodypart;
+    }
+
+    public void setSubBodypart(String subBodypart) {
+        this.subBodypart = subBodypart;
+    }
+    public Integer getSubOrder() {
+        return subOrder;
+    }
+
+    public void setSubOrder(Integer subOrder) {
+        this.subOrder = subOrder;
+    }
+    public String getBodypart() {
+        return bodypart;
+    }
+
+    public void setBodypart(String bodypart) {
+        this.bodypart = bodypart;
+    }
+    public Integer getOrder() {
+        return order;
+    }
+
+    public void setOrder(Integer order) {
+        this.order = order;
+    }
+
+    @Override
+    public String toString() {
+        return "Bodypart{" +
+        "id=" + id +
+        ", subBodypart=" + subBodypart +
+        ", subOrder=" + subOrder +
+        ", bodypart=" + bodypart +
+        ", order=" + order +
+        "}";
+    }
+}

+ 91 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Information.java

@@ -0,0 +1,91 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public class Information implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 内容id
+     */
+//    @TableId(value = "id", type = IdType.AUTO)
+//    private Integer id;
+
+    /**
+     * 术语名称
+     */
+    private String name;
+
+    /**
+     * 对应术语id
+     */
+    private Integer libId;
+
+    /**
+     * 标题
+     */
+    private String title;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+//    public Integer getId() {
+//        return id;
+//    }
+
+//    public void setId(Integer id) {
+//        this.id = id;
+//    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public Integer getLibId() {
+        return libId;
+    }
+
+    public void setLibId(Integer libId) {
+        this.libId = libId;
+    }
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    @Override
+    public String toString() {
+        return "Information{" +
+//        "id=" + id +
+        ", name=" + name +
+        ", libId=" + libId +
+        ", title=" + title +
+        ", content=" + content +
+        "}";
+    }
+}

+ 56 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Lexicon.java

@@ -0,0 +1,56 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public class Lexicon implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    private String name;
+
+    private String remark;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+    @Override
+    public String toString() {
+        return "Lexicon{" +
+        "id=" + id +
+        ", name=" + name +
+        ", remark=" + remark +
+        "}";
+    }
+}

+ 53 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Library.java

@@ -0,0 +1,53 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public class Library implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 术语id
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 术语名称
+     */
+    private String name;
+
+    /**
+     * 同义词id
+     */
+    private Integer synony;
+
+    public Integer getId() { return id; }
+
+    public void setId(Integer id) { this.id = id; }
+    public String getName() { return name; }
+
+    public void setName(String name) { this.name = name; }
+    public Integer getSynony() { return synony; }
+
+    public void setSynony(Integer synony) { this.synony = synony; }
+
+    @Override
+    public String toString() {
+        return "Library{" +
+        "id=" + id +
+        ", name=" + name +
+        ", synony=" + synony +
+        "}";
+    }
+}

+ 227 - 0
knowledgeman-service/src/main/java/com/diagbot/entity/Medical.java

@@ -0,0 +1,227 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+public class Medical implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+//    @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;
+
+    /**
+     * 性别: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;
+
+//    public Integer getId() {
+//        return id;
+//    }
+
+//    public void setId(Integer id) {
+//        this.id = id;
+//    }
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+    public String getTypename() {
+        return typename;
+    }
+
+    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;
+    }
+
+    public void setStdName(String stdName) {
+        this.stdName = stdName;
+    }
+    public String getCateName() {
+        return cateName;
+    }
+
+    public void setCateName(String cateName) {
+        this.cateName = cateName;
+    }
+    public String getGroup() {
+        return group;
+    }
+
+    public void setGroup(String group) {
+        this.group = group;
+    }
+    public String getGender() {
+        return gender;
+    }
+
+    public void setGender(String gender) {
+        this.gender = gender;
+    }
+    public Integer getMinAge() {
+        return minAge;
+    }
+
+    public void setMinAge(Integer minAge) {
+        this.minAge = minAge;
+    }
+    public Integer getMaxAge() {
+        return maxAge;
+    }
+
+    public void setMaxAge(Integer maxAge) {
+        this.maxAge = maxAge;
+    }
+    public String getBodypart() {
+        return bodypart;
+    }
+
+    public void setBodypart(String bodypart) {
+        this.bodypart = bodypart;
+    }
+    public String getSubBodypart() {
+        return subBodypart;
+    }
+
+    public void setSubBodypart(String subBodypart) {
+        this.subBodypart = subBodypart;
+    }
+    public String getDisplayOrder() {
+        return displayOrder;
+    }
+
+    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;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+    public String getNote() {
+        return note;
+    }
+
+    public void setNote(String note) {
+        this.note = note;
+    }
+
+    @Override
+    public String toString() {
+        return "Term{" +
+//        "id=" + id +
+        ", name=" + name +
+        ", typename=" + typename +
+        ", type=" + type +
+        ", stdName=" + stdName +
+        ", cateName=" + cateName +
+        ", group=" + group +
+        ", gender=" + gender +
+        ", minAge=" + minAge +
+        ", maxAge=" + maxAge +
+        ", bodypart=" + bodypart +
+        ", subBodypart=" + subBodypart +
+        ", displayOrder=" + displayOrder +
+        ", dept=" + dept +
+        ", code=" + code +
+        ", note=" + note +
+        "}";
+    }
+}

+ 28 - 0
knowledgeman-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;
+    }
+}

+ 82 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryFacade.java

@@ -0,0 +1,82 @@
+package com.diagbot.facade;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.TermDTO;
+import com.diagbot.entity.Library;
+import com.diagbot.service.impl.LibraryServiceImpl;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.vo.AddLibraryVo;
+import com.diagbot.vo.AddTermVo;
+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;
+    }
+
+    /**
+     * 添加术语信息
+     *
+     * @Param addLibraryVo
+     * @Return addLibraryVo
+     */
+    public Boolean addTerm(AddTermVo addTermVo) {
+
+        Boolean result = false;
+
+        AddLibraryVo addLibraryVo = addTermVo.getLibraryVo();
+
+        if (addLibraryVo != null) {
+            Library library = new Library();
+            BeanUtil.copyProperties(addLibraryVo, library);
+
+            result = this.save(library);
+        }
+
+        return result;
+    }
+}

+ 28 - 0
knowledgeman-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;
+    }
+}

+ 16 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/BodypartMapper.java

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

+ 25 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/InformationMapper.java

@@ -0,0 +1,25 @@
+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 接口
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public interface InformationMapper extends BaseMapper<Information> {
+    /**
+     * 获取术语医学知识信息
+     * @param LibraryDTO
+     * @return InforDTO
+     */
+    public List<InforDTO> getInformation(LibraryDTO libraryDTO);
+}

+ 16 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconMapper.java

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

+ 28 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/LibraryMapper.java

@@ -0,0 +1,28 @@
+package com.diagbot.mapper;
+
+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;
+
+/**
+ * @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
knowledgeman-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);
+}

+ 16 - 0
knowledgeman-service/src/main/java/com/diagbot/service/BodypartService.java

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

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/service/InformationService.java

@@ -0,0 +1,20 @@
+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>
+ *  服务类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public interface InformationService extends IService<Information> {
+    public List<InforDTO> getInfomation(LibraryDTO libraryDTO);
+}

+ 16 - 0
knowledgeman-service/src/main/java/com/diagbot/service/LexiconService.java

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

+ 21 - 0
knowledgeman-service/src/main/java/com/diagbot/service/LibraryService.java

@@ -0,0 +1,21 @@
+package com.diagbot.service;
+
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.entity.Library;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.diagbot.vo.AddLibraryVo;
+import com.diagbot.vo.TermVo;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+public interface LibraryService extends IService<Library> {
+    public LibraryDTO getLibrary(TermVo termVo);
+
+    public AddLibraryVo addLibrary(AddLibraryVo libraryVo);
+}

+ 20 - 0
knowledgeman-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);
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/BodypartServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.Bodypart;
+import com.diagbot.mapper.BodypartMapper;
+import com.diagbot.service.BodypartService;
+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 BodypartServiceImpl extends ServiceImpl<BodypartMapper, Bodypart> implements BodypartService {
+
+}

+ 26 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/InformationServiceImpl.java

@@ -0,0 +1,26 @@
+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>
+ *  服务实现类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@Service
+public class InformationServiceImpl extends ServiceImpl<InformationMapper, Information> implements InformationService {
+    public List<InforDTO> getInfomation(LibraryDTO libraryDTO) {
+        return baseMapper.getInformation(libraryDTO);
+    }
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.Lexicon;
+import com.diagbot.mapper.LexiconMapper;
+import com.diagbot.service.LexiconService;
+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 LexiconServiceImpl extends ServiceImpl<LexiconMapper, Lexicon> implements LexiconService {
+
+}

+ 30 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/LibraryServiceImpl.java

@@ -0,0 +1,30 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.dto.LibraryDTO;
+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.AddLibraryVo;
+import com.diagbot.vo.TermVo;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@Service
+public class LibraryServiceImpl extends ServiceImpl<LibraryMapper, Library> implements LibraryService {
+    @Override
+    public LibraryDTO getLibrary(TermVo termVo) {
+        return baseMapper.getLibrary(termVo);
+    }
+
+    @Override
+    public AddLibraryVo addLibrary(AddLibraryVo addLibraryVo) { return addLibraryVo; }
+
+}

+ 26 - 0
knowledgeman-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);
+    }
+}

+ 22 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddInforVo.java

@@ -0,0 +1,22 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/17 16:13
+ */
+@Getter
+@Setter
+public class AddInforVo {
+    @NotNull(message="请输入术语id号")
+    private int lib_id;
+
+    private String title;
+
+    private String content;
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddLibraryVo.java

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

+ 33 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/AddTermVo.java

@@ -0,0 +1,33 @@
+package com.diagbot.vo;
+
+import com.diagbot.dto.InforDTO;
+import com.diagbot.dto.LibraryDTO;
+import com.diagbot.dto.MedicalDTO;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: Weixuan Huang
+ * @time: 2019/1/17 16:23
+ */
+@Getter
+@Setter
+public class AddTermVo {
+    /**
+     * 添加术语基本信息
+     */
+    private AddLibraryVo libraryVo;
+
+    /**
+     * 添加术语相关医学知识
+     */
+    private List<InforDTO> information;
+
+    /**
+     * 添加医学临床信息
+     */
+    private List<MedicalDTO> medicalInfo;
+}

+ 18 - 0
knowledgeman-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;
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/web/BodypartController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@Controller
+@RequestMapping("/bodypart")
+public class BodypartController {
+
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/web/InformationController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@Controller
+@RequestMapping("/information")
+public class InformationController {
+
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/web/LexiconController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@Controller
+@RequestMapping("/lexicon")
+public class LexiconController {
+
+}

+ 69 - 0
knowledgeman-service/src/main/java/com/diagbot/web/LibraryController.java

@@ -0,0 +1,69 @@
+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.facade.LibraryFacade;
+import com.diagbot.vo.AddTermVo;
+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.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;
+import springfox.documentation.annotations.ApiIgnore;
+
+import javax.validation.Valid;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-14
+ */
+@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);
+    }
+
+    @ApiOperation(value = "增添术语信息", notes = "Term: 术语名称,必填<br>")
+    @PostMapping("/addTerm")
+    @SysLogger("addTerm")
+    @Transactional
+    public RespDTO<Boolean> addTerm(AddTermVo addTermVo) {
+
+        Boolean result = libraryFacade.addTerm(addTermVo);
+        return RespDTO.onSuc(result);
+    }
+}

+ 20 - 0
knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java

@@ -0,0 +1,20 @@
+package com.diagbot.web;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Weixuan Huang
+ * @since 2019-01-16
+ */
+@Controller
+@RequestMapping("/medical")
+public class MedicalController {
+
+}

+ 14 - 0
knowledgeman-service/src/main/resources/mapper/BodypartMapper.xml

@@ -0,0 +1,14 @@
+<?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.BodypartMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Bodypart">
+        <id column="id" property="id" />
+        <result column="sub_bodypart" property="subBodypart" />
+        <result column="sub_order" property="subOrder" />
+        <result column="bodypart" property="bodypart" />
+        <result column="order" property="order" />
+    </resultMap>
+
+</mapper>

+ 24 - 0
knowledgeman-service/src/main/resources/mapper/InformationMapper.xml

@@ -0,0 +1,24 @@
+<?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.InformationMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Information">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="lib_id" property="libId" />
+        <result column="title" property="title" />
+        <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>

+ 13 - 0
knowledgeman-service/src/main/resources/mapper/LexiconMapper.xml

@@ -0,0 +1,13 @@
+<?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.LexiconMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Lexicon">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="remark" property="remark" />
+        <result column="class" property="class" />
+    </resultMap>
+
+</mapper>

+ 24 - 0
knowledgeman-service/src/main/resources/mapper/LibraryMapper.xml

@@ -0,0 +1,24 @@
+<?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.LibraryMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Library">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="type" property="type" />
+        <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>

+ 47 - 0
knowledgeman-service/src/main/resources/mapper/MedicalMapper.xml

@@ -0,0 +1,47 @@
+<?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.MedicalMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.Medical">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="type" property="type" />
+        <result column="std_name" property="stdName" />
+        <result column="cate_name" property="cateName" />
+        <result column="group" property="group" />
+        <result column="gender" property="gender" />
+        <result column="min_age" property="minAge" />
+        <result column="max_age" property="maxAge" />
+        <result column="bodypart" property="bodypart" />
+        <result column="sub_bodypart" property="subBodypart" />
+        <result column="display_order" property="displayOrder" />
+        <result column="code" property="code" />
+        <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>