Ver código fonte

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

gaodm 5 anos atrás
pai
commit
5a55e56359
65 arquivos alterados com 796 adições e 4021 exclusões
  1. 39 76
      aipt-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  2. 0 196
      aipt-service/src/main/java/com/diagbot/entity/SysLog.java
  3. 1 1
      aipt-service/src/main/java/com/diagbot/rabbit/MySender.java
  4. 4 41
      bi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  5. 1 1
      bi-service/src/main/java/com/diagbot/rabbit/MySender.java
  6. 6 0
      common/pom.xml
  7. 6 1
      common/src/main/java/com/diagbot/vo/BiRecord.java
  8. 82 0
      common/src/main/java/com/diagbot/log/entity/SysLog.java
  9. 314 0
      common/src/main/java/com/diagbot/util/AopUtil.java
  10. 22 50
      data-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  11. 22 60
      data-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java
  12. 4 41
      data-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  13. 0 192
      data-service/src/main/java/com/diagbot/entity/SysLog.java
  14. 2 2
      data-service/src/main/java/com/diagbot/rabbit/MySender.java
  15. 4 41
      diagbotman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  16. 4 42
      diagbotman-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java
  17. 0 196
      diagbotman-service/src/main/java/com/diagbot/entity/SysLog.java
  18. 1 1
      diagbotman-service/src/main/java/com/diagbot/rabbit/MySender.java
  19. 4 41
      feedback-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  20. 1 1
      feedback-service/src/main/java/com/diagbot/rabbit/MySender.java
  21. 0 192
      gateway-service/src/main/java/com/diagbot/entity/SysLog.java
  22. 1 1
      gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java
  23. 1 1
      gateway-service/src/main/java/com/diagbot/rabbit/MySender.java
  24. 22 50
      icss-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  25. 22 60
      icss-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java
  26. 4 41
      icss-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  27. 4 42
      icss-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java
  28. 0 196
      icss-service/src/main/java/com/diagbot/entity/SysLog.java
  29. 2 2
      icss-service/src/main/java/com/diagbot/rabbit/MySender.java
  30. 4 41
      icssman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  31. 0 196
      icssman-service/src/main/java/com/diagbot/entity/SysLog.java
  32. 1 1
      icssman-service/src/main/java/com/diagbot/rabbit/MySender.java
  33. 4 41
      knowledgeman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  34. 4 42
      knowledgeman-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java
  35. 0 196
      knowledgeman-service/src/main/java/com/diagbot/entity/SysLog.java
  36. 1 1
      knowledgeman-service/src/main/java/com/diagbot/rabbit/MySender.java
  37. 4 41
      log-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  38. 15 1
      log-service/src/main/java/com/diagbot/entity/BiRecord.java
  39. 2 2
      log-service/src/main/java/com/diagbot/rabbit/MySender.java
  40. 24 0
      log-service/src/main/resources/mapper/BiRecordMapper.xml
  41. 22 50
      ltapi-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  42. 17 156
      ltapi-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java
  43. 4 41
      ltapi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  44. 0 192
      ltapi-service/src/main/java/com/diagbot/entity/SysLog.java
  45. 2 2
      ltapi-service/src/main/java/com/diagbot/rabbit/MySender.java
  46. 22 50
      prec-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  47. 22 60
      prec-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java
  48. 4 41
      prec-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  49. 0 196
      prec-service/src/main/java/com/diagbot/entity/SysLog.java
  50. 2 2
      prec-service/src/main/java/com/diagbot/rabbit/MySender.java
  51. 4 41
      precman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  52. 0 196
      precman-service/src/main/java/com/diagbot/entity/SysLog.java
  53. 1 1
      precman-service/src/main/java/com/diagbot/rabbit/MySender.java
  54. 4 41
      tran-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  55. 0 196
      tran-service/src/main/java/com/diagbot/entity/SysLog.java
  56. 1 1
      tran-service/src/main/java/com/diagbot/rabbit/MySender.java
  57. 22 50
      triage-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java
  58. 22 60
      triage-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java
  59. 4 41
      triage-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  60. 0 192
      triage-service/src/main/java/com/diagbot/entity/SysLog.java
  61. 2 2
      triage-service/src/main/java/com/diagbot/rabbit/MySender.java
  62. 4 41
      user-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java
  63. 4 42
      user-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java
  64. 0 196
      user-service/src/main/java/com/diagbot/entity/SysLog.java
  65. 1 1
      user-service/src/main/java/com/diagbot/rabbit/MySender.java

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

@@ -1,76 +1,39 @@
-//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.AIPT_SERVICE.getKey());
-//        //保存系统日志
-//        mySender.outputLogSend(sysLog);
-//    }
-//
-//}
-//
+package com.diagbot.aop;
+
+import com.diagbot.log.entity.SysLog;
+import com.diagbot.enums.SysTypeEnum;
+import com.diagbot.rabbit.MySender;
+import com.diagbot.util.AopUtil;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @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) {
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.AIPT_SERVICE.getKey());
+        //保存系统日志
+        mySender.outputLogSend(sysLog);
+    }
+
+}
+

