lishiqiang пре 2 недеља
родитељ
комит
7045926fd6

+ 1 - 0
ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/TradeOrderOperateTypeEnum.java

@@ -48,6 +48,7 @@ public enum TradeOrderOperateTypeEnum {
     ORDER_BC_PAY(33, "订单补差价支付,支付方式:{payType},金额:{payAmount}"),
     ORDER_AUDIT_LOG(34, "订单进入审核"),
     ORDER_REMARK_UPDATE(35, "修改订单备注,修改记录:{content},结果:{result}"),
+    ORDER_CANCEL_REFUND(36, "取消订单退款,修改记录:{content},结果:{result}"),
     ;
 
     /**

+ 27 - 0
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/refund/impl/TradeRefundServiceImpl.java

@@ -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);