feat:下单查询

This commit is contained in:
Xiang
2025-12-16 16:24:52 +08:00
parent 93969624c1
commit a3c9e2eb51
9 changed files with 110 additions and 2 deletions

View File

@@ -3,6 +3,8 @@ package com.xiang.xservice.application.script.jntyzx.manage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO;
import java.util.List;
/** /**
* @Author: xiang * @Author: xiang
* @Date: 2025-12-16 10:59 * @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<OrderInfoDO> { public interface IOrderCreateInfoManage extends IService<OrderInfoDO> {
List<OrderInfoDO> queryNoPayOrder();
} }

View File

@@ -1,10 +1,14 @@
package com.xiang.xservice.application.script.jntyzx.manage; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO; import com.xiang.xservice.application.script.jntyzx.entity.pojo.OrderInfoDO;
import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxOrderCreateInfoMapper; import com.xiang.xservice.application.script.jntyzx.mapper.JntyzxOrderCreateInfoMapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @Author: xiang * @Author: xiang
* @Date: 2025-12-16 10:59 * @Date: 2025-12-16 10:59
@@ -13,4 +17,10 @@ import org.springframework.stereotype.Service;
public class OrderCreateInfoManageImpl extends ServiceImpl<JntyzxOrderCreateInfoMapper, OrderInfoDO> implements IOrderCreateInfoManage { public class OrderCreateInfoManageImpl extends ServiceImpl<JntyzxOrderCreateInfoMapper, OrderInfoDO> implements IOrderCreateInfoManage {
@Override
public List<OrderInfoDO> queryNoPayOrder() {
LambdaQueryWrapper<OrderInfoDO> lambdaQueryWrapper = Wrappers.lambdaQuery();
lambdaQueryWrapper.eq(OrderInfoDO::getOrderStatus, 0);
return baseMapper.selectList(lambdaQueryWrapper);
}
} }

View File

@@ -17,9 +17,9 @@ import java.util.List;
@Service @Service
public class VenueInfoManageImpl extends ServiceImpl<JntyzxVenueInfoMapper, VenueInfoDO> implements IVenueInfoManage { public class VenueInfoManageImpl extends ServiceImpl<JntyzxVenueInfoMapper, VenueInfoDO> implements IVenueInfoManage {
public List<VenueInfoDO> queryByDate(LocalDate now) { public List<VenueInfoDO> queryByDate(LocalDate date) {
LambdaQueryWrapper<VenueInfoDO> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<VenueInfoDO> lqw = Wrappers.lambdaQuery();
lqw.eq(VenueInfoDO::getDate, now); lqw.eq(VenueInfoDO::getDate, date);
return baseMapper.selectList(lqw); return baseMapper.selectList(lqw);
} }

View File

@@ -84,6 +84,43 @@ public class VenueQuerySchedule {
venueService.queryVenueService(); venueService.queryVenueService();
} }
@Scheduled(cron = "0 0 17 * * ?")
public void todayVenueInfo() {
log.info("每日拉取江体小程序数据定时任务");
List<VenueInfoDO> venueInfoDOS = venueService.queryToday6210VenueInfo();
if (CollectionUtils.isEmpty(venueInfoDOS)) {
return;
}
// 6-8场地
Map<String, List<VenueInfoDO>> map1 = Maps.newLinkedHashMap();
// 8-10场地
Map<String, List<VenueInfoDO>> 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 * * ?") @Scheduled(cron = "0 0/1 9-20 * * ?")
public void venueCanBuyMsg() { public void venueCanBuyMsg() {
List<VenueInfoDO> venueInfoDOS = venueService.queryCanBuyVenue(); List<VenueInfoDO> venueInfoDOS = venueService.queryCanBuyVenue();

View File

@@ -1,8 +1,10 @@
package com.xiang.xservice.application.script.jntyzx.schedule; 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.entity.pojo.VenueInfoDO;
import com.xiang.xservice.application.script.jntyzx.service.DingTalkScriptVenueService; 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.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.IUserTokenInfoService;
import com.xiang.xservice.application.script.jntyzx.service.IVenueService; import com.xiang.xservice.application.script.jntyzx.service.IVenueService;
import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils; import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils;
@@ -28,6 +30,7 @@ public class VenueSubscribeSchedule {
private final IJntyzxHttpService jntyzxHttpService; private final IJntyzxHttpService jntyzxHttpService;
private final IUserTokenInfoService userTokenInfoService; private final IUserTokenInfoService userTokenInfoService;
private final DingTalkScriptVenueService dingTalkScriptVenueService; private final DingTalkScriptVenueService dingTalkScriptVenueService;
private final IJtOrderService orderService;
@Scheduled(cron = "0 0 9 * * ?") @Scheduled(cron = "0 0 9 * * ?")
public void subscribe() { public void subscribe() {
List<VenueInfoDO> venueInfoDOS = venueService.queryCanBuyVenue(); List<VenueInfoDO> venueInfoDOS = venueService.queryCanBuyVenue();
@@ -47,4 +50,12 @@ public class VenueSubscribeSchedule {
} }
}); });
} }
@Scheduled(cron = "0 0/2 * * * ?")
public void checkPay() {
List<OrderInfoDO> orderInfoDOS = orderService.queryNoPayOrder();
if (CollectionUtils.isEmpty(orderInfoDOS)) {
return;
}
}
} }

View File

@@ -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<OrderInfoDO> queryNoPayOrder();
}

View File

@@ -15,4 +15,6 @@ public interface IVenueService {
List<SitePositionList> queryTomorrowVenue(); List<SitePositionList> queryTomorrowVenue();
List<VenueInfoDO> queryCanBuyVenue(); List<VenueInfoDO> queryCanBuyVenue();
List<VenueInfoDO> queryToday6210VenueInfo();
} }

View File

@@ -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<OrderInfoDO> queryNoPayOrder() {
return orderCreateInfoManage.queryNoPayOrder();
}
}

View File

@@ -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.pojo.VenueInfoDO;
import com.xiang.xservice.application.script.jntyzx.entity.resp.query.SitePositionList; 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.manage.IVenueInfoManage;
import com.xiang.xservice.application.script.jntyzx.utils.VenueInfoUtils;
import com.xiang.xservice.basic.utils.DateUtils; import com.xiang.xservice.basic.utils.DateUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -55,6 +56,12 @@ public class VenueServiceImpl implements IVenueService {
return venueInfoManage.queryByType(LocalDate.now(), 0); return venueInfoManage.queryByType(LocalDate.now(), 0);
} }
@Override
public List<VenueInfoDO> queryToday6210VenueInfo() {
List<VenueInfoDO> venueInfoDOS = venueInfoManage.queryByDate(LocalDate.now());
return venueInfoDOS.stream().filter(item -> VenueInfoUtils.get628VenueInfo(item) || VenueInfoUtils.get8210VenueInfo(item)).toList();
}
private void updateDatabase(List<SitePositionList> list, boolean isToday) { private void updateDatabase(List<SitePositionList> list, boolean isToday) {
List<VenueInfoDO> venueInfoDOS = Lists.newArrayList(); List<VenueInfoDO> venueInfoDOS = Lists.newArrayList();
if (isToday) { if (isToday) {