|
|
@@ -35,6 +35,7 @@ import com.yc.ship.module.trade.dal.dataobject.bill.BillStoreDO;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.order.*;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.refund.*;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.supplier.SupplierRefundDO;
|
|
|
+import com.yc.ship.module.trade.dal.mysql.order.TradeOrderLogMapper;
|
|
|
import com.yc.ship.module.trade.dal.mysql.order.TradeOrderMapper;
|
|
|
import com.yc.ship.module.trade.dal.mysql.order.TradeOrderTotalMapper;
|
|
|
import com.yc.ship.module.trade.dal.mysql.order.TradeVisitorMapper;
|
|
|
@@ -102,6 +103,8 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
@Resource
|
|
|
private TradeRefundRepositoryService tradeRefundRepositoryService;
|
|
|
@Resource
|
|
|
+ private TradeOrderLogMapper tradeOrderLogMapper;
|
|
|
+ @Resource
|
|
|
private Map<String, PayTypeService> payTypeServiceMap;
|
|
|
@Resource
|
|
|
private PayPlatService payPlatService;
|
|
|
@@ -438,6 +441,16 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
refundRecordDO.setRefundStatus(RefundStatusEnum.REFUND.getStatus());
|
|
|
tradeRefundRepositoryService.updateRefundRecord(refundRecordDO);
|
|
|
}
|
|
|
+ TradeOrderLogDO tradeOrderLogDO = new TradeOrderLogDO();
|
|
|
+ tradeOrderLogDO.setId(IdWorker.getId());
|
|
|
+ tradeOrderLogDO.setOrderId(tradeOrderDO.getId());
|
|
|
+ tradeOrderLogDO.setUserId(getLoginUserId());
|
|
|
+ tradeOrderLogDO.setUserType(2);
|
|
|
+ tradeOrderLogDO.setOperateType(TradeOrderOperateTypeEnum.ORDER_CANCEL_REFUND.getType());
|
|
|
+ tradeOrderLogDO.setBeforeStatus(tradeOrderDO.getOrderStatus());
|
|
|
+ tradeOrderLogDO.setAfterStatus(TradeOrderStatusEnum.CANCELED.getStatus());
|
|
|
+ tradeOrderLogDO.setContent("取消订单退款,金额"+refundDO.getRefundAmount());
|
|
|
+ tradeOrderLogMapper.insert(tradeOrderLogDO);
|
|
|
}else{
|
|
|
log.error(tradeOrderDO.getOrderNo()+ "定金退款开始调用余额授信退款"+refundDO.getRefundAmount());
|
|
|
PayTypeEnum payType = PayTypeEnum.valueOf(refundRecordDO.getPaymentType());
|
|
|
@@ -450,6 +463,16 @@ public class TradeRefundServiceImpl implements TradeRefundService {
|
|
|
refundRecordDO.setRefundTime(LocalDateTime.now());
|
|
|
refundRecordDO.setRefundStatus(RefundStatusEnum.REFUND.getStatus());
|
|
|
tradeRefundRepositoryService.updateRefundRecord(refundRecordDO);
|
|
|
+ TradeOrderLogDO tradeOrderLogDO = new TradeOrderLogDO();
|
|
|
+ tradeOrderLogDO.setId(IdWorker.getId());
|
|
|
+ tradeOrderLogDO.setOrderId(tradeOrderDO.getId());
|
|
|
+ tradeOrderLogDO.setUserId(getLoginUserId());
|
|
|
+ tradeOrderLogDO.setUserType(2);
|
|
|
+ tradeOrderLogDO.setOperateType(TradeOrderOperateTypeEnum.ORDER_CANCEL_REFUND.getType());
|
|
|
+ tradeOrderLogDO.setBeforeStatus(tradeOrderDO.getOrderStatus());
|
|
|
+ tradeOrderLogDO.setAfterStatus(TradeOrderStatusEnum.CANCELED.getStatus());
|
|
|
+ tradeOrderLogDO.setContent("取消订单退款,金额"+refundDO.getRefundAmount());
|
|
|
+ tradeOrderLogMapper.insert(tradeOrderLogDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1586,6 +1609,10 @@ 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);
|