+ 0 - 196
aipt-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
aipt-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 4 - 41
bi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.BI_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.BI_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 1 - 1
bi-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 6 - 0
common/pom.xml

@@ -114,6 +114,12 @@
             <scope>compile</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+            <version>1.9.4</version>
+        </dependency>
+
         <!--<dependency>-->
             <!--<groupId>com.fasterxml.jackson.core</groupId>-->
             <!--<artifactId>jackson-core</artifactId>-->

+ 6 - 1
common/src/main/java/com/diagbot/vo/BiRecord.java

@@ -1,4 +1,4 @@
-package com.diagbot.vo;
+package com.diagbot.log.entity;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -79,6 +79,11 @@ public class BiRecord {
      */
     private String result;
 
+    /**
+     * 调用是否成功(0:失败;1:成功)
+     */
+    private Integer successFlag;
+
     /**
      * 来源(1:后台接口-无处理;2:后台接口-结果特殊处理;3:前端)
      */

+ 82 - 0
common/src/main/java/com/diagbot/log/entity/SysLog.java

@@ -0,0 +1,82 @@
+package com.diagbot.log.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 系统操作日志表
+ * </p>
+ *
+ * @author gaodm
+ * @since 2018-09-14
+ */
+@Getter
+@Setter
+public class SysLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 日志ID
+     */
+    private Long id;
+
+    /**
+     * 是否删除,N:未删除,Y:删除
+     */
+    private String isDeleted;
+
+    /**
+     * 记录创建时间
+     */
+    private Date gmtCreate;
+
+    /**
+     * 记录修改时间,如果时间是1970年则表示纪录未修改
+     */
+    private Date gmtModified;
+
+    /**
+     * 创建人,0表示无创建人值
+     */
+    private String creator;
+
+    /**
+     * 修改人,如果为0则表示纪录未修改
+     */
+    private String modifier;
+
+    /**
+     * 访问者的IP
+     */
+    private String ip;
+
+    /**
+     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
+     */
+    private Integer sysType;
+
+    /**
+     * 方法
+     */
+    private String method;
+
+    /**
+     * 操作名
+     */
+    private String operation;
+
+    /**
+     * 参数
+     */
+    private String params;
+
+    /**
+     * 用户名
+     */
+    private String username;
+}

+ 314 - 0
common/src/main/java/com/diagbot/util/AopUtil.java

