lishiqiang 2 недель назад
Родитель
Сommit
3874c9e917

+ 36 - 110
ship-module-ota/ship-module-ota-biz/src/main/java/com/yc/ship/module/ota/service/distributorrecharge/DistributorRechargeServiceImpl.java

@@ -231,9 +231,6 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
                 int tradeType = 1;
                 //
                 String payType = distributorDO.getPayType();
-                if (StringUtils.isBlank(payType)) {
-
-                }
                 String[] payTypeArray = payType.split(",");
                 Stream<String> typeStream = Arrays.stream(payTypeArray);
                 if (ObjectUtil.equals(rechargeDO.getRechargeType(), DistributorTradeTypeEnum.BALANCE_RECHARGE.getType())) {
@@ -371,73 +368,42 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
                                 AtomicBoolean isShareBalance = new AtomicBoolean(false);
                                 AtomicReference<StoreRespDTO> storeRespDTO = new AtomicReference<>();
                                 try{
-                                    if (rechargeReqDTO.getStoreId() != null){
-                                        isShareBalance.set(true);
-                                    }else {
-                                        isShareBalance.set(true);
-                                    }
-
-                                    if(isShareBalance.get()){
-                                        Asserts.isTrue(afterBalance.compareTo(BigDecimal.ZERO)>=0,"平台余额不足额");
-                                        tradeName = "消费金额:" + money + "元,消费后剩余余额" + afterBalance + "元;";
-                                        flag = distributorService.subBalance(distributor.getId(), money);
-                                    }else if(storeRespDTO.get()!=null){
-                                        StoreRespDTO storeRsp = storeRespDTO.get();
-                                        beforeBalance = storeRsp.getBeforeAmount();
-                                        afterBalance = storeRsp.getAfterAmount();
-                                        tradeName = "消费金额:" + money + "元,消费后门店账户剩余余额" + storeRsp.getAfterAmount() + "元;";
-                                        flag = true;
-                                    }
-
+                                    Asserts.isTrue(afterBalance.compareTo(BigDecimal.ZERO)>=0,"平台余额不足额");
+                                    tradeName = "消费金额:" + money + "元,消费后剩余余额" + afterBalance + "元;";
+                                    flag = distributorService.subBalance(distributor.getId(), money);
                                 }catch (ServiceException e){
                                     if(!canChangeToCredit){
                                         throw e;
                                     }
                                 }
-
-                                if(!flag){
-                                    //尝试授信
-//                                    tradeType = DistributorTradeTypeEnum.CREDIT_TRANS.getType();
-                                }
                             } else {
                                 if (!canChangeToCredit) {
                                     throw exception0(11_028, "分销商无预付款交易权限!");
                                 }
-//                                tradeType = DistributorTradeTypeEnum.CREDIT_TRANS.getType();
-                            }
-
-                            if(tradeType == DistributorTradeTypeEnum.CREDIT_TRANS.getType()){
-
-                                rechargeReqDTO.setRechargeType(DistributorTradeTypeEnum.CREDIT_RECHARGE.getType());
-                                rechargeReqDTO.setTradeType(tradeType);
-                                return tradeRecharge(rechargeReqDTO);
                             }
-
                             break;
                         case 5:
-
+                            //预付款退款 定向库存退款 导游代退失败回退预存款
+                            beforeBalance = distributor.getBalance();
+                            //交易后金额
+                            afterBalance = beforeBalance.add(money);
+                            AtomicBoolean isShareBalance;
+                            tradeName ="余额退款金额:" + money + "元,退款到账后剩余余额" + afterBalance + "元";
+                            //操作账户资金
+                            flag = distributorService.addBalance(distributor.getId(), money);
+                            break;
                         case 20:
                             //预付款退款 定向库存退款 导游代退失败回退预存款
                             beforeBalance = distributor.getBalance();
                             //交易后金额
                             afterBalance = beforeBalance.add(money);
