Przeglądaj źródła

fix:多汇付退款

ct 2 dni temu
rodzic
commit
55b758a597

+ 1 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStorePaymentScrmController.java

@@ -223,6 +223,7 @@ public class FsStorePaymentScrmController extends BaseController
                 request.setOrdAmt(payment.getPayMoney().toString());
                 request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
                 request.setReqSeqId("refund-"+payment.getPayCode());
+                request.setAppId(payment.getAppId());
                 Map<String, Object> extendInfoMap = new HashMap<>();
                 extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                 request.setExtendInfo(extendInfoMap);

+ 1 - 0
fs-service/src/main/java/com/fs/course/service/impl/FsCourseProductOrderServiceImpl.java

@@ -680,6 +680,7 @@ public class FsCourseProductOrderServiceImpl extends ServiceImpl<FsCourseProduct
                     request.setOrdAmt(payment.getPayMoney().toString());
                     request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
                     request.setReqSeqId("refund-"+payment.getPayCode());
+                    request.setAppId(payment.getAppId());
                     Map<String, Object> extendInfoMap = new HashMap<>();
                     extendInfoMap.put("org_req_seq_id", "product-"+payment.getPayCode());
                     request.setExtendInfo(extendInfoMap);

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java

@@ -457,6 +457,7 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
                         request.setOrdAmt(payment.getPayMoney().toString());
                         request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
                         request.setReqSeqId("refund-"+payment.getPayCode());
+                        request.setAppId(payment.getAppId());
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_req_seq_id", "inquiry-"+payment.getPayCode());
                         request.setExtendInfo(extendInfoMap);
@@ -1593,6 +1594,7 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
                     request.setOrdAmt(payment.getPayMoney().toString());
                     request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
                     request.setReqSeqId("refund-"+payment.getPayCode());
+                    request.setAppId(payment.getAppId());
                     Map<String, Object> extendInfoMap = new HashMap<>();
                     extendInfoMap.put("org_req_seq_id", "inquiry-"+payment.getPayCode());
                     request.setExtendInfo(extendInfoMap);

+ 1 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsStoreAfterSalesServiceImpl.java

