取消修改

localizer
ljw 2025-10-28 16:47:28 +08:00
parent bdcbebaf8a
commit 4dedb2a61c
2 changed files with 22 additions and 13 deletions

View File

@ -880,14 +880,11 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
OrderInfoEntity orderInfo = this.getById(orderId);
Assert.notNull(orderInfo, () -> Exceptions.clierr("订单不存在"));
OrderStatus orderStatus = orderInfo.getOrderStatus();
Assert.isTrue(orderStatus == OrderStatus.YiYuYue
|| orderStatus == OrderStatus.DaiPaiDan
|| orderStatus == OrderStatus.DaiJieDan
|| orderStatus == OrderStatus.YiJieDan
|| orderStatus == OrderStatus.QingYunZhong,
() -> Exceptions.clierr("当前订单状态,无法取消"));
if (!SecurityUtil.isAdmin()) {
Assert.isFalse(orderStatus == OrderStatus.QingYunZhong,
Assert.isTrue(orderStatus == OrderStatus.YiYuYue
|| orderStatus == OrderStatus.DaiPaiDan
|| orderStatus == OrderStatus.DaiJieDan
|| orderStatus == OrderStatus.YiJieDan,
() -> Exceptions.clierr("当前订单状态,无法取消"));
AuditStatus auditStatus = orderInfo.getAuditStatus();
Assert.isFalse(auditStatus == AuditStatus.TongGuo, () -> Exceptions.clierr("当前订单状态,无法取消"));
@ -903,12 +900,21 @@ public class OrderInfoService extends ServiceImpl<OrderInfoMapper, OrderInfoEnti
// 获取支付上下文
PaymentContextResult ctx = this.paymentContext(orderId);
paymentService.refund(dto, ctx);
this.lambdaUpdate()
.eq(OrderInfoEntity::getId, orderId)
.set(OrderInfoEntity::getPaymentStatus, PaymentStatus.YiTuiKuan)
.set(OrderInfoEntity::getRefundMoney, orderInfo.getSettleMoney())
.set(OrderInfoEntity::getRefundTime, LocalDateTime.now())
.set(OrderInfoEntity::getCancelReason, reason)
.set(OrderInfoEntity::getOrderStatus, OrderStatus.YiQuXiao)
.update();
} else {
this.updateById(new OrderInfoEntity()
.setId(orderInfo.getId())
.setCancelReason(reason)
.setOrderStatus(OrderStatus.YiQuXiao)
);
}
this.updateById(new OrderInfoEntity()
.setId(orderInfo.getId())
.setCancelReason(reason)
.setOrderStatus(OrderStatus.YiQuXiao)
);
Long driverId = orderInfo.getDriverId();
Long truckId = orderInfo.getTruckId();
if (driverId != null) baseMapper.busyDriver(driverId, Boolean.FALSE);

View File

@ -275,6 +275,7 @@ public class PaymentController {
orderInfoService.lambdaUpdate()
.eq(OrderInfoEntity::getId, refundRequest.getOrderId())
.set(OrderInfoEntity::getPaymentStatus, PaymentStatus.YiTuiKuan)
.set(OrderInfoEntity::getRefundMoney, refundRequest.getRefundAmount())
.set(OrderInfoEntity::getRefundTime, LocalDateTime.now())
.update();
}
@ -290,10 +291,12 @@ public class PaymentController {
try {
WxPayRefundNotifyResult result = wxPayService.parseRefundNotifyResult(xmlData);
String orderSn = extractOrderIdFromOutTradeNo(result.getReqInfo().getOutTradeNo());
OrderInfoEntity entity = orderInfoService.getOne(Wrappers.<OrderInfoEntity>lambdaQuery().eq(OrderInfoEntity::getSn, orderSn));
// 更新订单状态为已退款
orderInfoService.lambdaUpdate()
.eq(OrderInfoEntity::getSn, orderSn)
.eq(OrderInfoEntity::getId, entity.getId())
.set(OrderInfoEntity::getPaymentStatus, PaymentStatus.YiTuiKuan)
.set(OrderInfoEntity::getRefundMoney, entity.getSettleMoney())
.set(OrderInfoEntity::getRefundTime, LocalDateTime.now())
.update();
return WxPayNotifyResponse.success("退款成功!");