From a3c9e2eb51c9f3cb68668b73766347643de9c903 Mon Sep 17 00:00:00 2001 From: Xiang Date: Tue, 16 Dec 2025 16:24:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E4=B8=8B=E5=8D=95=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jntyzx/manage/IOrderCreateInfoManage.java | 4 ++ .../manage/OrderCreateInfoManageImpl.java | 10 +++++ .../jntyzx/manage/VenueInfoManageImpl.java | 4 +- .../jntyzx/schedule/VenueQuerySchedule.java | 37 +++++++++++++++++++ .../schedule/VenueSubscribeSchedule.java | 11 ++++++ .../jntyzx/service/IJtOrderService.java | 14 +++++++ .../script/jntyzx/service/IVenueService.java | 2 + .../jntyzx/service/OrderInfoServiceImpl.java | 23 ++++++++++++ .../jntyzx/service/VenueServiceImpl.java | 7 ++++ 9 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java create mode 100644 script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java index 44505aa..a86ce6e 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/IOrderCreateInfoManage.java @@ -3,6 +3,8 @@ package com.xiang.xservice.application.script.jntyzx.manage; import com.baomidou.mybatisplus.extension.service.IService; import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; +import java.util.List; + /** * @Author: xiang * @Date: 2025-12-16 10:59 @@ -10,4 +12,6 @@ import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; public interface IOrderCreateInfoManage extends IService { + List queryNoPayOrder(); + } diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java index 68321ea..d27685c 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/OrderCreateInfoManageImpl.java @@ -1,10 +1,14 @@ package com.xiang.xservice.application.script.jntyzx.manage; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxOrderCreateInfoMapper; import org.springframework.stereotype.Service; +import java.util.List; + /** * @Author: xiang * @Date: 2025-12-16 10:59 @@ -13,4 +17,10 @@ import org.springframework.stereotype.Service; public class OrderCreateInfoManageImpl extends ServiceImpl implements IOrderCreateInfoManage { + @Override + public List queryNoPayOrder() { + LambdaQueryWrapper lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper.eq(OrderInfoDO::getOrderStatus, 0); + return baseMapper.selectList(lambdaQueryWrapper); + } } diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java index 0023835..9e0c92e 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/manage/VenueInfoManageImpl.java @@ -17,9 +17,9 @@ import java.util.List; @Service public class VenueInfoManageImpl extends ServiceImpl implements IVenueInfoManage { - public List queryByDate(LocalDate now) { + public List queryByDate(LocalDate date) { LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(VenueInfoDO::getDate, now); + lqw.eq(VenueInfoDO::getDate, date); return baseMapper.selectList(lqw); } diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java index 4dd7fdc..50cb8a4 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueQuerySchedule.java @@ -84,6 +84,43 @@ public class VenueQuerySchedule { venueService.queryVenueService(); } + @Scheduled(cron = "0 0 17 * * ?") + public void todayVenueInfo() { + log.info("每日拉取江体小程序数据定时任务"); + List venueInfoDOS = venueService.queryToday6210VenueInfo(); + if (CollectionUtils.isEmpty(venueInfoDOS)) { + return; + } + // 6-8场地 + Map> map1 = Maps.newLinkedHashMap(); + // 8-10场地 + Map> map2 = Maps.newLinkedHashMap(); + venueInfoDOS.forEach(item -> { + if (StringUtils.equals(item.getSjName(), "18:00-19:00")) { + putIntoMap(item, map1); + } + if (StringUtils.equals(item.getSjName(), "19:00-20:00")) { + putIntoMap(item, map1); + } + if (StringUtils.equals(item.getSjName(), "20:00-21:00")) { + putIntoMap(item, map2); + } + if (StringUtils.equals(item.getSjName(), "21:00-22:00")) { + putIntoMap(item, map2); + } + }); + if (MapUtils.isNotEmpty(map1)) { + StringBuffer sb1 = new StringBuffer("查询江体小程序场地信息【18:00-20:00】\n"); + buildMsg(map1, sb1); + dingTalkScriptVenueService.sendScriptMsg(sb1.toString()); + } + if (MapUtils.isNotEmpty(map1)) { + StringBuffer sb2 = new StringBuffer("查询江体小程序场地信息【20:00-22:00】\n"); + buildMsg(map2, sb2); + dingTalkScriptVenueService.sendScriptMsg(sb2.toString()); + } + } + @Scheduled(cron = "0 0/1 9-20 * * ?") public void venueCanBuyMsg() { List venueInfoDOS = venueService.queryCanBuyVenue(); diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java index 730a764..e6dd664 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/schedule/VenueSubscribeSchedule.java @@ -1,8 +1,10 @@ package com.xiang.xservice.application.script.jntyzx.schedule; +import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; import com.xiang.xservice.application.script.jntyzx.service.IJntyzxHttpService; +import com.xiang.xservice.application.script.jntyzx.service.IJtOrderService; import com.xiang.xservice.application.script.jntyzx.service.IUserTokenInfoService; import com.xiang.xservice.application.script.jntyzx.service.IVenueService; import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; @@ -28,6 +30,7 @@ public class VenueSubscribeSchedule { private final IJntyzxHttpService jntyzxHttpService; private final IUserTokenInfoService userTokenInfoService; private final DingTalkScriptVenueService dingTalkScriptVenueService; + private final IJtOrderService orderService; @Scheduled(cron = "0 0 9 * * ?") public void subscribe() { List venueInfoDOS = venueService.queryCanBuyVenue(); @@ -47,4 +50,12 @@ public class VenueSubscribeSchedule { } }); } + + @Scheduled(cron = "0 0/2 * * * ?") + public void checkPay() { + List orderInfoDOS = orderService.queryNoPayOrder(); + if (CollectionUtils.isEmpty(orderInfoDOS)) { + return; + } + } } diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java new file mode 100644 index 0000000..830233a --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IJtOrderService.java @@ -0,0 +1,14 @@ +package com.xiang.xservice.application.script.jntyzx.service; + +import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; + +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-12-16 16:17 + */ +public interface IJtOrderService { + + List queryNoPayOrder(); +} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java index 44e3300..f267ced 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/IVenueService.java @@ -15,4 +15,6 @@ public interface IVenueService { List queryTomorrowVenue(); List queryCanBuyVenue(); + + List queryToday6210VenueInfo(); } diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java new file mode 100644 index 0000000..c179617 --- /dev/null +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/OrderInfoServiceImpl.java @@ -0,0 +1,23 @@ +package com.xiang.xservice.application.script.jntyzx.service; + +import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; +import com.xiang.xservice.application.script.jntyzx.manage.IOrderCreateInfoManage; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @Author: xiang + * @Date: 2025-12-16 16:17 + */ +@Service +@RequiredArgsConstructor +public class OrderInfoServiceImpl implements IJtOrderService { + + private final IOrderCreateInfoManage orderCreateInfoManage; + @Override + public List queryNoPayOrder() { + return orderCreateInfoManage.queryNoPayOrder(); + } +} diff --git a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java index bc0eecb..b381d27 100644 --- a/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java +++ b/script/src/main/java/com/xiang/xservice/application/script/jntyzx/service/VenueServiceImpl.java @@ -5,6 +5,7 @@ import com.google.common.collect.Maps; import com.xiang.xservice.application.script.jntyzx.entity.pojo.VenueInfoDO; import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; import com.xiang.xservice.application.script.jntyzx.manage.IVenueInfoManage; +import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; import com.xiang.xservice.basic.utils.DateUtils; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; @@ -55,6 +56,12 @@ public class VenueServiceImpl implements IVenueService { return venueInfoManage.queryByType(LocalDate.now(), 0); } + @Override + public List queryToday6210VenueInfo() { + List venueInfoDOS = venueInfoManage.queryByDate(LocalDate.now()); + return venueInfoDOS.stream().filter(item -> VenueInfoUtils.get628VenueInfo(item) || VenueInfoUtils.get8210VenueInfo(item)).toList(); + } + private void updateDatabase(List list, boolean isToday) { List venueInfoDOS = Lists.newArrayList(); if (isToday) {