@@ -0,0 +1,314 @@
+package com.diagbot.util;
+
+import com.diagbot.annotation.BiLogger;
+import com.diagbot.annotation.BiLoggerResult;
+import com.diagbot.annotation.SysLogger;
+import com.diagbot.annotation.SysLoggerExport;
+import com.diagbot.dto.RespDTO;
+import com.diagbot.enums.BiSourceEnum;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.entity.SysLog;
+import com.diagbot.vo.BaseBiVO;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.validation.BindException;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.MissingServletRequestParameterException;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/11/12 18:17
+ */
+public class AopUtil {
+    /**
+     * SysLoggerAspect入参设置
+     *
+     * @param joinPoint
+     * @param sysType
+     */
+    public static SysLog SysLoggerAspect(JoinPoint joinPoint, Integer sysType) {
+        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(sysType);
+        return sysLog;
+    }
+
+    /**
+     * SysLoggerExprotAspect入参设置
+     *
+     * @param joinPoint
+     * @param sysType
+     */
+    public static SysLog SysLoggerExprotAspect(JoinPoint joinPoint, Integer sysType) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+
+        SysLog sysLog = new SysLog();
+        SysLoggerExport sysLogger = method.getAnnotation(SysLoggerExport.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);
+            break;
+        }
+        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.setGmtCreate(new Date());
+        sysLog.setSysType(sysType);
+        return sysLog;
+    }
+
+    /**
+     * Bi日志有返回值处理(普通)
+     *
+     * @param joinPoint
+     * @param keys
+     * @param productType
+     * @return
+     */
+    public static BiRecord BiLoggerAspect(JoinPoint joinPoint, Object keys, Integer productType) {
+        BiRecord biRecord = new BiRecord();
+        if (!biRecordSet(biRecord, joinPoint, productType, BiSourceEnum.BI_NORMAL.getKey())) {
+            return null;
+        }
+        //出参设置
+        String result = "";
+        result = GsonUtil.toJson(keys);
+        if (!StringUtil.isEmpty(result)) {
+            biRecord.setResult(result);
+        }
+        biRecord.setSuccessFlag(1);
+        return biRecord;
+    }
+
+    /**
+     * Bi日志异常统一处理(普通)
+     *
+     * @param joinPoint
+     * @param ex
+     * @param productType
+     * @return
+     */
+    public static BiRecord BiLoggerAspectThrow(JoinPoint joinPoint, Throwable ex, Integer productType) {
+        BiRecord biRecord = new BiRecord();
+        if (!biRecordSet(biRecord, joinPoint, productType, BiSourceEnum.BI_NORMAL.getKey())) {
+            return null;
+        }
+        //出参设置
+        String result = "";
+        result = GsonUtil.toJson(handleException((Exception) ex));
+        biRecord.setResult(result);
+        biRecord.setSuccessFlag(0);
+        return biRecord;
+    }
+
+    /**
+     * Bi日志有返回值处理(特殊)
+     *
+     * @param joinPoint
+     * @param keys
+     * @param productType
+     * @return
+     */
+    public static BiRecord BiLoggerResultAspect(JoinPoint joinPoint, Object keys, Integer productType) {
+        BiRecord biRecord = new BiRecord();
+        if (!biRecordSet(biRecord, joinPoint, productType, BiSourceEnum.BI_RESULT.getKey())) {
+            return null;
+        }
+        //出参设置
+        String result = "";
+        if (keys instanceof RespDTO) {
+            RespDTO respDTO = (RespDTO) keys;
+            RespDTO rs = new RespDTO();
+            rs.code = respDTO.code;
+            rs.msg = respDTO.msg;
+            rs.data = new Object();
+            result = GsonUtil.toJson(rs);
+        } else {
+            result = GsonUtil.toJson(keys);
+        }
+        if (!StringUtil.isEmpty(result)) {
+            biRecord.setResult(result);
+        }
+        biRecord.setSuccessFlag(1);
+        return biRecord;
+    }
+
+    /**
+     * Bi日志异常统一处理(特殊)
+     *
+     * @param joinPoint
+     * @param ex
+     * @param productType
+     * @return
+     */
+    public static BiRecord BiLoggerResultAspectThrow(JoinPoint joinPoint, Throwable ex, Integer productType) {
+        BiRecord biRecord = new BiRecord();
+        if (!biRecordSet(biRecord, joinPoint, productType, BiSourceEnum.BI_RESULT.getKey())) {
+            return null;
+        }
+        //出参设置
+        String result = "";
+        result = GsonUtil.toJson(handleException((Exception) ex));
+        biRecord.setResult(result);
+        biRecord.setSuccessFlag(0);
+        return biRecord;
+    }
+
+    /**
+     * 消息设定
+     *
+     * @param biRecord
+     * @param joinPoint
+     * @return 是否可以继续下去
+     */
+    private static Boolean biRecordSet(BiRecord biRecord, JoinPoint joinPoint,
+                                       Integer productType, Integer biSourceType) {
+        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
+        Method method = signature.getMethod();
+        //请求的参数
+        Object[] args = joinPoint.getArgs();
+        String params = "";
+        for (Object o : args) {
+            if (o instanceof BaseBiVO) {
+                BaseBiVO baseBiVO = (BaseBiVO) o;
+                if (StringUtil.isBlank(baseBiVO.getHospitalCode())) {
+                    return false;
+                } else {
+                    BeanUtil.copyProperties(baseBiVO, biRecord);
+                }
+            }
+            params += GsonUtil.toJson(o);
+        }
+        if (!StringUtil.isEmpty(params)) {
+            biRecord.setParams(params);
+        }
+
+        //设置功能编码
+        if (biSourceType.equals(BiSourceEnum.BI_NORMAL.getKey())) {
+            BiLogger biLogger = method.getAnnotation(BiLogger.class);
+            if (biLogger != null) {
+                //注解上的描述
+                biRecord.setCode(biLogger.value());
+            }
+        } else if (biSourceType.equals(BiSourceEnum.BI_RESULT.getKey())) {
+            BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
+            if (biLoggerResult != null) {
+                //注解上的描述
+                biRecord.setCode(biLoggerResult.value());
+            }
+        } else {
+            return false;
+        }
+        biRecord.setGmtCreate(new Date());
+        biRecord.setProductType(productType);
+        biRecord.setSource(biSourceType);
+        return true;
+    }
+
+    /**
+     * 抛错信息处理
+     *
+     * @param e
+     * @return 结果参数
+     */
+    private static RespDTO handleException(Exception e) {
+        RespDTO resp = new RespDTO();
+        if (e instanceof BindException) {
+            BindException ex = (BindException) e;
+            Map<String, String> stringMap = new HashMap<>();
+            for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
+                stringMap.put(fieldError.getField(), fieldError.getDefaultMessage());
+            }
+            String msg = GsonUtil.toJson(stringMap);
+            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
+            resp.msg = msg;
+            return resp;
+        }
+        if (e instanceof MethodArgumentNotValidException) {
+            MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
+            Map<String, String> stringMap = new HashMap<>();
+            for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
+                stringMap.put(fieldError.getField(), fieldError.getDefaultMessage());
+            }
+            String msg = GsonUtil.toJson(stringMap);
+            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
+            resp.msg = msg;
+            return resp;
+        }
+        if (e instanceof MissingServletRequestParameterException) {
+            MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
+            Map<String, String> stringMap = new HashMap<>();
+            stringMap.put(ex.getParameterName(), "不能为null");
+            String msg = GsonUtil.toJson(stringMap);
+            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
+            resp.msg = msg;
+            return resp;
+        }
+        if (e instanceof CommonException) {
+            CommonException taiChiException = (CommonException) e;
+            resp.code = taiChiException.getCode();
+            resp.msg = e.getMessage();
+            return resp;
+        }
+        resp.code = CommonErrorCode.FAIL.getCode();
+        resp.msg = e.getMessage();
+        e.printStackTrace();
+        return resp;
+    }
+}

