红包任务

This commit is contained in:
2024-12-28 15:49:21 +08:00
parent e77bb19459
commit d973622445
6 changed files with 134 additions and 114 deletions

View File

@@ -1,11 +1,12 @@
package com.sqx.modules.job.task;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.sqx.modules.discSpinning.controller.DiscSpinningController;
import com.sqx.modules.discSpinning.entity.DiscSpinning;
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
import com.sqx.modules.discSpinning.service.DiscSpinningService;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
@@ -18,7 +19,7 @@ import java.util.List;
public class SpinningTask3 implements ITask {
@Resource
private DiscSpinningController spinningController;
private DiscSpinningService spinningController;
@Resource
private DiscSpinningRecordService recordService;
@@ -29,9 +30,12 @@ public class SpinningTask3 implements ITask {
logger.info("大转盘到账补偿机制");
// 获取当前时间
Date now = DateUtil.date();
if (StringUtils.isBlank(params)) {
params = "1";
}
// 获取五分钟前的时间
Date fiveMinutesAgo = DateUtil.offsetMinute(now, -5);
Date tenMinutesAgo = DateUtil.offsetMinute(now, -10);
Date fiveMinutesAgo = DateUtil.offsetMinute(now, Integer.valueOf(params) * -5);
Date tenMinutesAgo = DateUtil.offsetMinute(now, (Integer.valueOf(params) * -5) - 5);
// 将五分钟前的时间转换为指定格式的时间字符串,这里采用常见的"yyyy-MM-dd HH:mm:ss"格式
String fiveMinutesAgoStr = DateUtil.format(fiveMinutesAgo, "yyyy-MM-dd HH:mm:ss");
String tenMinutesAgoStr = DateUtil.format(tenMinutesAgo, "yyyy-MM-dd HH:mm:ss");
@@ -39,15 +43,18 @@ public class SpinningTask3 implements ITask {
QueryWrapper<DiscSpinningRecord> recordQueryWrapper = new QueryWrapper<>();
recordQueryWrapper.isNull("target");
recordQueryWrapper.isNull("target_id");
recordQueryWrapper.eq("type",2);
recordQueryWrapper.eq("type", 2);
//大于
recordQueryWrapper.lt("create_time",fiveMinutesAgoStr);
recordQueryWrapper.lt("create_time", fiveMinutesAgoStr);
//小于
recordQueryWrapper.gt("create_time", tenMinutesAgoStr);
List<DiscSpinningRecord> list = recordService.list(recordQueryWrapper);
for (DiscSpinningRecord record : list) {
spinningController.receive1(record);
}
logger.info("大转盘到账补偿机制");
ThreadUtil.execAsync(() -> {
for (DiscSpinningRecord record : list) {
spinningController.receive1(record);
}
});
logger.info("大转盘到账补偿机制结束");
}
}