Browse Source

Merge branch 'dev/knowledge' into dev/icss

gaodm 6 years ago
parent
commit
8069938287
20 changed files with 378 additions and 214 deletions
  1. 12 3
      aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java
  2. 23 23
      aipt-service/src/main/java/com/diagbot/vo/SearchVo.java
  3. 2 9
      aipt-service/src/main/java/com/diagbot/web/ClinicalController.java
  4. 2 2
      config-server/src/main/resources/shared/knowledgeman-service-test.yml
  5. 20 0
      icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java
  6. 23 0
      icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java
  7. 42 15
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java
  8. 3 1
      icss-service/src/main/java/com/diagbot/web/PushController.java
  9. 76 76
      knowledge-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  10. 76 76
      knowledgeman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  11. 15 1
      knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java
  12. 23 4
      knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java
  13. 14 0
      knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java
  14. 4 0
      knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconRelationshipMapper.java
  15. 4 0
      knowledgeman-service/src/main/java/com/diagbot/service/LexiconRelationshipService.java
  16. 7 0
      knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconRelationshipServiceImpl.java
  17. 0 2
      knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java
  18. 3 2
      knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java
  19. 14 0
      knowledgeman-service/src/main/java/com/diagbot/web/RelationController.java
  20. 15 0
      knowledgeman-service/src/main/resources/mapper/LexiconRelationshipMapper.xml

+ 12 - 3
aipt-service/src/main/java/com/diagbot/facade/ClinicalFacade.java

@@ -1,6 +1,10 @@
 package com.diagbot.facade;
 package com.diagbot.facade;
 
 
+import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.bean.Response;
+import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.LisResult;
 import com.diagbot.dto.LisResult;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import com.diagbot.vo.SearchVo;
 import com.diagbot.vo.SearchVo;
