Ver Fonte

fix: 增加净值振幅检测任务跑批记录

chenjianhua há 4 meses atrás
pai
commit
82cf66fa2b

+ 2 - 1
service-base/src/main/java/com/simuwang/base/common/enums/TaskType.java

@@ -12,7 +12,8 @@ import lombok.Getter;
 public enum TaskType {
     EMAIL_PARSE(1, "邮件解析"),
     DELETION_COMPUTE(2, "缺失计算"),
-    DELETION_NOTIFICATIONS(3, "缺失明细通知");
+    DELETION_NOTIFICATIONS(3, "缺失明细通知"),
+    NAV_AMPLITUDE(4, "净值振幅检测任务");
 
     private final int type;
     private final String info;

+ 45 - 0
service-manage/src/main/java/com/simuwang/manage/task/NavAmplitudeTask.java

@@ -2,11 +2,15 @@ package com.simuwang.manage.task;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.simuwang.base.common.conts.NavParseStatusConst;
+import com.simuwang.base.common.enums.TaskType;
 import com.simuwang.base.common.util.DateUtils;
+import com.simuwang.base.mapper.daq.EmailTaskInfoMapper;
 import com.simuwang.base.mapper.daq.NavMapper;
 import com.simuwang.base.pojo.dos.EmailFundNavDO;
+import com.simuwang.base.pojo.dos.EmailTaskInfoDO;
 import com.simuwang.base.pojo.dos.NavDO;
 import com.simuwang.manage.service.EmailFundNavService;
+import com.simuwang.shiro.utils.UserUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,8 +34,11 @@ public class NavAmplitudeTask {
     private EmailFundNavService emailFundNavService;
     @Autowired
     private NavMapper navMapper;
+    @Autowired
+    private EmailTaskInfoMapper emailTaskInfoMapper;
     private static final Integer maxNum = 100000;
     public void navAmplitude(){
+        EmailTaskInfoDO emailTaskInfoDO = startEmailTask(null, 1);
         //获取净值振幅错误的数据总量
         Integer total = emailFundNavService.getNavAmplitudeErrorCount();
         if(total==0){
@@ -58,6 +65,7 @@ public class NavAmplitudeTask {
                 startIdx = endIdx;
             }
         }
+        endEmailTask(emailTaskInfoDO.getId(),2);
     }
 
     private void emailNavAmplitude(EmailFundNavDO emailFundNavDO) {
@@ -113,4 +121,41 @@ public class NavAmplitudeTask {
         insertDO.setUpdateTime(new Date());
         emailFundNavService.update(insertDO);
     }
+
+    private EmailTaskInfoDO startEmailTask(String email,Integer taskStatus) {
+        EmailTaskInfoDO  emailTaskInfoDO = new EmailTaskInfoDO();
+        try{
+            emailTaskInfoDO.setTaskName(TaskType.NAV_AMPLITUDE.getInfo());
+            emailTaskInfoDO.setTaskType(TaskType.NAV_AMPLITUDE.getType());
+            emailTaskInfoDO.setTaskStatus(taskStatus);
+            emailTaskInfoDO.setStartTime(DateUtils.getNowDate());
+            emailTaskInfoDO.setIsvalid(1);
+            emailTaskInfoDO.setEmail(email);
+            emailTaskInfoDO.setCreateTime(DateUtils.getNowDate());
+            emailTaskInfoDO.setUpdateTime(DateUtils.getNowDate());
+            try{
+                emailTaskInfoDO.setCreatorId(UserUtils.getLoginUser().getUserId());
+                emailTaskInfoDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
+            }catch (Exception e){
+                emailTaskInfoDO.setCreatorId(1);
+                emailTaskInfoDO.setUpdaterId(1);
+            }
+            emailTaskInfoMapper.insert(emailTaskInfoDO);
+        }catch (Exception e){
+            log.error(e.getMessage());
+        }
+        return emailTaskInfoDO;
+    }
+    private void endEmailTask(Integer id, Integer taskStatus) {
+        try{
+            EmailTaskInfoDO emailTaskInfoDO = new EmailTaskInfoDO();
+            emailTaskInfoDO.setId(id);
+            emailTaskInfoDO.setTaskStatus(taskStatus);
+            emailTaskInfoDO.setUpdateTime(DateUtils.getNowDate());
+            emailTaskInfoDO.setEndTime(DateUtils.getNowDate());
+            emailTaskInfoMapper.updateTaskStatusById(emailTaskInfoDO);
+        }catch (Exception e){
+            log.error(e.getMessage());
+        }
+    }
 }