删除间隔 订单不存在日志

This commit is contained in:
wangw 2025-08-25 14:01:43 +08:00
parent 805fdef755
commit 45aff486fa
2 changed files with 40 additions and 10 deletions

View File

@ -43,30 +43,59 @@ public class OrderTask {
@Scheduled(cron = "0 7/5 * * * ? ")
public void record() {
String value = commonRepository.findOne(939).getValue();
if(!"1".equals(value)){
if (!"1".equals(value)) {
return;
}
record1();
}
public void record1() {
log.info("未支付订单删除开始");
// 获取3小时前的时间
Date oneDay = DateUtil.offsetHour(DateUtil.date(), -3);
// 将五分钟前的时间转换为指定格式的时间字符串这里采用常见的"yyyy-MM-dd HH:mm:ss"格式
String oneDayStr = DateUtil.format(oneDay, "yyyy-MM-dd HH:mm:ss");
removeOrder(oneDayStr);
removePayDetail(oneDayStr);
}
public void removeOrder(String oneDayStr) {
LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
//小于等于
queryWrapper.le(Orders::getCreateTime, oneDayStr);
queryWrapper.ne(Orders::getStatus, 1);
ordersService.remove(queryWrapper);
log.info("未支付订单记录开始");
int orderCount = ordersService.count(queryWrapper);
if (orderCount == 0) {
return;
}
int orderPage = orderCount / 500;
if (orderCount % 500 != 0) {
orderPage++;
}
log.info("未支付订单order删除开始,{}", orderPage);
for (int i = 0; i < orderPage; i++) {
queryWrapper.last(" limit 500");
ordersService.remove(queryWrapper);
ThreadUtil.sleep(300);
}
log.info("未支付订单order删除结束");
}
public void removePayDetail(String oneDayStr) {
LambdaQueryWrapper<PayDetails> queryWrapper2 = new LambdaQueryWrapper<>();
//小于等于
queryWrapper2.le(PayDetails::getCreateTime, oneDayStr);
queryWrapper2.ne(PayDetails::getState, 1);
payDetailsDao.delete(queryWrapper2);
log.info("未支付订单记录删除结束");
int payCount = payDetailsDao.selectCount(queryWrapper2);
if (payCount == 0) {
return;
}
int payPage = payCount / 500;
if (payCount % 500 != 0) {
payPage++;
}
log.info("未支付订单detail删除开始,{}", payPage);
for (int i = 0; i < payPage; i++) {
queryWrapper2.last(" limit 500");
payDetailsDao.delete(queryWrapper2);
ThreadUtil.sleep(300);
}
log.info("未支付订单detail删除结束");
}
}

View File

@ -84,6 +84,7 @@ public class WuyouController {
public Result payOrder(HttpServletRequest request, @RequestAttribute("userId") Long userId, @PathVariable("orderId") Long orderId, @RequestParam(value = "payType", required = false) String payType) {
Orders order = ordersService.getById(orderId, userId);
if (order == null) {
log.error("订单不存在,orderId:{}", orderId);
return Result.error("订单不存在");
}