fix: 订单状态定时任务增加失败状态
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user