@@ -17,18 +21,23 @@ import java.util.List;
  */
  */
 @Component
 @Component
 public class ClinicalFacade {
 public class ClinicalFacade {
+
+    @Autowired
+    private AIServiceClient aiServiceClient;
+
     /**
     /**
      * 处理临床数据
      * 处理临床数据
      *
      *
      * @param searchVo
      * @param searchVo
-     * @return SearchVo
+     * @return ResponseData
      */
      */
-    public SearchVo processClinicalData(@RequestBody SearchVo searchVo) {
+    public ResponseData processClinicalData(@RequestBody SearchVo searchVo) {
         SearchVo sData = searchVo;
         SearchVo sData = searchVo;
 
 
         sData.setLisArr(processLis(sData.getLisArr()));
         sData.setLisArr(processLis(sData.getLisArr()));
+        Response<ResponseData> res = aiServiceClient.bayesPageData(sData);
 
 
-        return sData;
+        return res.getData();
     }
     }
 
 
     private List<LisResult> processLis(List<LisResult> lisArr) {
     private List<LisResult> processLis(List<LisResult> lisArr) {

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

@@ -17,48 +17,48 @@ import java.util.Map;
 @Getter
 @Getter
 @Setter
 @Setter
 public class SearchVo {
 public class SearchVo {
-    private String sex;
-    private int age;
+    private int length;
+
     private int age_start;
     private int age_start;
     private int age_end;
     private int age_end;
+    private int age;
+    private String sex;
+
+    // 搜索结果的贝叶斯阈值
+    private String threshold;
 
 
     private String symptom;
     private String symptom;
     private String vital;
     private String vital;
     private String lis;
     private String lis;
     private String pacs;
     private String pacs;
-    private String other;
-    private String featureType;
     private String diag;
     private String diag;
-
-    private int length;
-
-
-    // 搜索结果的贝叶斯阈值
-    private String threshold;
-
-    private List<Feature> symptomFeatureList;
-    private List<Feature> lisFeatureList;
-    private List<Feature> pacsFeatureList;
-    private List<Feature> vitalFeatureList;
-    private List<Feature> symptompropertyFeatureList;
-
+    private String past;
+    private String other;
     private List<LisResult> lisArr;
     private List<LisResult> lisArr;
-    private List<Feature> diagFeatureList;
-    private Map<String, Map<String, String>> inputs;
-
 
 
+    //特征类别
+    private String featureType;
     /*
     /*
-    private String past;
     //特征类别对","进行分割后数据
     //特征类别对","进行分割后数据
     private String[] featureTypes;
     private String[] featureTypes;
     //门诊 住院分类
     //门诊 住院分类
     private String resourceType;
     private String resourceType;
     //模型
     //模型
-    private AlgorithmClassify algorithmClassify[];
+//    private AlgorithmClassify algorithmClassify[];
     //模型
     //模型
     private String algorithmClassifyValue;
     private String algorithmClassifyValue;
+    */
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     //外部系统编码 用于返回映射数据,如果sysCode为空或null,则返回kl_standard_info标准名称
     private String sysCode;
     private String sysCode;
-    */
+
+
+    private List<Feature> symptomFeatureList;
+    private List<Feature> lisFeatureList;
+    private List<Feature> pacsFeatureList;
+    private List<Feature> vitalFeatureList;
+    private List<Feature> symptompropertyFeatureList;
+
+    private List<Feature> diagFeatureList;
+    private Map<String, Map<String, String>> inputs;
 
 
 }
 }

+ 2 - 9
aipt-service/src/main/java/com/diagbot/web/ClinicalController.java

@@ -2,8 +2,6 @@ package com.diagbot.web;
 
 
 
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.SysLogger;
-import com.diagbot.client.AIServiceClient;
-import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.ClinicalFacade;
 import com.diagbot.facade.ClinicalFacade;
@@ -35,19 +33,14 @@ public class ClinicalController {
     @Autowired
     @Autowired
     private ClinicalFacade clinicalFacade;
     private ClinicalFacade clinicalFacade;
 
 
-    @Autowired
-    private AIServiceClient aiServiceClient;
-
     @ApiOperation(value = "临床数据处理", notes = "")
     @ApiOperation(value = "临床数据处理", notes = "")
     @PostMapping("/processData")
     @PostMapping("/processData")
     @SysLogger("processData")
     @SysLogger("processData")
     public RespDTO<ResponseData> processData(@Valid @RequestBody SearchVo searchVo) {
     public RespDTO<ResponseData> processData(@Valid @RequestBody SearchVo searchVo) {
 
 
-        SearchVo sData = clinicalFacade.processClinicalData(searchVo);
-
-        Response<ResponseData> res = aiServiceClient.bayesPageData(sData);
+        ResponseData data = clinicalFacade.processClinicalData(searchVo);
 
 
-        return RespDTO.onSuc(res.getData());
+        return RespDTO.onSuc(data);
     }
     }
 
 
 }
 }

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

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

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

@@ -0,0 +1,20 @@
+package com.diagbot.client;
+
+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 org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @Description:调用中间层服务
+ * @Author: Mark Huang
+ * @time: 2019/03/25 19:15
+ */
+@FeignClient(value = "aipt-service", fallback = AiptServiceHystrix.class)
+public interface AiptServiceClient {
+    @PostMapping(value = "/clinicaldata/processData")
+    Response<ResponseData> aiptData(@RequestBody SearchData searchData);
+}

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

@@ -0,0 +1,23 @@
+package com.diagbot.client.hystrix;
+
+import com.diagbot.client.AiptServiceClient;
+import com.diagbot.client.bean.Response;
+import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:调用中间层服务
+ * @Author: Mark Huang
+ * @time: 2019/03/25 19:15
+ */
+@Component
+@Slf4j
+public class AiptServiceHystrix implements AiptServiceClient {
+    @Override
+    public Response<ResponseData> aiptData(SearchData searchData) {
+        log.error("【hystrix】调用{}异常", "aiptData");
+        return null;
+    }
+}

+ 42 - 15
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,6 +2,7 @@ package com.diagbot.facade;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.BigDataServiceClient;
 import com.diagbot.client.BigDataServiceClient;
 import com.diagbot.client.GraphServiceClient;
 import com.diagbot.client.GraphServiceClient;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.TranServiceClient;
@@ -29,15 +30,9 @@ import com.diagbot.util.EntityUtil;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.FastJsonUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
 import com.diagbot.util.StringUtil;
-import com.diagbot.vo.EMRPushVO;
-import com.diagbot.vo.HosCodeVO;
-import com.diagbot.vo.LisKYJVO;
-import com.diagbot.vo.LisResult;
-import com.diagbot.vo.LisResultVO;
-import com.diagbot.vo.PushKYJVO;
-import com.diagbot.vo.PushVO;
-import com.diagbot.vo.QuestionVO;
+import com.diagbot.vo.*;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Lists;
+import io.micrometer.core.instrument.search.Search;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
@@ -73,14 +68,16 @@ public class PushFacade {
     private LisMappingFacade lisMappingFacade;
     private LisMappingFacade lisMappingFacade;
     @Autowired
     @Autowired
     private TranServiceClient tranServiceClient;
     private TranServiceClient tranServiceClient;
+    @Autowired
+    private AiptServiceClient aiptServiceClient;
 
 
     /**
     /**
-     * 推理接口
+     * 拼装数据
      *
      *
      * @param pushVO
      * @param pushVO
-     * @return
+     * @return SearchData
      */
      */
-    public ResponseData pushAI(PushVO pushVO) {
+    public SearchData assembleData(PushVO pushVO) {
         SearchData searchData = new SearchData();
         SearchData searchData = new SearchData();
         searchData.setAge(pushVO.getAge());
         searchData.setAge(pushVO.getAge());
         searchData.setSymptom(pushVO.getSymptom());
         searchData.setSymptom(pushVO.getSymptom());
@@ -129,6 +126,17 @@ public class PushFacade {
         List<LisResult> lisResultList = BeanUtil.listCopyTo(pushVO.getLis(), LisResult.class);
         List<LisResult> lisResultList = BeanUtil.listCopyTo(pushVO.getLis(), LisResult.class);
         searchData.setLisArr(lisResultList);
         searchData.setLisArr(lisResultList);
 
 
+        return searchData;
+    }
+
+
+    /**
+     * 大数据接口
+     *
+     * @param searchData
+     * @return ResponseData
+     */
+    public ResponseData pushAI(SearchData searchData) {
         Response<ResponseData> res = bigDataServiceClient.bayesPageData(searchData);
         Response<ResponseData> res = bigDataServiceClient.bayesPageData(searchData);
         if (null == res || null == res.getData()) {
         if (null == res || null == res.getData()) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "AI没有返回结果");
@@ -136,6 +144,20 @@ public class PushFacade {
         return res.getData();
         return res.getData();
     }
     }
 
 
+    /**
+     * 中间层接口
+     *
+     * @param searchData
+     * @return ResponseData
+     */
+    public ResponseData pushAipt(SearchData searchData) {
+        Response<ResponseData> res = aiptServiceClient.aiptData(searchData);
+        if (null == res || null == res.getData()) {
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "中间层没有返回结果");
+        }
+        return res.getData();
+    }
+
     /**
     /**
      * 推理接口
      * 推理接口
      *
      *
@@ -144,7 +166,9 @@ public class PushFacade {
      */
      */
     public PushDTO pushInner(PushVO pushVO, Integer mode) {
     public PushDTO pushInner(PushVO pushVO, Integer mode) {
         PushDTO pushDTO = new PushDTO();
         PushDTO pushDTO = new PushDTO();
-        ResponseData data = pushAI(pushVO);
+        SearchData Data = assembleData(pushVO);
+//        ResponseData data = pushAI(searchData);
+        ResponseData data = pushAipt(Data);
 
 
         String featureType = pushVO.getFeatureType();
         String featureType = pushVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         String[] featureTypes = featureType.split(",|,");
@@ -323,7 +347,8 @@ public class PushFacade {
         }
         }
         pushVO.setLis(lisResultVOList);
         pushVO.setLis(lisResultVOList);
 
 
-        ResponseData responseData = pushAI(pushVO);
+        SearchData searchData = assembleData(pushVO);
+        ResponseData responseData = pushAI(searchData);
         PushKYJDTO pushKYJDTO = new PushKYJDTO();
         PushKYJDTO pushKYJDTO = new PushKYJDTO();
         pushKYJDTO.setLabs(responseData.getLabs());
         pushKYJDTO.setLabs(responseData.getLabs());
         pushKYJDTO.setDis(responseData.getDis());
         pushKYJDTO.setDis(responseData.getDis());
@@ -494,7 +519,9 @@ public class PushFacade {
             }
             }
             pushVO.setLis(lisResultVOList);
             pushVO.setLis(lisResultVOList);
         }
         }
-        ResponseData data = pushAI(pushVO);
+
+        SearchData searchData = assembleData(pushVO);
+        ResponseData data = pushAI(searchData);
         String featureType = pushVO.getFeatureType();
         String featureType = pushVO.getFeatureType();
         String[] featureTypes = featureType.split(",|,");
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
@@ -573,7 +600,7 @@ public class PushFacade {
                 }
                 }
             }
             }
             //警惕
             //警惕
