Explorar o código

数据引擎模式支持BI数据记录

gaodm %!s(int64=5) %!d(string=hai) anos
pai
achega
9994c40309
Modificáronse 30 ficheiros con 586 adicións e 7 borrados
  1. 19 0
      common/src/main/java/com/diagbot/annotation/BiLogger.java
  2. 2 1
      common/src/main/java/com/diagbot/enums/ProductTypeEnum.java
  3. 20 0
      common/src/main/java/com/diagbot/vo/BaseBiVO.java
  4. 86 0
      common/src/main/java/com/diagbot/vo/BiRecord.java
  5. 5 0
      config-server/src/main/resources/shared/logger-service-dev.yml
  6. 5 0
      config-server/src/main/resources/shared/logger-service-local.yml
  7. 5 0
      config-server/src/main/resources/shared/logger-service-pre.yml
  8. 5 0
      config-server/src/main/resources/shared/logger-service-pro.yml
  9. 5 0
      config-server/src/main/resources/shared/logger-service-test.yml
  10. 2 0
      config-server/src/main/resources/shared/ltapi-service-dev.yml
  11. 2 0
      config-server/src/main/resources/shared/ltapi-service-local.yml
  12. 2 0
      config-server/src/main/resources/shared/ltapi-service-pre.yml
  13. 2 0
      config-server/src/main/resources/shared/ltapi-service-pro.yml
  14. 2 0
      config-server/src/main/resources/shared/ltapi-service-test.yml
  15. 225 0
      log-service/src/main/java/com/diagbot/entity/BiRecord.java
  16. 13 0
      log-service/src/main/java/com/diagbot/facade/BiRecordFacade.java
  17. 16 0
      log-service/src/main/java/com/diagbot/mapper/BiRecordMapper.java
  18. 10 0
      log-service/src/main/java/com/diagbot/rabbit/MyProcessor.java
  19. 12 2
      log-service/src/main/java/com/diagbot/rabbit/MyReceiver.java
  20. 9 0
      log-service/src/main/java/com/diagbot/rabbit/MySender.java
  21. 16 0
      log-service/src/main/java/com/diagbot/service/BiRecordService.java
  22. 20 0
      log-service/src/main/java/com/diagbot/service/impl/BiRecordServiceImpl.java
  23. 2 2
      log-service/src/test/java/com/diagbot/CodeGeneration.java
  24. 76 0
      ltapi-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  25. 10 0
      ltapi-service/src/main/java/com/diagbot/rabbit/MyProcessor.java
  26. 9 0
      ltapi-service/src/main/java/com/diagbot/rabbit/MySender.java
  27. 1 1
      ltapi-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java
  28. 1 1
      ltapi-service/src/main/java/com/diagbot/vo/PushBaseVO.java
  29. 2 0
      ltapi-service/src/main/java/com/diagbot/web/ConceptDetailController.java
  30. 2 0
      ltapi-service/src/main/java/com/diagbot/web/PushController.java

+ 19 - 0
common/src/main/java/com/diagbot/annotation/BiLogger.java

@@ -0,0 +1,19 @@
+package com.diagbot.annotation;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * @Description: BI统计注解
+ * @author: gaodm
+ * @time: 2019/11/11 11:46
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface BiLogger {
+    String value() default "";
+}

+ 2 - 1
common/src/main/java/com/diagbot/enums/ProductTypeEnum.java

