From a9564eae9f0169ca39329b2f14a8f13d13358a0a Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期五, 17 十一月 2023 15:28:44 +0800 Subject: [PATCH] 11.7 --- cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 65 ++++++++++++++++++++++++++++++++ 1 files changed, 65 insertions(+), 0 deletions(-) diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java index ca148cc..8457a24 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java +++ b/cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java @@ -1,7 +1,16 @@ package com.dsh.other.util; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.dsh.other.entity.SiteBooking; +import com.dsh.other.mapper.SiteBookingMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; +import java.util.concurrent.TimeUnit; /** * @author zhibing.pu @@ -10,6 +19,8 @@ @Component public class TaskUtil { + @Resource + private SiteBookingMapper siteBookingMapper; /** * 每隔一分钟去处理的定时任务 @@ -17,9 +28,63 @@ @Scheduled(fixedRate = 60000) public void taskMinute(){ try { + List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 0)); + for (SiteBooking siteBooking : siteBookings) { + long time = siteBooking.getInsertTime().getTime(); + long l = time + 1800 * 1000; + if(System.currentTimeMillis()>l){ + siteBooking.setStatus(5); + siteBookingMapper.updateById(siteBooking); + + } + } //定时修改赛事状态 } catch (Exception e) { e.printStackTrace(); } } + + + + //预约场地后,时间超过endTime,状态变为已过期 + @Scheduled(fixedRate = 60000) + public void taskMinute1(){ + try { + List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 1)); + for (SiteBooking siteBooking : siteBookings) { + long time = siteBooking.getEndTime().getTime(); + if (System.currentTimeMillis() > time) { + siteBooking.setStatus(4); + siteBookingMapper.updateById(siteBooking); + } + + } + //定时修改赛事状态 + } catch (Exception e) { + e.printStackTrace(); + } + } + + + @Scheduled(fixedRate = 60000) + public void taskMinute2(){ + try { + List<SiteBooking> siteBookings = siteBookingMapper.selectList(new LambdaQueryWrapper<SiteBooking>().eq(SiteBooking::getStatus, 0)); + for (SiteBooking siteBooking : siteBookings) { + long time = siteBooking.getInsertTime().getTime(); + long currentTime = System.currentTimeMillis(); + long timeDifference = currentTime - time; + long minutes = TimeUnit.MILLISECONDS.toMinutes(timeDifference); + if (minutes > 30) { + siteBooking.setStatus(5); + siteBookingMapper.updateById(siteBooking); + } + } + //定时修改赛事状态 + } catch (Exception e) { + e.printStackTrace(); + } + } + + } -- Gitblit v1.7.1