Browse Source

添加特殊处理的切面日志

zhoutg 5 years ago
parent
commit
a6355e6293

+ 2 - 0
data-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,6 +1,7 @@
 package com.diagbot.aop;
 
 import com.diagbot.annotation.BiLogger;
+import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
 import com.diagbot.rabbit.MySender;
 import com.diagbot.util.BeanUtil;
@@ -69,6 +70,7 @@ public class BiLoggerAspect {
 
         biRecord.setGmtCreate(new Date());
         biRecord.setProductType(ProductTypeEnum.DATA.getKey());
+        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 88 - 0
data-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -0,0 +1,88 @@
+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.rabbit.MySender;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.BaseBiVO;
+import com.diagbot.vo.BiRecord;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class 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());
+        }
+
+        //出参设置
+        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.setGmtCreate(new Date());
+        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
+        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
+}
+

+ 2 - 0
icss-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,6 +1,7 @@
 package com.diagbot.aop;
 
 import com.diagbot.annotation.BiLogger;
+import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
 import com.diagbot.rabbit.MySender;
 import com.diagbot.util.BeanUtil;
@@ -69,6 +70,7 @@ public class BiLoggerAspect {
 
         biRecord.setGmtCreate(new Date());
         biRecord.setProductType(ProductTypeEnum.ICSS.getKey());
+        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 88 - 0
icss-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -0,0 +1,88 @@
+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.rabbit.MySender;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.BaseBiVO;
+import com.diagbot.vo.BiRecord;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class 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());
+        }
+
+        //出参设置
+        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.setGmtCreate(new Date());
+        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
+        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
+}
+

+ 2 - 0
prec-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,6 +1,7 @@
 package com.diagbot.aop;
 
 import com.diagbot.annotation.BiLogger;
+import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
 import com.diagbot.rabbit.MySender;
 import com.diagbot.util.BeanUtil;
@@ -69,6 +70,7 @@ public class BiLoggerAspect {
 
         biRecord.setGmtCreate(new Date());
         biRecord.setProductType(ProductTypeEnum.PREC.getKey());
+        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 88 - 0
prec-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -0,0 +1,88 @@
+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.rabbit.MySender;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.BaseBiVO;
+import com.diagbot.vo.BiRecord;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class 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());
+        }
+
+        //出参设置
+        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.setGmtCreate(new Date());
+        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
+        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
+}
+

+ 2 - 0
triage-service/src/main/java/com/diagbot/aop/BiLoggerAspect.java

@@ -1,6 +1,7 @@
 package com.diagbot.aop;
 
 import com.diagbot.annotation.BiLogger;
+import com.diagbot.enums.BiSourceEnum;
 import com.diagbot.enums.ProductTypeEnum;
 import com.diagbot.rabbit.MySender;
 import com.diagbot.util.BeanUtil;
@@ -69,6 +70,7 @@ public class BiLoggerAspect {
 
         biRecord.setGmtCreate(new Date());
         biRecord.setProductType(ProductTypeEnum.TRIAGE.getKey());
+        biRecord.setSource(BiSourceEnum.BI_NORMAL.getKey());
         //保存BI日志
         mySender.outputBiLogSend(biRecord);
     }

+ 88 - 0
triage-service/src/main/java/com/diagbot/aop/BiLoggerResultAspect.java

@@ -0,0 +1,88 @@
+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.rabbit.MySender;
+import com.diagbot.util.BeanUtil;
+import com.diagbot.util.GsonUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.BaseBiVO;
+import com.diagbot.vo.BiRecord;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterReturning;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Date;
+
+/**
+ * @Description: 日志拦截切面
+ * @author: gaodm
+ * @time: 2018/8/2 13:36
+ */
+@Aspect
+@Component
+public class 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());
+        }
+
+        //出参设置
+        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.setGmtCreate(new Date());
+        biRecord.setProductType(ProductTypeEnum.LTAPI.getKey());
+        biRecord.setSource(BiSourceEnum.BI_RESULT.getKey());
+        //保存BI日志
+        mySender.outputBiLogSend(biRecord);
+    }
+}
+