-            SearchData searchData = new SearchData();
+            searchData = new SearchData();
             searchData.setDiag(String.join(",", disNameList));
             searchData.setDiag(String.join(",", disNameList));
             Response<GdbResponse> graphRes = graphServiceClient.highRiskPageData(searchData);
             Response<GdbResponse> graphRes = graphServiceClient.highRiskPageData(searchData);
             Map<String, String> graphResult = graphRes.getData().getResult();
             Map<String, String> graphResult = graphRes.getData().getResult();

+ 3 - 1
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -2,6 +2,7 @@ package com.diagbot.web;
 
 
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.ResponseData;
+import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.PushKYJDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RespDTO;
@@ -109,7 +110,8 @@ public class PushController {
     @PostMapping("/pushAI")
     @PostMapping("/pushAI")
     @SysLogger("pushAI")
     @SysLogger("pushAI")
     public RespDTO<ResponseData> pushAI(@RequestBody @Valid PushVO pushVO) {
     public RespDTO<ResponseData> pushAI(@RequestBody @Valid PushVO pushVO) {
-        return RespDTO.onSuc(pushFacade.pushAI(pushVO));
+        SearchData searchData = pushFacade.assembleData(pushVO);
+        return RespDTO.onSuc(pushFacade.pushAI(searchData));
     }
     }
 
 
     @ApiOperation(value = "推理接口(快易检)[by:zhaops]",
     @ApiOperation(value = "推理接口(快易检)[by:zhaops]",

+ 76 - 76
knowledge-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,76 +1,76 @@
-//package com.diagbot.aop;
-//
-//import com.diagbot.annotation.SysLogger;
-//import com.diagbot.entity.SysLog;
-//import com.diagbot.enums.SysTypeEnum;
-//import com.diagbot.rabbit.MySender;
-//import com.diagbot.util.GsonUtil;
-//import com.diagbot.util.HttpUtils;
-//import com.diagbot.util.StringUtil;
-//import com.diagbot.util.UserUtils;
-//import org.aspectj.lang.JoinPoint;
-//import org.aspectj.lang.annotation.Aspect;
-//import org.aspectj.lang.annotation.Before;
-//import org.aspectj.lang.annotation.Pointcut;
-//import org.aspectj.lang.reflect.MethodSignature;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-//import java.lang.reflect.Method;
-//import java.util.Date;
-//
-///**
-// * @Description: 日志拦截切面
-// * @author: gaodm
-// * @time: 2018/8/2 13:36
-// */
-//@Aspect
-//@Component
-//public class SysLoggerAspect {
-//    @Autowired
-//    private MySender mySender;
-//
-//    @Pointcut("@annotation(com.diagbot.annotation.SysLogger)")
-//    public void loggerPointCut() {
-//
-//    }
-//
-//    @Before("loggerPointCut()")
-//    public void saveSysLog(JoinPoint joinPoint) {
-//        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-//        Method method = signature.getMethod();
-//
-//        SysLog sysLog = new SysLog();
-//        SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-//        if (sysLogger != null) {
-//            //注解上的描述
-//            sysLog.setOperation(sysLogger.value());
-//        }
-//        //请求的方法名
-//        String className = joinPoint.getTarget().getClass().getName();
-//        String methodName = signature.getName();
-//        sysLog.setMethod(className + "." + methodName + "()");
-//        //请求的参数
-//        Object[] args = joinPoint.getArgs();
-//        String params = "";
-//        for (Object o : args) {
-//            params += GsonUtil.toJson(o);
-//        }
-//        if (!StringUtil.isEmpty(params)) {
-//            sysLog.setParams(params);
-//        }
-//        //设置IP地址
-//        sysLog.setIp(HttpUtils.getIpAddress());
-//        //用户名
-//        String username = UserUtils.getCurrentPrinciple();
-//        if (!StringUtil.isEmpty(username)) {
-//            sysLog.setUsername(username);
-//        }
-//        sysLog.setGmtCreate(new Date());
-//        sysLog.setSysType(SysTypeEnum.KNOWLEDGE_SERVICE.getKey());
-//        //保存系统日志
-//        mySender.outputLogSend(sysLog);
-//    }
-//
-//}
-//
+package com.diagbot.aop;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.entity.SysLog;
+import com.diagbot.enums.SysTypeEnum;
+import com.diagbot.rabbit.MySender;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.HttpUtils;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class SysLoggerAspect {
+    @Autowired
+    private MySender mySender;
+
+    @Pointcut("@annotation(com.diagbot.annotation.SysLogger)")
+    public void loggerPointCut() {
+
+    }
+
+    @Before("loggerPointCut()")
+    public void saveSysLog(JoinPoint joinPoint) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+
+        SysLog sysLog = new SysLog();
+        SysLogger sysLogger = method.getAnnotation(SysLogger.class);
+        if (sysLogger != null) {
+            //注解上的描述
+            sysLog.setOperation(sysLogger.value());
+        }
+        //请求的方法名
+        String className = joinPoint.getTarget().getClass().getName();
+        String methodName = signature.getName();
+        sysLog.setMethod(className + "." + methodName + "()");
+        //请求的参数
+        Object[] args = joinPoint.getArgs();
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
+        }
+        if (!StringUtil.isEmpty(params)) {
+            sysLog.setParams(params);
+        }
+        //设置IP地址
+        sysLog.setIp(HttpUtils.getIpAddress());
+        //用户名
+        String username = UserUtils.getCurrentPrinciple();
+        if (!StringUtil.isEmpty(username)) {
+            sysLog.setUsername(username);
+        }
+        sysLog.setGmtCreate(new Date());
+        sysLog.setSysType(SysTypeEnum.KNOWLEDGE_SERVICE.getKey());
+        //保存系统日志
+        mySender.outputLogSend(sysLog);
+    }
+
+}
+

+ 76 - 76
knowledgeman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,76 +1,76 @@
-//package com.diagbot.aop;
-//
-//import com.diagbot.annotation.SysLogger;
-//import com.diagbot.entity.SysLog;
-//import com.diagbot.enums.SysTypeEnum;
-//import com.diagbot.rabbit.MySender;
-//import com.diagbot.util.GsonUtil;
-//import com.diagbot.util.HttpUtils;
-//import com.diagbot.util.StringUtil;
-//import com.diagbot.util.UserUtils;
-//import org.aspectj.lang.JoinPoint;
-//import org.aspectj.lang.annotation.Aspect;
-//import org.aspectj.lang.annotation.Before;
-//import org.aspectj.lang.annotation.Pointcut;
-//import org.aspectj.lang.reflect.MethodSignature;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-//import java.lang.reflect.Method;
-//import java.util.Date;
-//
-///**
-// * @Description: 日志拦截切面
-// * @author: gaodm
-// * @time: 2018/8/2 13:36
-// */
-//@Aspect
-//@Component
-//public class SysLoggerAspect {
-//    @Autowired
-//    private MySender mySender;
-//
-//    @Pointcut("@annotation(com.diagbot.annotation.SysLogger)")
-//    public void loggerPointCut() {
-//
-//    }
-//
-//    @Before("loggerPointCut()")
-//    public void saveSysLog(JoinPoint joinPoint) {
-//        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-//        Method method = signature.getMethod();
-//
-//        SysLog sysLog = new SysLog();
-//        SysLogger sysLogger = method.getAnnotation(SysLogger.class);
-//        if (sysLogger != null) {
-//            //注解上的描述
-//            sysLog.setOperation(sysLogger.value());
-//        }
-//        //请求的方法名
-//        String className = joinPoint.getTarget().getClass().getName();
-//        String methodName = signature.getName();
-//        sysLog.setMethod(className + "." + methodName + "()");
-//        //请求的参数
-//        Object[] args = joinPoint.getArgs();
-//        String params = "";
-//        for (Object o : args) {
-//            params += GsonUtil.toJson(o);
-//        }
-//        if (!StringUtil.isEmpty(params)) {
-//            sysLog.setParams(params);
-//        }
-//        //设置IP地址
-//        sysLog.setIp(HttpUtils.getIpAddress());
-//        //用户名
-//        String username = UserUtils.getCurrentPrinciple();
-//        if (!StringUtil.isEmpty(username)) {
-//            sysLog.setUsername(username);
-//        }
-//        sysLog.setGmtCreate(new Date());
-//        sysLog.setSysType(SysTypeEnum.KNOWLEDGEMAN_SERVICE.getKey());
-//        //保存系统日志
-//        mySender.outputLogSend(sysLog);
-//    }
-//
-//}
-//
+package com.diagbot.aop;
+
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.entity.SysLog;
+import com.diagbot.enums.SysTypeEnum;
+import com.diagbot.rabbit.MySender;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.HttpUtils;
+import com.diagbot.util.StringUtil;
+import com.diagbot.util.UserUtils;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class SysLoggerAspect {
+    @Autowired
+    private MySender mySender;
+
+    @Pointcut("@annotation(com.diagbot.annotation.SysLogger)")
+    public void loggerPointCut() {
+
+    }
+
+    @Before("loggerPointCut()")
+    public void saveSysLog(JoinPoint joinPoint) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+
+        SysLog sysLog = new SysLog();
+        SysLogger sysLogger = method.getAnnotation(SysLogger.class);
+        if (sysLogger != null) {
+            //注解上的描述
+            sysLog.setOperation(sysLogger.value());
+        }
+        //请求的方法名
+        String className = joinPoint.getTarget().getClass().getName();
+        String methodName = signature.getName();
+        sysLog.setMethod(className + "." + methodName + "()");
+        //请求的参数
+        Object[] args = joinPoint.getArgs();
+        String params = "";
+        for (Object o : args) {
+            params += GsonUtil.toJson(o);
+        }
+        if (!StringUtil.isEmpty(params)) {
+            sysLog.setParams(params);
+        }
+        //设置IP地址
+        sysLog.setIp(HttpUtils.getIpAddress());
+        //用户名
+        String username = UserUtils.getCurrentPrinciple();
+        if (!StringUtil.isEmpty(username)) {
+            sysLog.setUsername(username);
+        }
+        sysLog.setGmtCreate(new Date());
+        sysLog.setSysType(SysTypeEnum.KNOWLEDGEMAN_SERVICE.getKey());
+        //保存系统日志
+        mySender.outputLogSend(sysLog);
+    }
+
+}
+

