Explorar o código

新增定时任务 更新每天待发送的任务

lqc %!s(int64=4) %!d(string=hai) anos
pai
achega
28815ab027

+ 35 - 0
src/main/java/com/mokamrp/privates/task/pangu/SyncFosterwxCash.java

@@ -1,6 +1,7 @@
 package com.mokamrp.privates.task.pangu;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.mokamrp.privates.mapper.pangu.pojo.FosterwxCashScheduleTaskList;
 import com.mokamrp.privates.service.pangu.FosterwxCashScheduleTaskListService;
 import com.mokamrp.privates.utils.pangu.redis.task.TaskRedis;
@@ -11,6 +12,10 @@ import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
 /**
  * 同步变现任务到缓存 供H5页面展示
  */
@@ -54,4 +59,34 @@ public class SyncFosterwxCash {
             urlInfo = taskRedis.getPanguCashTaskInfo();
         }
     }
+
+    /**
+     * 每天一分钟定时更新需要发送的任务的状态
+     * @since: 1.18.1
+     * @param: []
+     * @return: void
+     * @author: lqc
+     * @date: 2021/10/22
+     */
+    @Scheduled(cron = "5 */1 * * * ?")
+    @SchedulerLock(name = "pangu:SyncCreatedUrlInfo", lockAtLeastForString = "PT5S", lockAtMostForString = "PT15M")
+    public void syncTaskListStatus() {
+        LocalDateTime localDateTime = LocalDateTime.now();
+
+        LocalDateTime zeroDateTime = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
+
+
+        // 更新个微任务
+        fosterwxCashScheduleTaskListService.update(
+                new FosterwxCashScheduleTaskList() {{
+                    setStatus(5);
+                    setUpdateAt(LocalDateTime.now());
+                }},
+                new LambdaQueryWrapper<FosterwxCashScheduleTaskList>().
+                        eq(FosterwxCashScheduleTaskList::getStatus, 4).
+                        eq(FosterwxCashScheduleTaskList::getType, 1).
+                        between(FosterwxCashScheduleTaskList::getSendTime, zeroDateTime, localDateTime)
+        );
+
+    }
 }