|
|
@@ -1617,10 +1617,6 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
* @param refundDO
|
|
|
*/
|
|
|
private void afterRefundFromPayPlatSuccess(RefundDO refundDO) {
|
|
|
- if(refundDO.getSellMethod()==3){
|
|
|
- //取消订单退款不处理订单状态
|
|
|
- return;
|
|
|
- }
|
|
|
//已退金额与退款金额一致则全部退款
|
|
|
String lockKey = String.format(UPDATE_REFUND_LOCK, refundDO.getId());
|
|
|
RLock lock = redissonClient.getLock(lockKey);
|
|
|
@@ -1648,12 +1644,15 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
RLock lock = redissonClient.getLock(lockKey);
|
|
|
try {
|
|
|
if (lock.tryLock(60, 90, TimeUnit.SECONDS)) {
|
|
|
- Map<String, Long> refundCountMap = tradeOrderRepositoryService.getRefundCount(refundDO.getOrderId());
|
|
|
+// Map<String, Long> refundCountMap = tradeOrderRepositoryService.getRefundCount(refundDO.getOrderId());
|
|
|
+ TradeOrderDO stradeOrderDO = tradeOrderRepositoryService.getById(refundDO.getOrderId());
|
|
|
TradeOrderDO tradeOrderDO = new TradeOrderDO();
|
|
|
tradeOrderDO.setId(refundDO.getOrderId());
|
|
|
- tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.ALL_REFUND.getStatus());
|
|
|
- tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
|
|
|
-
|
|
|
+ //已支付退款修改订单状态已退款,如果是未支付(取消订单)退款则不修改订单状态
|
|
|
+ if(!(refundDO.getSellMethod()==3 && stradeOrderDO.getPayStatus()!=1)){
|
|
|
+ tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.ALL_REFUND.getStatus());
|
|
|
+ tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
|
|
|
+ }
|
|
|
afterRefundAmountSuccess(tradeOrderDO.getId(), refundDO.getId(), refundDO.getRefundAmount());
|
|
|
TradeOrderLogUtils.setOrderInfo(refundDO.getOrderId(), TradeOrderStatusEnum.REFUNDING.getStatus(), tradeOrderDO.getOrderStatus(), MapUtil.<String, Object>builder().put("result", "成功")
|
|
|
.put("refundId", refundDO.getId()).build());
|