From 1e64ef03770f4e3a7f357049a6fe744f39c2c4b6 Mon Sep 17 00:00:00 2001 From: 44323 <443237572@qq.com> Date: 星期二, 21 十一月 2023 09:12:20 +0800 Subject: [PATCH] 后台bug修改 --- cloud-server-other/src/main/java/com/dsh/other/util/TaskUtil.java | 67 +++++++++++++++++++++++++++++++++ 1 files changed, 67 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..f3154c3 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,16 +19,74 @@ @Component public class TaskUtil { + @Resource + private SiteBookingMapper siteBookingMapper; /** * 每隔一分钟去处理的定时任务 */ + //预约场地后,待支付的订单 时间超过30分钟,不保留 @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.deleteById(siteBooking.getId()); + } + } //定时修改赛事状态 } 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(); + } + } + + // 预约场地后,待支付的订单 时间超过30分钟,不保留 + @Scheduled(fixedRate = 60000) + public void taskMinute3(){ + 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(); + } + } + + + + } -- Gitblit v1.7.1