+ 15 - 1
knowledgeman-service/src/main/java/com/diagbot/facade/LibraryDetailFacade.java

@@ -175,6 +175,7 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
         String error = "";
         String error = "";
         LibraryDetail libraryDetail;
         LibraryDetail libraryDetail;
 
 
+        /*
         QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
         QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
         query.eq("name", knowledgeVo.getTerm());
         query.eq("name", knowledgeVo.getTerm());
         query.eq("type", knowledgeVo.getType());
         query.eq("type", knowledgeVo.getType());
@@ -183,7 +184,9 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
         if (libraryInfo != null) {
         if (libraryInfo != null) {
             QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
             QueryWrapper<LibraryDetail> detquery = new QueryWrapper<>();
             detquery.eq("concept_id", libraryInfo.getConceptId());
             detquery.eq("concept_id", libraryInfo.getConceptId());
-            detquery.eq("source", knowledgeVo.getSource());
+            if (knowledgeVo.getSource() != null) {
+                detquery.eq("source", knowledgeVo.getSource());
+            }
             detquery.eq("title", knowledgeVo.getTitle());
             detquery.eq("title", knowledgeVo.getTitle());
             libraryDetail = getOne(detquery);
             libraryDetail = getOne(detquery);
 
 
@@ -200,6 +203,17 @@ public class LibraryDetailFacade extends LibraryDetailServiceImpl {
         else {
         else {
             error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" 不存在!";
             error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" 不存在!";
         }
         }
+        */
+        QueryWrapper<LibraryDetail> query = new QueryWrapper<>();
+        query.eq("id", knowledgeVo.getId());
+        libraryDetail = getOne(query);
+
+        if (libraryDetail != null) {
+            remove(query);
+        }
+        else {
+            error = "术语 \"" + knowledgeVo.getTerm() + "(" + knowledgeVo.getType() + ")\" 不存在!";
+        }
 
 
 
 
         msg.add(error);
         msg.add(error);

