diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java index 798158b87..d2f0465cf 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPayOrderServiceImpl.java @@ -799,8 +799,15 @@ public class WxPayOrderServiceImpl implements WxPayOrderService { if(payAccount == null){ throw new MallinkException(ErrorCode.API_KEY_NOT_FOUND); } + OrderAdapterService orderAdapterService = orderFactory.getOrderAdapterService(EnumComposeOrder.SINGLE.getCode()); + WxComposeOrder composeOrder = orderAdapterService.getComposeOrder(record.getOrderId(), cAppInfo.getTenantId()); + if (composeOrder == null) { + logger.error("pay order reverse, no composeOrder " + record.toString()); + throw new MallinkException(ErrorCode.ORDER_IS_NOT_FIND); + } + try { - PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),record.getPayVersion()).payOrderReverse(cAppInfo, record, payAccount); + PayAdapterResult result = payServiceFactory.getPayAdapterService(record.getPayVendor(),record.getPayVersion()).payOrderReverse(cAppInfo, record, payAccount,composeOrder); if (result.isSuccess()) { record.setPayOrderStatus(EnumPayStatus.PAY_STATUS_REVERSE.getCode()); record.setUpdateTime(new Date()); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java index 0de781c58..2e1264cec 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/PayAdapterService.java @@ -76,7 +76,7 @@ public interface PayAdapterService { * @return * @throws Exception */ - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record,WxPayAccount payAccount) throws Exception; + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record,WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception; /** * API 订单同步 diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v2/miniApp/TtMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v2/miniApp/TtMiniAppPayAdapterService.java index 0180ec1da..a76b04e09 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v2/miniApp/TtMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v2/miniApp/TtMiniAppPayAdapterService.java @@ -240,7 +240,7 @@ public class TtMiniAppPayAdapterService extends BaseTtPayAdapterService implemen } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { return super.payOrderReverse(appInfo, record, payAccount); } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v3/open/TtOpenPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v3/open/TtOpenPayAdapterService.java index 4b4c737db..23a178f97 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v3/open/TtOpenPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/douyin/v3/open/TtOpenPayAdapterService.java @@ -105,7 +105,7 @@ public class TtOpenPayAdapterService extends BaseTtPayAdapterService implements } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { return super.payOrderReverse(appInfo, record, payAccount); } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/h5/WxH5PaySFTService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/h5/WxH5PaySFTService.java index c0090165c..10425267b 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/h5/WxH5PaySFTService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/h5/WxH5PaySFTService.java @@ -53,7 +53,7 @@ public class WxH5PaySFTService extends BaseWxPaySFTAdapterService implements CDr } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { // TODO Auto-generated method stub return null; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/miniApp/appPay/WxMiniAppPaySFTAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/miniApp/appPay/WxMiniAppPaySFTAdapterService.java index e3eb94ec1..c4e6b4d2d 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/miniApp/appPay/WxMiniAppPaySFTAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/sft/miniApp/appPay/WxMiniAppPaySFTAdapterService.java @@ -277,7 +277,7 @@ public class WxMiniAppPaySFTAdapterService extends BaseWxPaySFTAdapterService i } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { return super.payOrderReverse(appInfo, record, payAccount, payAccount.getSubMchId()); } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java index 99694b6e7..06628fa0b 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/h5/WxH5PayService.java @@ -50,7 +50,7 @@ public class WxH5PayService extends BaseWxPayV2AdapterService implements CDrivi } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { // TODO Auto-generated method stub return null; diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java index 5d674f2aa..153786b2f 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/appPay/WxMiniAppPayAdapterService.java @@ -320,7 +320,7 @@ public class WxMiniAppPayAdapterService extends BaseWxPayV2AdapterService implem } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { return super.payOrderReverse(appInfo, record, payAccount,payAccount.getSubMchId()); } diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java index 88cbcaaf2..bc36df272 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v2/miniApp/maPay/WxMiniMaPayAdapterService.java @@ -271,9 +271,16 @@ public class WxMiniMaPayAdapterService extends BaseWxPayV2AdapterService impleme } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { - return super.payOrderReverse(appInfo, record, payAccount,payAccount.getSubMchId()); + String mchId = payAccount.getSubMchId(); + if (record.getMchType() == EnumPayMchType.DIRECT.getCode()) { + mchId = getMerchantUid(record,composeOrder.getSingleOrder()); + //总分 + }else if (record.getMchType() == EnumPayMchType.TOTAL.getCode()) { + mchId = payAccount.getSubMchId(); + } + return super.payOrderReverse(appInfo, record, payAccount,mchId); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java index a0ffa3035..be5de14f9 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java +++ b/mallinkService/src/main/java/com/iformall/service/pay/service/pay/wx/v3/miniApp/appPay/WxMiniAppPayV3AdapterService.java @@ -317,7 +317,7 @@ public class WxMiniAppPayV3AdapterService extends BaseWxPayV3AdapterService impl } @Override - public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount) + public PayAdapterResult payOrderReverse(WxAppinfo appInfo, WxPayOrder record, WxPayAccount payAccount,WxComposeOrder composeOrder) throws Exception { return super.payOrderReverse(appInfo, record, payAccount,payAccount.getSubMchId()); }