fix(orders.manager):修复支付接口的调用参数错误的bug
This commit is contained in:
parent
e78ff52701
commit
554aa38576
@ -41,7 +41,7 @@ public class OrderCancelJob {
|
||||
|
||||
// 取消所有超时未支付订单
|
||||
transactionTemplate.executeWithoutResult(status ->
|
||||
orderList.forEach(order -> ordersCanceledService.cancelPayOverTimeOrder(order.getId())));
|
||||
orderList.forEach(order -> ordersCanceledService.cancelPayOverTimeOrder(order)));
|
||||
}
|
||||
|
||||
@XxlJob("handlerRefundOrder")
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.jzo2o.orders.manager.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jzo2o.orders.base.model.domain.Orders;
|
||||
import com.jzo2o.orders.base.model.domain.OrdersCanceled;
|
||||
import com.jzo2o.orders.manager.model.dto.OrderCancelDTO;
|
||||
|
||||
@ -22,5 +23,5 @@ public interface IOrdersCanceledService extends IService<OrdersCanceled> {
|
||||
* 系统取消超时订单(无前置判断)
|
||||
* <br><b>仅内部使用!!!</b>
|
||||
*/
|
||||
void cancelPayOverTimeOrder(Long id);
|
||||
void cancelPayOverTimeOrder(Orders order);
|
||||
}
|
||||
@ -74,18 +74,24 @@ public class OrdersCanceledServiceImpl extends ServiceImpl<OrdersCanceledMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelPayOverTimeOrder(Long id) {
|
||||
public void cancelPayOverTimeOrder(Orders order) {
|
||||
// 二次确认防止在此期间支付
|
||||
TradingResDTO tradingResDTO = tradingApi.findTradResultByTradingOrderNo(id);
|
||||
if (ObjectUtils.isEmpty(tradingResDTO) || tradingResDTO.getTradingState() != TradingStateEnum.YJS) {
|
||||
cancelNoPayOrder(OrderCancelDTO.builder()
|
||||
.id(id)
|
||||
.cancelReason("订单超时未支付自动取消")
|
||||
.currentUserId(-1L)
|
||||
.currentUserName("SYSTEM")
|
||||
.currentUserType(UserType.SYSTEM)
|
||||
.build());
|
||||
Long tradingOrderNo = order.getTradingOrderNo();
|
||||
if (ObjectUtils.isNotEmpty(tradingOrderNo)) {
|
||||
// 再次请求防止已支付
|
||||
TradingResDTO tradingResDTO = tradingApi.findTradResultByTradingOrderNo(tradingOrderNo);
|
||||
if (ObjectUtils.isNotEmpty(tradingResDTO) && tradingResDTO.getTradingState() == TradingStateEnum.YJS) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
cancelNoPayOrder(OrderCancelDTO.builder()
|
||||
.id(order.getId())
|
||||
.cancelReason("订单超时未支付自动取消")
|
||||
.currentUserId(-1L)
|
||||
.currentUserName("SYSTEM")
|
||||
.currentUserType(UserType.SYSTEM)
|
||||
.build());
|
||||
}
|
||||
|
||||
private void cancelNoPayOrder(OrderCancelDTO orderCancelDTO) {
|
||||
|
||||
@ -93,7 +93,7 @@ public class OrdersManagerServiceImpl extends ServiceImpl<OrdersMapper, Orders>
|
||||
// 订单超过15分钟未支付则自动取消
|
||||
if (OrderStatusEnum.NO_PAY.getStatus().equals(orders.getOrdersStatus())
|
||||
&& orders.getCreateTime().isBefore(LocalDateTime.now().minusMinutes(PAY_OVERTIME_MINUTE))) {
|
||||
ordersCanceledService.cancelPayOverTimeOrder(id);
|
||||
ordersCanceledService.cancelPayOverTimeOrder(orders);
|
||||
orderResDTO.setOrdersStatus(OrderStatusEnum.CANCELED.getStatus());
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user