|
@@ -0,0 +1,69 @@
|
|
|
+package com.jiayue.ipfcst.config;
|
|
|
+
|
|
|
+import cn.hutool.core.io.FileUtil;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.aspectj.lang.ProceedingJoinPoint;
|
|
|
+import org.aspectj.lang.annotation.Around;
|
|
|
+import org.aspectj.lang.annotation.Aspect;
|
|
|
+import org.aspectj.lang.annotation.Pointcut;
|
|
|
+import org.aspectj.lang.reflect.MethodSignature;
|
|
|
+import org.springframework.context.ApplicationContext;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+import org.springframework.web.context.request.RequestAttributes;
|
|
|
+import org.springframework.web.context.request.RequestContextHolder;
|
|
|
+
|
|
|
+import java.io.File;
|
|
|
+import java.lang.reflect.Method;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Aspect
|
|
|
+@Component
|
|
|
+@Slf4j
|
|
|
+public class InitWithSprare2 extends BaseInfo {
|
|
|
+
|
|
|
+ private final ApplicationContext applicationContext;
|
|
|
+ private final File resultFile = getResultFile();
|
|
|
+
|
|
|
+ public InitWithSprare2(ApplicationContext applicationContext) {
|
|
|
+ this.applicationContext = applicationContext;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 文件生成定时任务启动前,初始化spare2相关操作
|
|
|
+ */
|
|
|
+ @Pointcut(value = "execution(* com.jiayue.ipfcst.ConsoleApplication+.schedulerFactoryBean(..)) ")
|
|
|
+ public void pointCut() {
|
|
|
+ }
|
|
|
+
|
|
|
+ @Around("pointCut()")
|
|
|
+ public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
|
|
|
+ //log.info("--------------------------------开始 初始化spare2 拦截器--------------------------------");
|
|
|
+ //MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
|
|
+ //Method method = signature.getMethod();
|
|
|
+ //RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
|
|
+ // 记录下请求内容
|
|
|
+ log.info("请求方法: {}.{}", joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName());
|
|
|
+ log.info("请求入参: {} ", Arrays.toString(joinPoint.getArgs()));
|
|
|
+ //
|
|
|
+ //防止文件重复生成,停止spare2文件生成
|
|
|
+ log.info("{}", "------------------------------- 开始 停止 spare2 文件生成 -------------------------------");
|
|
|
+
|
|
|
+ log.info("{}", "------------------------------- 结束 停止 spare2 文件生成 -------------------------------");
|
|
|
+ //扫描 result 目录,查看是否有需要入库数据
|
|
|
+ log.info("{}", "------------------------------- 开始补录spare2生成文件记录 -------------------------------");
|
|
|
+ List<File> files = FileUtil.loopFiles(resultFile);
|
|
|
+ log.info("准备补录spare2生成文件记录条数:{}", files.size());
|
|
|
+ files.forEach(file -> {
|
|
|
+
|
|
|
+ });
|
|
|
+ log.info("{}", "------------------------------- 结束补录spare2生成文件记录 -------------------------------");
|
|
|
+ //
|
|
|
+ //log.info("--------------------------------结束 初始化spare2 拦截器--------------------------------");
|
|
|
+ //初始化定时调度
|
|
|
+ Object result = joinPoint.proceed();
|
|
|
+ //log.info("返回结果: {} ", result);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|