+ 23 - 4
knowledgeman-service/src/main/java/com/diagbot/facade/MedicalFacade.java

@@ -141,11 +141,15 @@ public class MedicalFacade extends MedicalServiceImpl {
      * @param termVo
      * @param termVo
      * @return ConceptDTO
      * @return ConceptDTO
      */
      */
-    public Boolean removeMedicalInfo(TermVo termVo) {
+    public ConceptDTO removeMedicalInfo(TermVo termVo) {
 
 
-        Boolean isdeleted = false;
-        List<Medical> medicals;
+//        Boolean isdeleted = false;
+        ConceptDTO conceptDTO = new ConceptDTO();
+        Medical medical;
+        List<String> msg = new ArrayList<>();
+        String error = "";
 
 
+        /*
         QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
         QueryWrapper<LibraryInfo> query = new QueryWrapper<>();
         query.eq("name", termVo.getTerm());
         query.eq("name", termVo.getTerm());
         query.eq("type", termVo.getType());
         query.eq("type", termVo.getType());
@@ -165,8 +169,23 @@ public class MedicalFacade extends MedicalServiceImpl {
                 isdeleted = true;
                 isdeleted = true;
             }
             }
         }
         }
+        */
+        QueryWrapper<Medical> query = new QueryWrapper<>();
+        query.eq("id", termVo.getId());
+        medical = getOne(query);
 
 
-        return isdeleted;
+        if (medical != null) {
+            remove(query);
+        }
+        else {
+            error = "术语 \"" + termVo.getTerm() + "(" + termVo.getType() + ")\" 不存在!";
+        }
+
+
+        msg.add(error);
+        conceptDTO.setMessage(msg);
+
+        return conceptDTO;
     }
     }
 
 
 
 

+ 14 - 0
knowledgeman-service/src/main/java/com/diagbot/facade/RelationshipFacade.java

@@ -1,9 +1,11 @@
 package com.diagbot.facade;
 package com.diagbot.facade;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.service.impl.LexiconRelationshipServiceImpl;
 import com.diagbot.service.impl.LexiconRelationshipServiceImpl;
+import com.diagbot.vo.AllRelationVo;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 /**
 /**
@@ -33,4 +35,16 @@ public class RelationshipFacade extends LexiconRelationshipServiceImpl {
 
 
         return lexiconRelationship;
         return lexiconRelationship;
     }
     }
+    /**
+     *
+     * 获取所有关系名称
+     *
+     * @param allrelationVo
+     * @result IPage<LexiconRelationship>
+     */
+    public IPage<LexiconRelationship> getRelationName(AllRelationVo allrelationVo) {
+
+        return getAllRelationName(allrelationVo);
+    }
+
 }
 }