-                            AtomicBoolean isShareBalance = new AtomicBoolean(false);
-                            AtomicReference<StoreRespDTO> storeRespDTO = new AtomicReference<>();
-                            if(true){
-                                tradeName =(tradeType==10?"定向库存":"")+"余额退款金额:" + money + "元,退款到账后剩余余额" + afterBalance + "元";
-                                //操作账户资金
-                                flag = distributorService.addBalance(distributor.getId(), money);
-                            }else if(storeRespDTO.get()!=null){
-                                StoreRespDTO storeRsp = storeRespDTO.get();
-                                beforeBalance = storeRsp.getBeforeAmount();
-                                afterBalance = storeRsp.getAfterAmount();
-                                tradeName = (tradeType==10?"定向库存":"")+"余额退款金额:" + money + "元,退款到账后门店账户剩余余额" + storeRsp.getAfterAmount() + "元;";
-                                flag = true;
-                            }
+                            tradeName = "余额退款金额:" + money + "元,退款到账后剩余余额" + afterBalance + "元";
+                            //操作账户资金
+                            flag = distributorService.addBalance(distributor.getId(), money);
                             break;
                         case 2:
                             AtomicBoolean isShareCredit = new AtomicBoolean(false);
-                            storeRespDTO = new AtomicReference<>();
+                            AtomicReference<StoreRespDTO> storeRespDTO = new AtomicReference<>();
                             if (rechargeReqDTO.getStoreId() != null){
                                 //只充门店
                                 StoreReqDTO reqDTO = this.convertStorePlatCredit(rechargeReqDTO.getStoreId(), tradeMode, money, Long.parseLong(rechargeReqDTO.getOrderId()), tradeType, rechargeReqDTO.getRefundId());
@@ -518,12 +484,6 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
                                 flag = true;
                             }
 
-                            break;
-                        case 9:
-                            //交易前金额
-                            beforeBalance = distributor.getBalance();
-                            afterBalance = beforeBalance.subtract(money);
-
                             break;
                         case 14:
                             //营销政策充值
@@ -666,63 +626,27 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
 
                         tradeMode = 2;
                         //门店平台授信
