fix: 订单状态定时任务增加失败状态

This commit is contained in:
张松
2024-12-26 17:41:06 +08:00
parent 85818ffd3d
commit 54778f4078

View File

@@ -2,6 +2,7 @@ package com.sqx.modules.job.task;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -71,13 +72,19 @@ public class TempOrdersTask implements ITask {
@Override
public void run(String params) {
logger.info("订单表数据处理开始");
List<Orders> orders = ordersDao.selectList(Wrappers.<Orders>lambdaQuery().eq(Orders::getStatus, 0));
List<Orders> orders = ordersDao.selectList(Wrappers.<Orders>lambdaQuery()
.eq(Orders::getStatus, 0)
.lt(Orders::getCreateTime, DateUtil.offsetMinute(DateUtil.date(), -5)));
if (CollUtil.isEmpty(orders)) {
return;
}
for (Orders order : orders) {
ThreadUtil.sleep(100);
PayDetails payDetails = payDetailsDao.selectByOrderId(order.getOrdersNo());
if (payDetails == null) {
order.setStatus(3);
continue;
}
if (payDetails.getState() == 1) {
@@ -94,11 +101,20 @@ public class TempOrdersTask implements ITask {
logger.info("payDetails{} ", JSONUtil.toJsonStr(payDetails));
logger.info("order{} ", JSONUtil.toJsonStr(order));
updateOrderStatus(payDetails, order);
}else {
order.setStatus(3);
payDetails.setState(3);
ordersDao.updateById(order);
payDetailsDao.updateById(payDetails);
}
}
logger.info("订单表数据处理完毕");
}
public static void main(String[] args) {
WuyouPay.queryOrder("1000001323859732", "0.5", "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/131.0.0.0");
}
private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private void updateOrderStatus(PayDetails payDetails, Orders order) {