package com.dsh.competition.util; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.competition.entity.Competition; import com.dsh.competition.model.TCompetition; import com.dsh.competition.service.CompetitionService; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @author shaqian * 定时任务修改赛事状态 */ @Component public class TaskUtilCompetition { @Resource private CompetitionService competitionService; /** * 每秒去处理的定时任务 */ @Scheduled(fixedRate = 30000) public void taskMinute() { try { List list = competitionService.list(new QueryWrapper() .ne("status", 4).ne("state", 3)); for (Competition competition : list) { // 当前时间小于开始时间 if (competition.getStartTime().after(new Date())) { competition.setStatus(1); } if (competition.getStartTime().before(new Date())) { if (competition.getEndTime().after(new Date())) { competition.setStatus(2); } else { competition.setStatus(3); } } competitionService.updateById(competition); } } catch (Exception e) { e.printStackTrace(); } } }