+ 4 - 0
knowledgeman-service/src/main/java/com/diagbot/mapper/LexiconRelationshipMapper.java

@@ -1,9 +1,11 @@
 package com.diagbot.mapper;
 package com.diagbot.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.facade.LibraryInfoFacade;
+import com.diagbot.vo.AllRelationVo;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -15,4 +17,6 @@ import com.diagbot.facade.LibraryInfoFacade;
  */
  */
 public interface LexiconRelationshipMapper extends BaseMapper<LexiconRelationship> {
 public interface LexiconRelationshipMapper extends BaseMapper<LexiconRelationship> {
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
+
+    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo);
 }
 }

+ 4 - 0
knowledgeman-service/src/main/java/com/diagbot/service/LexiconRelationshipService.java

@@ -1,9 +1,11 @@
 package com.diagbot.service;
 package com.diagbot.service;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.facade.LibraryInfoFacade;
+import com.diagbot.vo.AllRelationVo;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -15,4 +17,6 @@ import com.diagbot.facade.LibraryInfoFacade;
  */
  */
 public interface LexiconRelationshipService extends IService<LexiconRelationship> {
 public interface LexiconRelationshipService extends IService<LexiconRelationship> {
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade);
+
+    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo);
 }
 }

+ 7 - 0
knowledgeman-service/src/main/java/com/diagbot/service/impl/LexiconRelationshipServiceImpl.java