+ 22 - 50
data-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,28 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLogger;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -30,47 +23,26 @@ 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLogger)")
+    public void biPointCut() {
+    }
 
-        //设置功能编码
-        BiLogger biLogger = method.getAnnotation(BiLogger.class);
-        if (biLogger != null) {
-            //注解上的描述
-            biRecord.setCode(biLogger.value());
+    @AfterReturning(value = "biPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerAspect(joinPoint, keys, ProductTypeEnum.DATA.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(keys);
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerAspectThrow(joinPoint, ex, ProductTypeEnum.DATA.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.DATA.getKey());
-        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 22 - 60
data-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -1,29 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLoggerResult;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志结果特殊处理拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -31,56 +23,26 @@ public class BiLoggerResultAspect {
     @Autowired
     private MySender mySender;
 
-    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLoggerResult)", 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLoggerResult)")
+    public void biResultPointCut() {
+    }
 
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
+    @AfterReturning(value = "biResultPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspect(joinPoint, keys, ProductTypeEnum.DATA.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        if (keys instanceof RespDTO) {
-            RespDTO respDTO = (RespDTO) keys;
-            RespDTO rs = new RespDTO();
-            rs.code = respDTO.code;
-            rs.msg = respDTO.msg;
-            rs.data = new Object();
-            result = GsonUtil.toJson(rs);
-        } else {
-            result = GsonUtil.toJson(keys);
-        }
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biResultPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspectThrow(joinPoint, ex, ProductTypeEnum.DATA.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.DATA.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 4 - 41
data-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.DATA_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.DATA_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 192
data-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,192 +0,0 @@
-package com.diagbot.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 日志ID
-     */
-    private Long id;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    /**
-     * 记录创建时间
-     */
-    private Date gmtCreate;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private Date gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 2 - 2
data-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.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;

+ 4 - 41
diagbotman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.DIAGBOTMAN_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.DIAGBOTMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 4 - 42
diagbotman-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLoggerExport;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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: 日志拦截切面(Excel导出用)
  * @author: gaodm
@@ -37,38 +29,8 @@ public class SysLoggerExprotAspect {
 
     @Before("loggerPointCut()")
     public void saveSysLog(JoinPoint joinPoint) {
-        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-        Method method = signature.getMethod();
-
-        SysLog sysLog = new SysLog();
-        SysLoggerExport sysLogger = method.getAnnotation(SysLoggerExport.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);
-            break;
-        }
-        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.DIAGBOTMAN_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerExprotAspect(joinPoint, SysTypeEnum.DIAGBOTMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
diagbotman-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
diagbotman-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 4 - 41
feedback-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.FEEDBACK_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.FEEDBACK_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 1 - 1
feedback-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 0 - 192
gateway-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,192 +0,0 @@
-package com.diagbot.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 日志ID
-     */
-    private Long id;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    /**
-     * 记录创建时间
-     */
-    private Date gmtCreate;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private Date gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
gateway-service/src/main/java/com/diagbot/filter/GlobalGatewayFilter.java

@@ -5,9 +5,9 @@ import com.diagbot.dto.RespDTO;
 import com.diagbot.entity.HasPermissionDTO;
 import com.diagbot.entity.ServiceFilter;
 import com.diagbot.entity.ServiceToken;
-import com.diagbot.entity.SysLog;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.rabbit.MySender;
 import com.diagbot.util.EnDecodeUtil;
 import com.diagbot.util.GsonUtil;

+ 1 - 1
gateway-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 22 - 50
icss-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,28 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLogger;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -30,47 +23,26 @@ 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLogger)")
+    public void biPointCut() {
+    }
 
-        //设置功能编码
-        BiLogger biLogger = method.getAnnotation(BiLogger.class);
-        if (biLogger != null) {
-            //注解上的描述
-            biRecord.setCode(biLogger.value());
+    @AfterReturning(value = "biPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerAspect(joinPoint, keys, ProductTypeEnum.ICSS.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(keys);
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerAspectThrow(joinPoint, ex, ProductTypeEnum.ICSS.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.ICSS.getKey());
-        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 22 - 60
icss-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -1,29 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLoggerResult;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志结果特殊处理拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -31,56 +23,26 @@ public class BiLoggerResultAspect {
     @Autowired
     private MySender mySender;
 
-    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLoggerResult)", 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLoggerResult)")
+    public void biResultPointCut() {
+    }
 
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
+    @AfterReturning(value = "biResultPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspect(joinPoint, keys, ProductTypeEnum.ICSS.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        if (keys instanceof RespDTO) {
-            RespDTO respDTO = (RespDTO) keys;
-            RespDTO rs = new RespDTO();
-            rs.code = respDTO.code;
-            rs.msg = respDTO.msg;
-            rs.data = new Object();
-            result = GsonUtil.toJson(rs);
-        } else {
-            result = GsonUtil.toJson(keys);
-        }
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biResultPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspectThrow(joinPoint, ex, ProductTypeEnum.ICSS.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.ICSS.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 4 - 41
icss-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.ICSS_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.ICSS_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 4 - 42
icss-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLoggerExport;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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: 日志拦截切面(Excel导出用)
  * @author: gaodm
@@ -37,38 +29,8 @@ public class SysLoggerExprotAspect {
 
     @Before("loggerPointCut()")
     public void saveSysLog(JoinPoint joinPoint) {
-        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-        Method method = signature.getMethod();
-
-        SysLog sysLog = new SysLog();
-        SysLoggerExport sysLogger = method.getAnnotation(SysLoggerExport.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);
-            break;
-        }
-        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.ICSS_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerExprotAspect(joinPoint, SysTypeEnum.ICSS_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
icss-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 2 - 2
icss-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
-import com.diagbot.vo.BiRecord;
 import com.diagbot.vo.BuriedSomeStatisticalVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 4 - 41
icssman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.ICSSMAN_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.ICSSMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
icssman-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
icssman-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

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

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.KNOWLEDGEMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 4 - 42
knowledgeman-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLoggerExport;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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: 日志拦截切面(Excel导出用)
  * @author: gaodm
@@ -37,38 +29,8 @@ public class SysLoggerExprotAspect {
 
     @Before("loggerPointCut()")
     public void saveSysLog(JoinPoint joinPoint) {
-        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-        Method method = signature.getMethod();
-
-        SysLog sysLog = new SysLog();
-        SysLoggerExport sysLogger = method.getAnnotation(SysLoggerExport.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);
-            break;
-        }
-        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());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerExprotAspect(joinPoint, SysTypeEnum.KNOWLEDGEMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
knowledgeman-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
knowledgeman-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 4 - 41
log-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.LOG_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.LOG_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 15 - 1
log-service/src/main/java/com/diagbot/entity/BiRecord.java

@@ -13,7 +13,7 @@ import java.util.Date;
  * </p>
  *
  * @author gaodm
- * @since 2019-11-11
+ * @since 2019-11-12
  */
 @TableName("log_bi_record")
 public class BiRecord implements Serializable {
@@ -86,6 +86,11 @@ public class BiRecord implements Serializable {
      */
     private String result;
 
+    /**
+     * 调用是否成功(0:失败;1:成功)
+     */
+    private Integer successFlag;
+
     /**
      * 来源(1:后台接口-无处理;2:后台接口-结果特殊处理;3:前端)
      */
@@ -195,6 +200,14 @@ public class BiRecord implements Serializable {
         this.result = result;
     }
 
+    public Integer getSuccessFlag() {
+        return successFlag;
+    }
+
+    public void setSuccessFlag(Integer successFlag) {
+        this.successFlag = successFlag;
+    }
+
     public Integer getSource() {
         return source;
     }
@@ -219,6 +232,7 @@ public class BiRecord implements Serializable {
                 ", code=" + code +
                 ", params=" + params +
                 ", result=" + result +
+                ", successFlag=" + successFlag +
                 ", source=" + source +
                 "}";
     }

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

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.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;

+ 24 - 0
log-service/src/main/resources/mapper/BiRecordMapper.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.BiRecordMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.diagbot.entity.BiRecord">
+        <id column="id" property="id" />
+        <result column="is_deleted" property="isDeleted" />
+        <result column="gmt_create" property="gmtCreate" />
+        <result column="gmt_modified" property="gmtModified" />
+        <result column="creator" property="creator" />
+        <result column="modifier" property="modifier" />
+        <result column="hospital_code" property="hospitalCode" />
+        <result column="doctor_code" property="doctorCode" />
+        <result column="dept_code" property="deptCode" />
+        <result column="product_type" property="productType" />
+        <result column="code" property="code" />
+        <result column="params" property="params" />
+        <result column="result" property="result" />
+        <result column="success_flag" property="successFlag" />
+        <result column="source" property="source" />
+    </resultMap>
+
+</mapper>

+ 22 - 50
ltapi-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,28 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLogger;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -30,47 +23,26 @@ 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLogger)")
+    public void biPointCut() {
+    }
 
-        //设置功能编码
-        BiLogger biLogger = method.getAnnotation(BiLogger.class);
-        if (biLogger != null) {
-            //注解上的描述
-            biRecord.setCode(biLogger.value());
+    @AfterReturning(value = "biPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerAspect(joinPoint, keys, ProductTypeEnum.LTAPI.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(keys);
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerAspectThrow(joinPoint, ex, ProductTypeEnum.LTAPI.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
-        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 17 - 156
ltapi-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -1,40 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLoggerResult;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
-import com.diagbot.exception.CommonErrorCode;
-import com.diagbot.exception.CommonException;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
 import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
-import org.springframework.validation.BindException;
-import org.springframework.validation.FieldError;
-import org.springframework.web.bind.MethodArgumentNotValidException;
-import org.springframework.web.bind.MissingServletRequestParameterException;
-
-import java.lang.reflect.Method;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
 
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志结果特殊处理拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -42,148 +23,28 @@ public class BiLoggerResultAspect {
     @Autowired
     private MySender mySender;
 
-    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLoggerResult)", 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);
-        }
-
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLoggerResult)")
+    public void biResultPointCut() {
+    }
 
-        //出参设置
-        String result = "";
-        if (keys instanceof RespDTO) {
-            RespDTO respDTO = (RespDTO) keys;
-            RespDTO rs = new RespDTO();
-            rs.code = respDTO.code;
-            rs.msg = respDTO.msg;
-            rs.data = new Object();
-            result = GsonUtil.toJson(rs);
-        } else {
-            result = GsonUtil.toJson(keys);
-        }
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterReturning(value = "biResultPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspect(joinPoint, keys, ProductTypeEnum.LTAPI.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }
 
-    @AfterThrowing(throwing="ex"
-            , pointcut="@annotation(com.diagbot.annotation.BiLoggerResult)")
+    @AfterThrowing(pointcut = "biResultPointCut()", throwing = "ex")
     public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
-        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);
+        BiRecord biRecord = AopUtil.BiLoggerResultAspectThrow(joinPoint, ex, ProductTypeEnum.LTAPI.getKey());
+        if (null == biRecord) {
+            return;
         }
-        if (!StringUtil.isEmpty(params)) {
-            biRecord.setParams(params);
-        }
-
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
-        }
-
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(handleException((Exception)ex));
-        biRecord.setResult(result);
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }
-
-
-    private RespDTO handleException(Exception e) {
-        RespDTO resp = new RespDTO();
-        if (e instanceof BindException) {
-            BindException ex = (BindException) e;
-            Map<String, String> stringMap = new HashMap<>();
-            for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
-                stringMap.put(fieldError.getField(), fieldError.getDefaultMessage());
-            }
-            String msg = GsonUtil.toJson(stringMap);
-            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
-            resp.msg = msg;
-            return resp;
-        }
-        if (e instanceof MethodArgumentNotValidException) {
-            MethodArgumentNotValidException ex = (MethodArgumentNotValidException) e;
-            Map<String, String> stringMap = new HashMap<>();
-            for (FieldError fieldError : ex.getBindingResult().getFieldErrors()) {
-                stringMap.put(fieldError.getField(), fieldError.getDefaultMessage());
-            }
-            String msg = GsonUtil.toJson(stringMap);
-            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
-            resp.msg = msg;
-            return resp;
-        }
-        if (e instanceof MissingServletRequestParameterException) {
-            MissingServletRequestParameterException ex = (MissingServletRequestParameterException) e;
-            Map<String, String> stringMap = new HashMap<>();
-            stringMap.put(ex.getParameterName(), "不能为null");
-            String msg = GsonUtil.toJson(stringMap);
-            resp.code = CommonErrorCode.PARAM_ERROR.getCode();
-            resp.msg = msg;
-            return resp;
-        }
-        if (e instanceof CommonException) {
-            CommonException taiChiException = (CommonException) e;
-            resp.code = taiChiException.getCode();
-            resp.msg = e.getMessage();
-            return resp;
-        }
-        resp.code = CommonErrorCode.FAIL.getCode();
-        resp.msg = e.getMessage();
-        e.printStackTrace();
-        return resp;
-    }
 }
 

+ 4 - 41
ltapi-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.LTAPI_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.LTAPI_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 192
ltapi-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,192 +0,0 @@
-package com.diagbot.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 日志ID
-     */
-    private Long id;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    /**
-     * 记录创建时间
-     */
-    private Date gmtCreate;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private Date gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

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

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.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;

+ 22 - 50
prec-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,28 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLogger;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -30,47 +23,26 @@ 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLogger)")
+    public void biPointCut() {
+    }
 
-        //设置功能编码
-        BiLogger biLogger = method.getAnnotation(BiLogger.class);
-        if (biLogger != null) {
-            //注解上的描述
-            biRecord.setCode(biLogger.value());
+    @AfterReturning(value = "biPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerAspect(joinPoint, keys, ProductTypeEnum.PREC.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(keys);
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerAspectThrow(joinPoint, ex, ProductTypeEnum.PREC.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.PREC.getKey());
-        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 22 - 60
prec-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -1,29 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLoggerResult;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志结果特殊处理拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -31,56 +23,26 @@ public class BiLoggerResultAspect {
     @Autowired
     private MySender mySender;
 
-    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLoggerResult)", 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLoggerResult)")
+    public void biResultPointCut() {
+    }
 
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
+    @AfterReturning(value = "biResultPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspect(joinPoint, keys, ProductTypeEnum.PREC.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        if (keys instanceof RespDTO) {
-            RespDTO respDTO = (RespDTO) keys;
-            RespDTO rs = new RespDTO();
-            rs.code = respDTO.code;
-            rs.msg = respDTO.msg;
-            rs.data = new Object();
-            result = GsonUtil.toJson(rs);
-        } else {
-            result = GsonUtil.toJson(keys);
-        }
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biResultPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspectThrow(joinPoint, ex, ProductTypeEnum.PREC.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.PREC.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 4 - 41
prec-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.PREC_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.PREC_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
prec-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 2 - 2
prec-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.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;

+ 4 - 41
precman-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.PRECMAN_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.PRECMAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
precman-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
precman-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 4 - 41
tran-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.TRAN_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.TRAN_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
tran-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
tran-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;

+ 22 - 50
triage-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,28 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLogger;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -30,47 +23,26 @@ 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLogger)")
+    public void biPointCut() {
+    }
 
-        //设置功能编码
-        BiLogger biLogger = method.getAnnotation(BiLogger.class);
-        if (biLogger != null) {
-            //注解上的描述
-            biRecord.setCode(biLogger.value());
+    @AfterReturning(value = "biPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerAspect(joinPoint, keys, ProductTypeEnum.TRIAGE.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        result = GsonUtil.toJson(keys);
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerAspectThrow(joinPoint, ex, ProductTypeEnum.TRIAGE.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.TRIAGE.getKey());
-        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 22 - 60
triage-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -1,29 +1,21 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.BiLoggerResult;
-import com.diagbot.dto.RespDTO;
-import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
+import com.diagbot.log.entity.BiRecord;
 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 com.diagbot.util.AopUtil;
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.AfterThrowing;
 import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.reflect.MethodSignature;
+import org.aspectj.lang.annotation.Pointcut;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.lang.reflect.Method;
-import java.util.Date;
-
 /**
- * @Description: 日志拦截切面
+ * @Description: BI日志结果特殊处理拦截切面
  * @author: gaodm
- * @time: 2018/8/2 13:36
+ * @time: 2019/11/12 17:26
  */
 @Aspect
 @Component
@@ -31,56 +23,26 @@ public class BiLoggerResultAspect {
     @Autowired
     private MySender mySender;
 
-    @AfterReturning(value = "@annotation(com.diagbot.annotation.BiLoggerResult)", 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);
-        }
+    @Pointcut("@annotation(com.diagbot.annotation.BiLoggerResult)")
+    public void biResultPointCut() {
+    }
 
-        //设置功能编码
-        BiLoggerResult biLoggerResult = method.getAnnotation(BiLoggerResult.class);
-        if (biLoggerResult != null) {
-            //注解上的描述
-            biRecord.setCode(biLoggerResult.value());
+    @AfterReturning(value = "biResultPointCut()", returning = "keys")
+    public void saveBiRecord(JoinPoint joinPoint, Object keys) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspect(joinPoint, keys, ProductTypeEnum.TRIAGE.getKey());
+        if (null == biRecord) {
+            return;
         }
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
 
-        //出参设置
-        String result = "";
-        if (keys instanceof RespDTO) {
-            RespDTO respDTO = (RespDTO) keys;
-            RespDTO rs = new RespDTO();
-            rs.code = respDTO.code;
-            rs.msg = respDTO.msg;
-            rs.data = new Object();
-            result = GsonUtil.toJson(rs);
-        } else {
-            result = GsonUtil.toJson(keys);
-        }
-        if (!StringUtil.isEmpty(result)) {
-            biRecord.setResult(result);
+    @AfterThrowing(pointcut = "biResultPointCut()", throwing = "ex")
+    public void saveBiRecordThrow(JoinPoint joinPoint, Throwable ex) {
+        BiRecord biRecord = AopUtil.BiLoggerResultAspectThrow(joinPoint, ex, ProductTypeEnum.TRIAGE.getKey());
+        if (null == biRecord) {
+            return;
         }
-
-        biRecord.setGmtCreate(new Date());
-        biRecord.setProductType(ProductTypeEnum.TRIAGE.getKey());
-        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 4 - 41
triage-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.TRIAGE_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.TRIAGE_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 192
triage-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,192 +0,0 @@
-package com.diagbot.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * 日志ID
-     */
-    private Long id;
-
-    /**
-     * 是否删除,N:未删除,Y:删除
-     */
-    private String isDeleted;
-
-    /**
-     * 记录创建时间
-     */
-    private Date gmtCreate;
-
-    /**
-     * 记录修改时间,如果时间是1970年则表示纪录未修改
-     */
-    private Date gmtModified;
-
-    /**
-     * 创建人,0表示无创建人值
-     */
-    private String creator;
-
-    /**
-     * 修改人,如果为0则表示纪录未修改
-     */
-    private String modifier;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 2 - 2
triage-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,8 +1,8 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.BiRecord;
+import com.diagbot.log.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;

+ 4 - 41
user-service/src/main/java/com/diagbot/aop/SysLoggerAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLogger;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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
@@ -37,37 +29,8 @@ public class SysLoggerAspect {
 
     @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.USER_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerAspect(joinPoint, SysTypeEnum.USER_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 4 - 42
user-service/src/main/java/com/diagbot/aop/SysLoggerExprotAspect.java

@@ -1,24 +1,16 @@
 package com.diagbot.aop;
 
-import com.diagbot.annotation.SysLoggerExport;
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.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 com.diagbot.util.AopUtil;
 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: 日志拦截切面(Excel导出用)
  * @author: gaodm
@@ -37,38 +29,8 @@ public class SysLoggerExprotAspect {
 
     @Before("loggerPointCut()")
     public void saveSysLog(JoinPoint joinPoint) {
-        MethodSignature signature = (MethodSignature) joinPoint.getSignature();
-        Method method = signature.getMethod();
-
-        SysLog sysLog = new SysLog();
-        SysLoggerExport sysLogger = method.getAnnotation(SysLoggerExport.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);
-            break;
-        }
-        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.USER_SERVICE.getKey());
+        //入参设置
+        SysLog sysLog = AopUtil.SysLoggerExprotAspect(joinPoint, SysTypeEnum.USER_SERVICE.getKey());
         //保存系统日志
         mySender.outputLogSend(sysLog);
     }

+ 0 - 196
user-service/src/main/java/com/diagbot/entity/SysLog.java

@@ -1,196 +0,0 @@
-package com.diagbot.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- * 系统操作日志表
- * </p>
- *
- * @author gaodm
- * @since 2018-09-14
- */
-public class SysLog 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;
-
-    /**
-     * 访问者的IP
-     */
-    private String ip;
-
-    /**
-     * 访问的系统类型 1:user-service,2:diagbotman-service,3:uaa-service,4:log-service,5:bi-service,6:knowledge-service,7:feedback-service,8:icss-web
-     */
-    private Integer sysType;
-
-    /**
-     * 方法
-     */
-    private String method;
-
-    /**
-     * 操作名
-     */
-    private String operation;
-
-    /**
-     * 参数
-     */
-    private String params;
-
-    /**
-     * 用户名
-     */
-    private String username;
-
-
-    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 getIp() {
-        return ip;
-    }
-
-    public void setIp(String ip) {
-        this.ip = ip;
-    }
-
-    public Integer getSysType() {
-        return sysType;
-    }
-
-    public void setSysType(Integer sysType) {
-        this.sysType = sysType;
-    }
-
-    public String getMethod() {
-        return method;
-    }
-
-    public void setMethod(String method) {
-        this.method = method;
-    }
-
-    public String getOperation() {
-        return operation;
-    }
-
-    public void setOperation(String operation) {
-        this.operation = operation;
-    }
-
-    public String getParams() {
-        return params;
-    }
-
-    public void setParams(String params) {
-        this.params = params;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    @Override
-    public String toString() {
-        return "SysLog{" +
-                "id=" + id +
-                ", isDeleted=" + isDeleted +
-                ", gmtCreate=" + gmtCreate +
-                ", gmtModified=" + gmtModified +
-                ", creator=" + creator +
-                ", modifier=" + modifier +
-                ", ip=" + ip +
-                ", sysType=" + sysType +
-                ", method=" + method +
-                ", operation=" + operation +
-                ", params=" + params +
-                ", username=" + username +
-                "}";
-    }
-}

+ 1 - 1
user-service/src/main/java/com/diagbot/rabbit/MySender.java

@@ -1,6 +1,6 @@
 package com.diagbot.rabbit;
 
-import com.diagbot.entity.SysLog;
+import com.diagbot.log.entity.SysLog;
 import com.diagbot.util.GsonUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;