@@ -14,7 +14,8 @@ public enum ProductTypeEnum implements KeyedNamed {
     ICSS(3, "ICSS"),
     TRIAGE(4, "智能分诊"),
     DATA(5, "页面推送模式"),
-    PREC(6, "智能预问诊");
+    PREC(6, "智能预问诊"),
+    LTAPI(7, "数据引擎模式");
     @Setter
     private int key;
 

+ 20 - 0
common/src/main/java/com/diagbot/vo/BaseBiVO.java

@@ -0,0 +1,20 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description: BI统计基础VO
+ * @author: gaodm
+ * @time: 2019/11/11 11:42
+ */
+@Getter
+@Setter
+public class BaseBiVO {
+    //医院编码
+    private String hospitalCode;
+    //医生编码
+    private String doctorCode;
+    //科室编码
+    private String deptCode;
+}

+ 86 - 0
common/src/main/java/com/diagbot/vo/BiRecord.java

@@ -0,0 +1,86 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+
+/**
+ * @Description: BI记录实体类
+ * @author: gaodm
+ * @time: 2019/11/11 14:27
+ */
+@Getter
+@Setter
+public class BiRecord {
+
+    /**
+     * 日志ID
+     */
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 医院医生编码
+     */
+    private String doctorCode;
+
+    /**
+     * 医院科室编码
+     */
+    private String deptCode;
+
+    /**
+     * 产品类型(1:云平台内部;2:云平台外部;3:icss;4:智能分诊;5:页面推送模式;6:智能预问诊;7:数据引擎模式)
+     */
+    private Integer productType;
+
+    /**
+     * 功能编码
+     */
+    private String code;
+
+    /**
+     * 输入参数
+     */
+    private String params;
+
+    /**
+     * 返回参数
+     */
+    private String result;
+
+    /**
+     * 来源(1:后台接口;2:前端)
+     */
+    private Integer source;
+}

+ 5 - 0
config-server/src/main/resources/shared/logger-service-dev.yml

@@ -55,10 +55,15 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBiLog:
+          destination: myBiLog
         #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
+        inputBiLog:
+          destination: myBiLog
+          group: biLogReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
 
   #mq
   rabbitmq:

+ 5 - 0
config-server/src/main/resources/shared/logger-service-local.yml

@@ -55,10 +55,15 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBiLog:
+          destination: myBiLog
         #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
+        inputBiLog:
+          destination: myBiLog
+          group: biLogReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
 
   #mq
   rabbitmq:

+ 5 - 0
config-server/src/main/resources/shared/logger-service-pre.yml

@@ -55,10 +55,15 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBiLog:
+          destination: myBiLog
         #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
+        inputBiLog:
+          destination: myBiLog
+          group: biLogReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
 
   #mq
   rabbitmq:

+ 5 - 0
config-server/src/main/resources/shared/logger-service-pro.yml

@@ -55,10 +55,15 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBiLog:
+          destination: myBiLog
         #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
+        inputBiLog:
+          destination: myBiLog
+          group: biLogReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
 
   #mq
   rabbitmq:

+ 5 - 0
config-server/src/main/resources/shared/logger-service-test.yml

@@ -55,10 +55,15 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBiLog:
+          destination: myBiLog
         #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
         inputLog:
           destination: myLog
           group: logReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
+        inputBiLog:
+          destination: myBiLog
+          group: biLogReceiveGroup     # 具体分组 对应 MQ 是 队列名称 并且持久化队列
 
   #mq
   rabbitmq:

+ 2 - 0
config-server/src/main/resources/shared/ltapi-service-dev.yml

@@ -8,6 +8,8 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBILog:
+          destination: myBiLog
   #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq

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

@@ -8,6 +8,8 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBILog:
+          destination: myBiLog
   #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq

+ 2 - 0
config-server/src/main/resources/shared/ltapi-service-pre.yml

@@ -8,6 +8,8 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBILog:
+          destination: myBiLog
   #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq

+ 2 - 0
config-server/src/main/resources/shared/ltapi-service-pro.yml

@@ -8,6 +8,8 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBILog:
+          destination: myBiLog
   #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq

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

@@ -8,6 +8,8 @@ spring:
       bindings:
         outputLog:
           destination: myLog
+        outputBILog:
+          destination: myBiLog
   #          contentType: text/plain      # 实体 json string 在传递的类型装换 查看 http://docs.spring
 
   #mq

+ 225 - 0
log-service/src/main/java/com/diagbot/entity/BiRecord.java

@@ -0,0 +1,225 @@
+package com.diagbot.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * BI日志表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2019-11-11
+ */
+@TableName("log_bi_record")
+public class BiRecord implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 日志ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 医院编码
+     */
+    private String hospitalCode;
+
+    /**
+     * 医院医生编码
+     */
+    private String doctorCode;
+
+    /**
+     * 医院科室编码
+     */
+    private String deptCode;
+
+    /**
+     * 产品类型(1:云平台内部;2:云平台外部;3:icss;4:智能分诊;5:页面推送模式;6:智能预问诊;7:数据引擎模式)
+     */
+    private Integer productType;
+
+    /**
+     * 功能编码
+     */
+    private String code;
+
+    /**
+     * 输入参数
+     */
+    private String params;
+
+    /**
+     * 返回参数
+     */
+    private String result;
+
+    /**
+     * 来源(1:后台接口;2:前端)
+     */
+    private Integer source;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getIsDeleted() {
+        return isDeleted;
+    }
+
+    public void setIsDeleted(String isDeleted) {
+        this.isDeleted = isDeleted;
+    }
+
+    public Date getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Date gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Date getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(Date gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getCreator() {
+        return creator;
+    }
+
+    public void setCreator(String creator) {
+        this.creator = creator;
+    }
+
+    public String getModifier() {
+        return modifier;
+    }
+
+    public void setModifier(String modifier) {
+        this.modifier = modifier;
+    }
+
+    public String getHospitalCode() {
+        return hospitalCode;
+    }
+
+    public void setHospitalCode(String hospitalCode) {
+        this.hospitalCode = hospitalCode;
+    }
+
+    public String getDoctorCode() {
+        return doctorCode;
+    }
+
+    public void setDoctorCode(String doctorCode) {
+        this.doctorCode = doctorCode;
+    }
+
+    public String getDeptCode() {
+        return deptCode;
+    }
+
+    public void setDeptCode(String deptCode) {
+        this.deptCode = deptCode;
+    }
+
+    public Integer getProductType() {
+        return productType;
+    }
+
+    public void setProductType(Integer productType) {
+        this.productType = productType;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getParams() {
+        return params;
+    }
+
+    public void setParams(String params) {
+        this.params = params;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result;
+    }
+
+    public Integer getSource() {
+        return source;
+    }
+
+    public void setSource(Integer source) {
+        this.source = source;
+    }
+
+    @Override
+    public String toString() {
+        return "BiRecord{" +
+                "id=" + id +
+                ", isDeleted=" + isDeleted +
+                ", gmtCreate=" + gmtCreate +
+                ", gmtModified=" + gmtModified +
+                ", creator=" + creator +
+                ", modifier=" + modifier +
+                ", hospitalCode=" + hospitalCode +
+                ", doctorCode=" + doctorCode +
+                ", deptCode=" + deptCode +
+                ", productType=" + productType +
+                ", code=" + code +
+                ", params=" + params +
+                ", result=" + result +
+                ", source=" + source +
+                "}";
+    }
+}

+ 13 - 0
log-service/src/main/java/com/diagbot/facade/BiRecordFacade.java

@@ -0,0 +1,13 @@
+package com.diagbot.facade;
+
+import com.diagbot.service.impl.BiRecordServiceImpl;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/11/11 14:35
+ */
+@Component
+public class BiRecordFacade extends BiRecordServiceImpl {
+}

+ 16 - 0
log-service/src/main/java/com/diagbot/mapper/BiRecordMapper.java

@@ -0,0 +1,16 @@
+package com.diagbot.mapper;
+
+import com.diagbot.entity.BiRecord;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * BI日志表 Mapper 接口
+ * </p>
+ *
+ * @author gaodm
+ * @since 2019-11-11
+ */
+public interface BiRecordMapper extends BaseMapper<BiRecord> {
+
+}

+ 10 - 0
log-service/src/main/java/com/diagbot/rabbit/MyProcessor.java

@@ -20,4 +20,14 @@ public interface MyProcessor {
 
     @Output(OUTPUT_LOG)
     MessageChannel outputLog();
+
+
+    String INPUT_BI_LOG = "inputBiLog";
+    String OUTPUT_BI_LOG = "outputBiLog";
+
+    @Input(INPUT_BI_LOG)
+    SubscribableChannel inputBiLog();
+
+    @Output(OUTPUT_BI_LOG)
+    MessageChannel outputBiLog();
 }

+ 12 - 2
log-service/src/main/java/com/diagbot/rabbit/MyReceiver.java

@@ -1,6 +1,8 @@
 package com.diagbot.rabbit;
 
+import com.diagbot.entity.BiRecord;
 import com.diagbot.entity.SysLog;
+import com.diagbot.facade.BiRecordFacade;
 import com.diagbot.facade.SysLogFacade;
 import com.diagbot.util.GsonUtil;
 import com.diagbot.util.StringUtil;
@@ -16,12 +18,20 @@ import org.springframework.cloud.stream.annotation.StreamListener;
 @EnableBinding({ MyProcessor.class })
 public class MyReceiver {
     @Autowired
-    SysLogFacade sysLogFacade;
+    private SysLogFacade sysLogFacade;
+
+    @Autowired
+    private BiRecordFacade biRecordFacade;
 
     @StreamListener(MyProcessor.INPUT_LOG)
     public void inputLog(String message) {
-        System.out.println("Received <" + message + ">");
         SysLog sysLog = GsonUtil.toObject(message, SysLog.class);
         sysLogFacade.save(sysLog);
     }
+
+    @StreamListener(MyProcessor.INPUT_BI_LOG)
+    public void inputBiLog(String message) {
+        BiRecord biRecord = GsonUtil.toObject(message, BiRecord.class);
+        biRecordFacade.save(biRecord);
+    }
 }

+ 9 - 0
log-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -2,6 +2,7 @@ package com.diagbot.rabbit;
 
 import com.diagbot.entity.SysLog;
 import com.diagbot.util.GsonUtil;
+import com.diagbot.vo.BiRecord;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.cloud.stream.annotation.EnableBinding;
@@ -21,7 +22,15 @@ public class MySender {
     @Qualifier("outputLog")
     MessageChannel outputLog;
 
+    @Autowired
+    @Qualifier("outputBiLog")
+    MessageChannel outputBiLog;
+
     public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
+
+    public void outputBiLogSend(BiRecord biRecord) {
+        outputBiLog.send(MessageBuilder.withPayload(GsonUtil.toJson(biRecord)).build());
+    }
 }

+ 16 - 0
log-service/src/main/java/com/diagbot/service/BiRecordService.java

@@ -0,0 +1,16 @@
+package com.diagbot.service;
+
+import com.diagbot.entity.BiRecord;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * BI日志表 服务类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2019-11-11
+ */
+public interface BiRecordService extends IService<BiRecord> {
+
+}

+ 20 - 0
log-service/src/main/java/com/diagbot/service/impl/BiRecordServiceImpl.java

@@ -0,0 +1,20 @@
+package com.diagbot.service.impl;
+
+import com.diagbot.entity.BiRecord;
+import com.diagbot.mapper.BiRecordMapper;
+import com.diagbot.service.BiRecordService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * BI日志表 服务实现类
+ * </p>
+ *
+ * @author gaodm
+ * @since 2019-11-11
+ */
+@Service
+public class BiRecordServiceImpl extends ServiceImpl<BiRecordMapper, BiRecord> implements BiRecordService {
+
+}

+ 2 - 2
log-service/src/test/java/com/diagbot/CodeGeneration.java

@@ -54,9 +54,9 @@ public class CodeGeneration {
 
         // 策略配置
         StrategyConfig strategy = new StrategyConfig();
-//        strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为您的表前缀
+        strategy.setTablePrefix(new String[] { "log_" });// 此处可以修改为您的表前缀
         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-        strategy.setInclude(new String[] { "sys_log" }); // 需要生成的表
+        strategy.setInclude(new String[] { "log_bi_record" }); // 需要生成的表
 
         strategy.setSuperServiceClass(null);
         strategy.setSuperServiceImplClass(null);

+ 76 - 0
ltapi-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -0,0 +1,76 @@
+package com.diagbot.aop;
+
+import com.diagbot.annotation.BiLogger;
+import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.rabbit.MySender;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.BaseBiVO;
+import com.diagbot.vo.BiRecord;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+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 BiLoggerAspect {
+    @Autowired
+    private MySender mySender;
+
+    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLogger)", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+
+        BiRecord biRecord = new BiRecord();
+        //请求的参数
+        Object[] args = joinPoint.getArgs();
+        String params = "";
+        for (Object o : args) {
+            if (o instanceof BaseBiVO) {
+                BaseBiVO baseBiVO = (BaseBiVO) o;
+                if (StringUtil.isBlank(baseBiVO.getHospitalCode())) {
+                    return;
+                } else {
+                    BeanUtil.copyProperties(baseBiVO, biRecord);
+                }
+            }
+            params += GsonUtil.toJson(o);
+        }
+        if (!StringUtil.isEmpty(params)) {
+            biRecord.setParams(params);
+        }
+
+        //设置功能编码
+        BiLogger biLogger = method.getAnnotation(BiLogger.class);
+        if (biLogger != null) {
+            //注解上的描述
+            biRecord.setCode(biLogger.value());
+        }
+
+        //出参设置
+        String result = "";
+        result = GsonUtil.toJson(keys);
+        if (!StringUtil.isEmpty(result)) {
+            biRecord.setResult(result);
+        }
+
+        biRecord.setGmtCreate(new Date());
+        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
+}
+

+ 10 - 0
ltapi-service/src/main/java/com/diagbot/rabbit/MyProcessor.java

@@ -20,4 +20,14 @@ public interface MyProcessor {
 
     @Output(OUTPUT_LOG)
     MessageChannel outputLog();
+
+
+    String INPUT_BI_LOG = "inputBiLog";
+    String OUTPUT_BI_LOG = "outputBiLog";
+
+    @Input(INPUT_BI_LOG)
+    SubscribableChannel inputBiLog();
+
+    @Output(OUTPUT_BI_LOG)
+    MessageChannel outputBiLog();
 }

+ 9 - 0
ltapi-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -2,6 +2,7 @@ package com.diagbot.rabbit;
 
 import com.diagbot.entity.SysLog;
 import com.diagbot.util.GsonUtil;
+import com.diagbot.vo.BiRecord;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.cloud.stream.annotation.EnableBinding;
@@ -21,7 +22,15 @@ public class MySender {
     @Qualifier("outputLog")
     MessageChannel outputLog;
 
+    @Autowired
+    @Qualifier("outputBiLog")
+    MessageChannel outputBiLog;
+
     public void outputLogSend(SysLog sysLog) {
         outputLog.send(MessageBuilder.withPayload(GsonUtil.toJson(sysLog)).build());
     }
+
+    public void outputBiLogSend(BiRecord biRecord) {
+        outputBiLog.send(MessageBuilder.withPayload(GsonUtil.toJson(biRecord)).build());
+    }
 }

+ 1 - 1
ltapi-service/src/main/java/com/diagbot/vo/ConceptIntroduceVO.java

@@ -15,7 +15,7 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class ConceptIntroduceVO {
+public class ConceptIntroduceVO extends BaseBiVO {
     @NotBlank(message = "请输入概念名称")
     private String name;
     @NotNull(message = "请输入概念词性")

+ 1 - 1
ltapi-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -16,7 +16,7 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class PushBaseVO {
+public class PushBaseVO extends BaseBiVO {
     @NotNull(message = "请输入年龄")
     private Integer age;
     @NotNull(message = "请输入性别")

+ 2 - 0
ltapi-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -1,5 +1,6 @@
 package com.diagbot.web;
 
+import com.diagbot.annotation.BiLogger;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.ConceptIntroduceDTO;
 import com.diagbot.dto.RespDTO;
@@ -35,6 +36,7 @@ public class ConceptDetailController {
                     "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
+    @BiLogger("LTAPT0002")
     public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {
         ConceptIntroduceDTO data = conceptDetailFacade.getConceptDetail(conceptIntroduceVO);
         return RespDTO.onSuc(data);

+ 2 - 0
ltapi-service/src/main/java/com/diagbot/web/PushController.java

@@ -1,5 +1,6 @@
 package com.diagbot.web;
 
+import com.diagbot.annotation.BiLogger;
 import com.diagbot.annotation.SysLogger;
 import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
@@ -60,6 +61,7 @@ public class PushController {
                     "otherOrder:其他下单项,多项用分号隔开,String<br>")
     @PostMapping("/push")
     @SysLogger("push")
+    @BiLogger("LTAPT0001")
     public RespDTO<PushDTO> push(@RequestBody @Valid PushVO pushVO) {
         return RespDTO.onSuc(pushFacade.push(pushVO));
     }