@@ -1,11 +1,13 @@
 package com.diagbot.service.impl;
 package com.diagbot.service.impl;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.facade.LibraryInfoFacade;
 import com.diagbot.mapper.LexiconRelationshipMapper;
 import com.diagbot.mapper.LexiconRelationshipMapper;
 import com.diagbot.service.LexiconRelationshipService;
 import com.diagbot.service.LexiconRelationshipService;
+import com.diagbot.vo.AllRelationVo;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 /**
 /**
@@ -22,4 +24,9 @@ public class LexiconRelationshipServiceImpl extends ServiceImpl<LexiconRelations
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade) {
     public LexiconRelationship getLexiconRelationship(RelationDTO relationDTO, LibraryInfoFacade libraryInfoFacade) {
         return baseMapper.getLexiconRelationship(relationDTO, libraryInfoFacade);
         return baseMapper.getLexiconRelationship(relationDTO, libraryInfoFacade);
     }
     }
+
+    @Override
+    public IPage<LexiconRelationship> getAllRelationName(AllRelationVo allrelationVo) {
+        return baseMapper.getAllRelationName(allrelationVo);
+    }
 }
 }

+ 0 - 2
knowledgeman-service/src/main/java/com/diagbot/web/LibraryDetailController.java

@@ -4,12 +4,10 @@ package com.diagbot.web;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.*;
 import com.diagbot.dto.*;
-import com.diagbot.entity.Concept;
 import com.diagbot.facade.LibraryDetailFacade;
 import com.diagbot.facade.LibraryDetailFacade;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.AmendTermVo;
 import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.KnowledgeVo;
 import com.diagbot.vo.KnowledgeVo;
-import com.diagbot.vo.TermVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;

+ 3 - 2
knowledgeman-service/src/main/java/com/diagbot/web/MedicalController.java

@@ -7,6 +7,7 @@ import com.diagbot.dto.ConceptDTO;
 import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.dto.LibraryInfoDTO;
 import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.MedicalDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.Concept;
 import com.diagbot.facade.MedicalFacade;
 import com.diagbot.facade.MedicalFacade;
 import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.ConceptVo;
 import com.diagbot.vo.TermVo;
 import com.diagbot.vo.TermVo;
@@ -72,8 +73,8 @@ public class MedicalController {
     @PostMapping("/removeMedicalInfo")
     @PostMapping("/removeMedicalInfo")
     @SysLogger("removeMedicalInfo")
     @SysLogger("removeMedicalInfo")
     public RespDTO<ConceptDTO> removeMedicalInfo(@Valid @RequestBody TermVo termVo) {
     public RespDTO<ConceptDTO> removeMedicalInfo(@Valid @RequestBody TermVo termVo) {
-        Boolean result = medicalFacade.removeMedicalInfo(termVo);
+        ConceptDTO data = medicalFacade.removeMedicalInfo(termVo);
 
 
-        return RespDTO.onSuc(result);
+        return RespDTO.onSuc(data);
     }
     }
 }
 }

+ 14 - 0
knowledgeman-service/src/main/java/com/diagbot/web/RelationController.java

@@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RelationDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.RespDTO;
+import com.diagbot.entity.LexiconRelationship;
 import com.diagbot.facade.RelationFacade;
 import com.diagbot.facade.RelationFacade;
+import com.diagbot.facade.RelationshipFacade;
 import com.diagbot.vo.AllRelationVo;
 import com.diagbot.vo.AllRelationVo;
 import com.diagbot.vo.RelationVo;
 import com.diagbot.vo.RelationVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
@@ -35,6 +37,9 @@ public class RelationController {
     @Autowired
     @Autowired
     RelationFacade relationFacade;
     RelationFacade relationFacade;
 
 
+    @Autowired
+    RelationshipFacade relationshipFacade;
+
     @ApiOperation(value = "按标准术语查询关系",
     @ApiOperation(value = "按标准术语查询关系",
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
             notes = "Term:术语名称, 必填<br>Type:术语类型, 必填<br>")
     @PostMapping("/getConceptRelation")
     @PostMapping("/getConceptRelation")
@@ -65,4 +70,13 @@ public class RelationController {
         return RespDTO.onSuc(data);
         return RespDTO.onSuc(data);
     }
     }
 
 
+    @ApiOperation(value = "所有关系名称查询")
+    @PostMapping("/getRelationName")
+    @SysLogger("getRelationName")
+    public RespDTO<IPage<LexiconRelationship>> getAllRelationName(@RequestBody AllRelationVo allrelationVo) {
+        IPage<LexiconRelationship> data = relationshipFacade.getRelationName(allrelationVo);
+
+        return RespDTO.onSuc(data);
+    }
+
 }
 }

+ 15 - 0
knowledgeman-service/src/main/resources/mapper/LexiconRelationshipMapper.xml

@@ -0,0 +1,15 @@
+<?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.LexiconRelationshipMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.LexiconRelationship">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="code" property="code" />
+    </resultMap>
+
+    <select id="getAllRelationName" resultType="com.diagbot.entity.LexiconRelationship">
+        SELECT * FROM lexicon_relationship
+    </select>
+</mapper>