-                        AtomicBoolean isShareCredit = new AtomicBoolean(false);
-                        AtomicReference<StoreRespDTO> storeRespDTO = new AtomicReference<>();
-//                        if (rechargeReqDTO.getStoreId() != null){
-//                            StoreReqDTO reqDTO = this.convertStorePlatCredit(rechargeReqDTO.getStoreId(), tradeMode, money, Long.parseLong(rechargeReqDTO.getOrderId()), tradeType, null);
-//                            TenantUtils.execute(distributor.getAccountTenantId(), () -> {
-//                                StoreInfoReqDTO storeData = storeApi.getStoreById(rechargeReqDTO.getStoreId()).getCheckedData();
-//                                if(ObjectUtil.equals(storeData.getCreditType(), StoreCreditTypeEnum.FIXED.getType())){
-//                                    CommonResult<StoreRespDTO> storeResult = storeApi.storePlatTrade(reqDTO);
-//                                    Asserts.isTrue(storeResult.isSuccess(), storeResult.getMsg());
-//                                    storeRespDTO.set(storeResult.getCheckedData());
-//                                }else if(ObjectUtil.equals(storeData.getCreditType(), StoreCreditTypeEnum.SHARE.getType())){
-//                                    isShareCredit.set(true);
-//                                }else {
-//                                    Asserts.isTrue(true,"该门店禁用授信支付方式");
-//                                }
-//
-//                            });
-//                        }else{
-//                            isShareCredit.set(true);
-//                        }
-                        if(true){
-                            Asserts.isTrue(isUseCredit, "分销商无授信交易权限!");
-                            // 授信总额
-                            BigDecimal payCredit = distributor.getPayCredit();
-                            // 交易前已使用额度
-                            beforeBalance = distributor.getSurplus();
-                            // 交易后已使用额度
-                            afterBalance = beforeBalance.add(money);
-                            if (payCredit != null) {
-//                                if (afterBalance.compareTo(payCredit) > 0) {
-//                                    if(originTradeType == DistributorTradeTypeEnum.BALANCE_TRANS.getType()){
-//                                        throw exception0(11_028, "余额不足,交易失败!");
-//                                    }else {
-//                                        throw exception(CREDIT_INSUFFICIENT_FUNDS);
-//                                    }
-//
-//                                }
-                                BigDecimal creditRemained = payCredit.subtract(afterBalance);
-                                tradeName = "授信消费金额:" + money + "元,授信总额度" + payCredit + "元,消费后剩余额度" + creditRemained + "元;已用额度" + afterBalance + "元";
-                            } else {
-                                tradeName = "授信消费金额:" + money + "元,授信总额度不限,消费后剩余额度不限;已用额度" + afterBalance + "元";
-                            }
-                            distributorService.addSurplus(distributor.getId(), money);
-                            flag = true;
-                        }else if(storeRespDTO.get()!=null){
-                            StoreRespDTO storeRsp = storeRespDTO.get();
-                            beforeBalance = storeRsp.getBeforeAmount();
-                            afterBalance = storeRsp.getAfterAmount();
-                            tradeName = "授信支付金额:" + money + "元,支付后门店已使用授信从" + storeRsp.getBeforeAmount() + "元;变为"+ storeRsp.getAfterAmount();
-                            flag = true;
+                        Asserts.isTrue(isUseCredit, "分销商无授信交易权限!");
+                        // 授信总额
+                        BigDecimal payCredit = distributor.getPayCredit();
+                        // 交易前已使用额度
+                        beforeBalance = distributor.getSurplus();
+                        // 交易后已使用额度
+                        afterBalance = beforeBalance.add(money);
+                        if (payCredit != null) {
+                            BigDecimal creditRemained = payCredit.subtract(afterBalance);
+                            tradeName = "授信消费金额:" + money + "元,授信总额度" + payCredit + "元,消费后剩余额度" + creditRemained + "元;已用额度" + afterBalance + "元";
+                        } else {
+                            tradeName = "授信消费金额:" + money + "元,授信总额度不限,消费后剩余额度不限;已用额度" + afterBalance + "元";
                         }
+                        distributorService.addSurplus(distributor.getId(), money);
+                        flag = true;
                     }
 
                     respDTO = new DistributorRechargeRespDTO();
                     respDTO.setRechargeType(tradeType);
                     if (flag) {
-
+                        log.error("advancePayTypeService.refund交易名称{}金额{}tradeType{}", tradeName, money,tradeType);
                         //添加ota消费记录数据
                         TradeLogDO logDO = new TradeLogDO();
                         logDO.setOperatorId(distributor.getId());
@@ -744,14 +668,16 @@ public class DistributorRechargeServiceImpl implements DistributorRechargeServic
                         respDTO.setTradeId(tradeId);
                         respDTO.setRechargeType(tradeType);
                     } else {
-                        if(!((tradeType == DistributorTradeTypeEnum.CREDIT_RECHARGE.getType() || tradeType == DistributorTradeTypeEnum.CREDIT_TRANS.getType() )&& rechargeReqDTO.getStoreId()!=null)){
-                            throw exception(DISTRIBUTOR_PAY_FAILED);
+                        if(rechargeReqDTO.getStoreId()!=null){
+                            if(!(tradeType == DistributorTradeTypeEnum.CREDIT_RECHARGE.getType())){
+                                throw exception(DISTRIBUTOR_PAY_FAILED);
+                            }
                         }
                     }
                 }
             }
         } catch (ServiceException e) {
-            log.error("[分销商支付]{}", e);
+            log.error("[分销商支付]", e);
             throw new ServiceException(e.getCode(), e.getMessage());
         } catch (Exception e) {
             log.error("[分销商支付]", e);

+ 7 - 26
ship-module-otc/ship-module-otc-biz/src/main/java/com/yc/ship/module/otc/api/store/StoreApiImpl.java

@@ -216,33 +216,14 @@ public class StoreApiImpl implements StoreApi {
         Long logId = null;
         Long storeId = reqDTO.getStoreId();
         StoreDO store = storeService.getStore(storeId);
-
-//        RLock lock = null;
-        try {
-//            if(reqDTO.getOrderId()!=null){
-//                //防止重复提交,如果有记录了就直接返回 ,忽略reqDTO.getTradeModeEnum().getOperateType() == 3 的情况
-//                String key = "store_trade_log:"+reqDTO.getOrderId();
-//                lock = redissonClient.getLock(key);
-//                lock.lock();
-//                StoreTradeLogDO storeTradeLog = storeTradeLogService.getStoreTradeLog(reqDTO.getOrderId(), reqDTO.getTradeModeEnum());
-//                if(storeTradeLog!=null){
-//                    return storeTradeLog.getId();
-//                }
-//            }
-
-            if (store == null) {
-                throw exception0(20_012, "门店不存在!");
-            }
-            if (store.getIsUse() == 0) {
-                throw exception0(20_012, "门店已停用!");
-            }
-            logId = storeService.updateStoreCard(storeId, reqDTO.getTradeModeEnum(), reqDTO.getAmount(), reqDTO.getUserId(), reqDTO.getOrderId(), reqDTO.getRefundId(), reqDTO.getLogId());
-            return logId;
-        }finally {
-//            if(lock!=null && lock.isLocked() && lock.isHeldByCurrentThread()){
-//                lock.unlock();
-//            }
+        if (store == null) {
+            throw exception0(20_012, "门店不存在!");
+        }
+        if (store.getIsUse() == 0) {
+            throw exception0(20_012, "门店已停用!");
         }
+        logId = storeService.updateStoreCard(storeId, reqDTO.getTradeModeEnum(), reqDTO.getAmount(), reqDTO.getUserId(), reqDTO.getOrderId(), reqDTO.getRefundId(), reqDTO.getLogId());
+        return logId;
     }
 
     @Override

+ 3 - 3
ship-module-trade/ship-module-trade-api/src/main/java/com/yc/ship/module/trade/enums/PayTypeEnum.java

@@ -23,9 +23,9 @@ public enum PayTypeEnum implements IntArrayValuable {
     ADVANCE_PAYMENT(5, "预付款","advancePayTypeService"),
     CREDIT_GRANTING(6, "授信支付","creditPayTypeService"),
     // 已废弃 主要用于购买定向库存,和回收定向库存
-    STOCK_DIRECT_FUND(7, "定向库存资金池","stockDirectFundPayTypeService"),
-    //用于支付包含定向库存的产品
-    STOCK_DIRECT_PAY(8, "定向金","stockDirectPayTypeService"),
+    STOCK_DIRECT_FUND(7, "定向库存资金池",""),
+    //已废弃 用于支付包含定向库存的产品
+    STOCK_DIRECT_PAY(8, "定向金",""),
     //账单还款-用于标记,无实际操作
     CORPORATE_TRANSFER_PAY(9, "对公转账",""),
     //账单还款-用于标记,无实际操作

+ 1 - 3
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/pay/impl/AdvancePayTypeServiceImpl.java

@@ -64,9 +64,6 @@ public class AdvancePayTypeServiceImpl implements PayTypeService {
                 , PaySourceEnum.CREDIT_BILL_REPAYMENT.getType(),PaySourceEnum.STOCK_DIRECT_ORDER.getType()) && payOrderReqVO.getStoreId()!=null){
             rechargeReqDTO.setStoreId(payOrderReqVO.getStoreId());
         }
-        if(ObjectUtil.equal(tradeOrderPayDO.getSellMethod(),PaySourceEnum.STOCK_DIRECT_ORDER.getType())){
-            rechargeReqDTO.setTradeType(DistributorTradeTypeEnum.STOCK_DIRECT_TRANS.getType());
-        }
         CommonResult<DistributorRechargeRespDTO> result = otaDistributorApi.tradeRecharge(rechargeReqDTO);
         DistributorRechargeRespDTO respDTO = result.getCheckedData();
         if(respDTO != null){
@@ -82,6 +79,7 @@ public class AdvancePayTypeServiceImpl implements PayTypeService {
 
     @Override
     public Long refund(RefundDO refundDO, RefundRecordDO refundRecordDO) {
+        log.error("advancePayTypeService.refund余额退款{}退款金额{}", refundRecordDO.getRefundId(), refundRecordDO.getRefundAmount());
         DistributorRechargeReqDTO rechargeReqDTO = new DistributorRechargeReqDTO();
         rechargeReqDTO.setAccountId(refundDO.getRefundUser());
 //        rechargeReqDTO.setAccountType();不区分类型

+ 1 - 48
ship-module-trade/ship-module-trade-biz/src/main/java/com/yc/ship/module/trade/service/pay/impl/StockDirectFundPayTypeServiceImpl.java

@@ -1,22 +1,9 @@
 package com.yc.ship.module.trade.service.pay.impl;
 
 
-
-import com.yc.ship.framework.common.pojo.CommonResult;
-import com.yc.ship.module.ota.api.OtaDistributorApi;
-import com.yc.ship.module.ota.api.dto.DistributorRechargeReqDTO;
-import com.yc.ship.module.ota.api.dto.DistributorRechargeRespDTO;
-import com.yc.ship.module.ota.enums.DistributorTradeTypeEnum;
-import com.yc.ship.module.trade.controller.admin.order.vo.order.PayOrderReqVO;
-import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderPayDO;
-import com.yc.ship.module.trade.dal.dataobject.refund.RefundDO;
-import com.yc.ship.module.trade.dal.dataobject.refund.RefundRecordDO;
-import com.yc.ship.module.trade.service.pay.PayTypeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
-
 /**
  * 已废弃2025-04-01,定向库存支付方式只有微信、支付宝、预付款
  * &#064;Description :定向库存资金池,主要用于分销商购买定向库存,和回收定向库存
@@ -25,41 +12,7 @@ import javax.annotation.Resource;
  */
 @Service("stockDirectFundPayTypeService")
 @Slf4j
-public class StockDirectFundPayTypeServiceImpl implements PayTypeService {
-
-    @Resource
-    private OtaDistributorApi otaDistributorApi;
-
-    @Override
-    public Long deduct(TradeOrderPayDO tradeOrderPayDO, PayOrderReqVO payOrderReqVO) {
+public class StockDirectFundPayTypeServiceImpl{
 
-        DistributorRechargeReqDTO rechargeReqDTO = new DistributorRechargeReqDTO();
-        rechargeReqDTO.setAccountId(payOrderReqVO.getAccountId());
-        rechargeReqDTO.setAccountType(payOrderReqVO.getAccountType());
-        rechargeReqDTO.setAmount(tradeOrderPayDO.getPayAmount());
-        rechargeReqDTO.setRechargeType(DistributorTradeTypeEnum.STOCK_DIRECT_RECHARGE.getType());
-        rechargeReqDTO.setTradeType(DistributorTradeTypeEnum.STOCK_DIRECT_TRANS.getType());
-        rechargeReqDTO.setOrderId(String.valueOf(tradeOrderPayDO.getOrderId()));
-        rechargeReqDTO.setIsFixed(1);
-        CommonResult<DistributorRechargeRespDTO> result = otaDistributorApi.tradeRecharge(rechargeReqDTO);
-        DistributorRechargeRespDTO respDTO = result.getCheckedData();
-        if(respDTO != null){
-            return respDTO.getTradeId();
-        }
-        return 0L;
-    }
 
-    @Override
-    public Long refund(RefundDO refundDO, RefundRecordDO refundRecordDO) {
-        DistributorRechargeReqDTO rechargeReqDTO = new DistributorRechargeReqDTO();
-        rechargeReqDTO.setAccountId(refundDO.getRefundUser());
-//        rechargeReqDTO.setAccountType();不区分类型
-        rechargeReqDTO.setAmount(refundRecordDO.getRefundAmount());
-        rechargeReqDTO.setRechargeType(DistributorTradeTypeEnum.STOCK_DIRECT_RECHARGE.getType());
-        rechargeReqDTO.setTradeType(DistributorTradeTypeEnum.STOCK_DIRECT_REFUND.getType());
-        rechargeReqDTO.setOrderId(String.valueOf(refundDO.getOrderId()));
-        CommonResult<DistributorRechargeRespDTO> result = otaDistributorApi.tradeRecharge(rechargeReqDTO);
-        DistributorRechargeRespDTO respDTO = result.getCheckedData();
-        return respDTO==null?0L:respDTO.getTradeId();
-    }
 }

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

@@ -1463,15 +1463,10 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                 Long tradeId = payTypeService.refund(refundDO, refundRecordDO);
                 //更新退款记录(退款成功)
                 refundRecordDO.setRefundNo(tradeId.toString());
-                refundRecordDO.setRefundTime(LocalDateTime.now());
-                refundRecordDO.setRefundStatus(RefundStatusEnum.REFUND.getStatus());
-                tradeRefundRepositoryService.updateRefundRecord(refundRecordDO);
-            } else {
-                //直接退款成功,更新退款记录(退款成功)
-                refundRecordDO.setRefundTime(LocalDateTime.now());
-                refundRecordDO.setRefundStatus(RefundStatusEnum.REFUND.getStatus());
-                tradeRefundRepositoryService.updateRefundRecord(refundRecordDO);
             }
+            refundRecordDO.setRefundTime(LocalDateTime.now());
+            refundRecordDO.setRefundStatus(RefundStatusEnum.REFUND.getStatus());
+            tradeRefundRepositoryService.updateRefundRecord(refundRecordDO);
         } catch (ServiceException e) {
             ExceptionUtils.log(log, "根据支付类型退款失败:", e);
             return CommonResult.error(e);
@@ -1496,7 +1491,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                 afterRefundSuccess(refundDO);
             }
         } catch (Exception e) {
-            log.error("退款单更新异常refundId:" + refundDO.getId(), e);
+            log.error("退款单更新异常refundId:{}", refundDO.getId(), e);
         } finally {
             if (lock.isLocked() && lock.isHeldByCurrentThread()) {
                 lock.unlock();
@@ -1516,15 +1511,9 @@ public class TradeRefundServiceImpl implements TradeRefundService {
         try {
             if (lock.tryLock(60, 90, TimeUnit.SECONDS)) {
                 Map<String, Long> refundCountMap = tradeOrderRepositoryService.getRefundCount(refundDO.getOrderId());
-                Long totalCount = refundCountMap.get("totalCount");
-                Long refundCount = refundCountMap.get("refundCount");
                 TradeOrderDO tradeOrderDO = new TradeOrderDO();
                 tradeOrderDO.setId(refundDO.getOrderId());
-//                if (ObjectUtil.equal(totalCount, refundCount)) {
-                    tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.ALL_REFUND.getStatus());
-//                } else {
-//                    tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.PARTIAL_REFUND.getStatus());
-//                }
+                tradeOrderDO.setOrderStatus(TradeOrderStatusEnum.ALL_REFUND.getStatus());
                 tradeOrderRepositoryService.updateOrderStatus(tradeOrderDO);
 
                 afterRefundAmountSuccess(tradeOrderDO.getId(), refundDO.getId(), refundDO.getRefundAmount());
@@ -1532,7 +1521,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                         .put("refundId", refundDO.getId()).build());
             }
         } catch (Exception e) {
-            log.error("订单更新异常orderId:" + refundDO.getOrderId(), e);
+            log.error("订单更新异常orderId:{}", refundDO.getOrderId(), e);
         } finally {
             if (lock.isLocked() && lock.isHeldByCurrentThread()) {
                 lock.unlock();
@@ -1590,7 +1579,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                 }
             }
         } catch (Exception e) {
-            log.error("退款单更新异常refundId:" + refundDO.getId(), e);
+            log.error("退款单更新异常refundId:{}", refundDO.getId(), e);
         } finally {
             if (lock.isLocked() && lock.isHeldByCurrentThread()) {
                 lock.unlock();
@@ -1629,7 +1618,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                 }
             }
         } catch (Exception e) {
-            log.error("供应商重试退款修改退款批次异常refundId:" + refundId, e);
+            log.error("供应商重试退款修改退款批次异常refundId:{}", refundId, e);
         } finally {
             if (lock.isLocked() && lock.isHeldByCurrentThread()) {
                 lock.unlock();
@@ -1651,7 +1640,7 @@ public class TradeRefundServiceImpl implements TradeRefundService {
                 }
             }
         } catch (Exception e) {
-            log.error("供应商重试退款修改退款批次异常refundId:" + refundId, e);
+            log.error("供应商重试退款修改退款批次异常refundId:{}", refundId, e);
         } finally {
             if (lock.isLocked() && lock.isHeldByCurrentThread()) {
                 lock.unlock();