@@ -557,6 +557,7 @@ public class FsStoreAfterSalesServiceImpl implements IFsStoreAfterSalesService {
                 request.setOrgReqDate(new SimpleDateFormat("yyyyMMdd").format(payment.getCreateTime()));
                 request.setReqSeqId("refund-" + payment.getPayCode());
                 Map<String, Object> extendInfoMap = new HashMap<>();
+                request.setAppId(payment.getAppId());
                 extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
 
                 //处理分账退款

+ 1 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsStorePaymentServiceImpl.java

@@ -520,6 +520,7 @@ public class FsStorePaymentServiceImpl implements IFsStorePaymentService {
                 request.setReqSeqId("refund-"+fsStorePayment.getPayCode());
                 Map<String, Object> extendInfoMap = new HashMap<>();
                 extendInfoMap.put("org_req_seq_id", orderType+"-"+fsStorePayment.getPayCode());
+                request.setAppId(fsStorePayment.getAppId());
                 request.setExtendInfo(extendInfoMap);
                 //处理分账退款
                 //1.判断是否是全额退款

+ 1 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsUserInformationCollectionServiceImpl.java

@@ -938,6 +938,7 @@ public class FsUserInformationCollectionServiceImpl extends ServiceImpl<FsUserIn
         Map<String, Object> extendInfoMap = new HashMap<>();
         extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
         request.setExtendInfo(extendInfoMap);
+        request.setAppId(payment.getAppId());
         HuiFuRefundResult refund = huiFuService.refund(request);
         logger.info("订单退款返回结果:退款订单id:" + orderId + refund);
         if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {

+ 2 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreAfterSalesScrmServiceImpl.java

@@ -847,6 +847,7 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                         request.setExtendInfo(extendInfoMap);
+                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         logger.info("退款:"+refund);
                         if((refund.getResp_code().equals("00000000")||refund.getResp_code().equals("00000100"))&&(refund.getTrans_stat().equals("S")||refund.getTrans_stat().equals("P"))){
@@ -1566,6 +1567,7 @@ public class FsStoreAfterSalesScrmServiceImpl implements IFsStoreAfterSalesScrmS
                 Map<String, Object> extendInfoMap = new HashMap<>();
                 extendInfoMap.put("org_req_seq_id", orderType + "-" + payment.getPayCode());
                 request.setExtendInfo(extendInfoMap);
+                request.setAppId(payment.getAppId());
                 HuiFuRefundResult refund = huiFuService.refund(request);
                 logger.info("订单退款返回结果:退款订单id:" + order.getOrderId() + refund);
                 if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {

+ 1 - 0
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -2509,6 +2509,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                         request.setExtendInfo(extendInfoMap);
+                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         logger.info("退款:" + refund);
                         if ((refund.getResp_code().equals("00000000") || refund.getResp_code().equals("00000100")) && (refund.getTrans_stat().equals("S") || refund.getTrans_stat().equals("P"))) {

+ 15 - 0
fs-service/src/main/java/com/fs/huifuPay/sdk/opps/core/request/V2TradePaymentScanpayRefundRequest.java

@@ -52,6 +52,12 @@ public class V2TradePaymentScanpayRefundRequest extends BaseRequest {
     private String acctSplitBunch;
 
 
+    /**
+     *小程序
+     * **/
+    private String appId;
+
+
     @Override
     public FunctionCodeEnum getFunctionCode() {
         return FunctionCodeEnum.V2_TRADE_PAYMENT_SCANPAY_REFUND;
@@ -124,4 +130,13 @@ public class V2TradePaymentScanpayRefundRequest extends BaseRequest {
     public void setAcctSplitBunch(String acctSplitBunch) {
         this.acctSplitBunch = acctSplitBunch;
     }
+
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
 }

+ 13 - 1
fs-service/src/main/java/com/fs/huifuPay/service/impl/HuiFuServiceImpl.java

@@ -152,7 +152,19 @@ public class HuiFuServiceImpl implements HuiFuService {
     public HuiFuRefundResult refund(V2TradePaymentScanpayRefundRequest request) {
         HuiFuRefundResult huiFuRefundResult=null;
         try {
-            doInit(getMerConfig());
+            if (request.getAppId() != null) {
+                FsHfpayConfigMapper fsHfpayConfigMapper = SpringUtils.getBean(FsHfpayConfigMapper.class);
+                FsHfpayConfig fsHfpayConfig = fsHfpayConfigMapper.selectByAppId(request.getAppId());
+                if (fsHfpayConfig != null) {
+                    //多汇付支付获取配置
+                    doInit(getMerConfig(fsHfpayConfig));
+                } else {
+                    //多小程序
+                    doInit(getMerConfig());
+                }
+            } else {
+                doInit(getMerConfig());
+            }
             request.setReqDate(DateTools.getCurrentDateYYYYMMDD());
             Map<String, Object> response = doExecute(request);
             String jsonString = JSONObject.toJSONString(response);

+ 1 - 0
fs-service/src/main/java/com/fs/live/service/impl/LiveAfterSalesServiceImpl.java

@@ -1096,6 +1096,7 @@ public class LiveAfterSalesServiceImpl implements ILiveAfterSalesService {
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                         request.setExtendInfo(extendInfoMap);
+                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         log.info("退款:" + refund);
                         if (refund != null && ("00000000".equals(refund.getResp_code()) || "00000100".equals(refund.getResp_code()))

+ 2 - 0
fs-service/src/main/java/com/fs/live/service/impl/LiveOrderServiceImpl.java

@@ -1308,6 +1308,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                         request.setExtendInfo(extendInfoMap);
+                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         log.info("退款:" + refund);
                         if (refund != null && ("00000000".equals(refund.getResp_code()) || "00000100".equals(refund.getResp_code()))
@@ -1504,6 +1505,7 @@ public class LiveOrderServiceImpl implements ILiveOrderService {
                         Map<String, Object> extendInfoMap = new HashMap<>();
                         extendInfoMap.put("org_party_order_id", payment.getBankSerialNo());
                         request.setExtendInfo(extendInfoMap);
+                        request.setAppId(payment.getAppId());
                         HuiFuRefundResult refund = huiFuService.refund(request);
                         log.info("退款:" + refund);
                         if (refund != null && ("00000000".equals(refund.getResp_code()) || "00000100".equals(refund.getResp_code()))