Browse Source

红娘直播任务

master
张彭杰 3 weeks ago
parent
commit
08d2ba6635
1 changed files with 57 additions and 0 deletions
  1. 57
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/TaskTemplateTask.java

57
dating-agency-mall-server/src/main/java/com/qniao/dam/application/task/TaskTemplateTask.java

@ -0,0 +1,57 @@
package com.qniao.dam.application.task;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.domain.aggregate.tasktemplate.TaskTemplateAggregate;
import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTemplateStatus;
import com.qniao.dam.infrastructure.persistent.dao.tasktemplate.TaskTemplateDao;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
@Component
@Slf4j
public class TaskTemplateTask {
@Resource
private TaskTemplateDao taskTemplateDao;
@Resource
private TaskTemplateAggregate taskTemplateAggregate;
@Scheduled(cron = "1 0 * * * *")
public void handle() {
try {
log.error("任务模板任务开始");
LocalDateTime now = LocalDateTime.now();
//准备开始的任务
List<TaskTemplate> notEffectiveList = taskTemplateDao.selectList(new LambdaQueryWrapper<TaskTemplate>()
.eq(TaskTemplate::getStatus, TaskTemplateStatus.NOT_EFFECTIVE)
.le(TaskTemplate::getStartTime, now)
.ge(TaskTemplate::getEndTime, now));
if (CollUtil.isNotEmpty(notEffectiveList)) {
notEffectiveList.forEach(taskTemplate -> {
taskTemplate.setStatus(TaskTemplateStatus.EFFECTIVE);
taskTemplateAggregate.edit(taskTemplate);
});
}
//准备结束的任务
List<TaskTemplate> effectiveList = taskTemplateDao.selectList(new LambdaQueryWrapper<TaskTemplate>()
.eq(TaskTemplate::getStatus, TaskTemplateStatus.EFFECTIVE)
.le(TaskTemplate::getEndTime, now));
if (CollUtil.isNotEmpty(effectiveList)) {
notEffectiveList.forEach(taskTemplate -> {
taskTemplate.setStatus(TaskTemplateStatus.FINISHED);
taskTemplateAggregate.edit(taskTemplate);
});
}
log.error("任务模板任务结束");
} catch (Exception e) {
log.error("任务模板任务异常", e);
}
}
}
Loading…
Cancel
Save