From 05683f2b2bdbdbe21cf17ad523c21ab338bd1c54 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 19 七月 2022 21:49:55 +0800
Subject: [PATCH] 优化添加设备 功能

---
 service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java |   35 +++++++++++++++++++++++++++--------
 1 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java b/service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java
index ec3a352..3a187aa 100644
--- a/service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.FtpUploadTemplate;
 import com.java110.core.client.OssUploadTemplate;
+import com.java110.core.log.LoggerFactory;
 import com.java110.dto.file.FileDto;
 import com.java110.dto.onlinePay.OnlinePayDto;
 import com.java110.dto.smallWeChat.SmallWeChatDto;
@@ -10,7 +11,6 @@
 import com.java110.intf.acct.IOnlinePayV1InnerServiceSMO;
 import com.java110.intf.fee.IReturnPayFeeInnerServiceSMO;
 import com.java110.intf.order.IOrderInnerServiceSMO;
-import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
 import com.java110.intf.store.ISmallWechatV1InnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.po.onlinePay.OnlinePayPo;
@@ -30,7 +30,6 @@
 import org.apache.http.ssl.SSLContexts;
 import org.apache.http.util.EntityUtils;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
@@ -49,6 +48,20 @@
 @Component(value = "returnPayFeeMoneyAdapt")
 public class ReturnPayFeeMoneyAdapt extends DatabusAdaptImpl {
 
+
+    //寰俊鏀粯
+    public static final String DOMAIN_WECHAT_PAY = "WECHAT_PAY";
+    // 寰俊鏈嶅姟鍟嗘敮浠樺紑鍏�
+    public static final String WECHAT_SERVICE_PAY_SWITCH = "WECHAT_SERVICE_PAY_SWITCH";
+
+    //寮�鍏砄N鎵撳紑
+    public static final String WECHAT_SERVICE_PAY_SWITCH_ON = "ON";
+
+
+    private static final String WECHAT_SERVICE_APP_ID = "SERVICE_APP_ID";
+
+    private static final String WECHAT_SERVICE_MCH_ID = "SERVICE_MCH_ID";
+
     @Autowired
     private IReturnPayFeeInnerServiceSMO returnPayFeeInnerServiceSMOImpl;
 
@@ -61,7 +74,6 @@
 
     @Autowired
     private ISmallWechatV1InnerServiceSMO smallWechatV1InnerServiceSMOImpl;
-
 
     @Autowired
     private RestTemplate outRestTemplate;
@@ -109,7 +121,7 @@
 
         String payPassword = "";
         String certData = "";
-
+        String mchPassword = "";
         SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
         smallWeChatDto.setMchId(onlinePayDtos.get(0).getMchId());
         smallWeChatDto.setAppId(onlinePayDtos.get(0).getAppId());
@@ -117,15 +129,22 @@
         if (smallWeChatDto == null || smallWeChatDtos.size() <= 0) {
             payPassword = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "key");
             certData = MappingCache.getRemark(WechatConstant.WECHAT_DOMAIN, "cert");
+            mchPassword = MappingCache.getValue(WechatConstant.WECHAT_DOMAIN, "mchId");
         } else {
             payPassword = smallWeChatDtos.get(0).getPayPassword();
             certData = smallWeChatDtos.get(0).getCertPath();
-
+            mchPassword = smallWeChatDtos.get(0).getMchId();
         }
-
         SortedMap<String, String> parameters = new TreeMap<String, String>();
+        String paySwitch = MappingCache.getValue(DOMAIN_WECHAT_PAY, WECHAT_SERVICE_PAY_SWITCH);
+
         parameters.put("appid", onlinePayDtos.get(0).getAppId());//appid
         parameters.put("mch_id", onlinePayDtos.get(0).getMchId());//鍟嗘埛鍙�
+        if (WECHAT_SERVICE_PAY_SWITCH_ON.equals(paySwitch)) {
+            mchPassword = MappingCache.getValue(DOMAIN_WECHAT_PAY, WECHAT_SERVICE_MCH_ID);
+            parameters.put("mch_id", mchPassword);//鍟嗘埛鍙�
+            parameters.put("sub_mch_id", onlinePayDtos.get(0).getMchId());//鍟嗘埛鍙�
+        }
         parameters.put("nonce_str", PayUtil.makeUUID(32));//闅忔満鏁�
         parameters.put("out_trade_no", onlinePayDtos.get(0).getOrderId());//鍟嗘埛璁㈠崟鍙�
         parameters.put("out_refund_no", onlinePayDtos.get(0).getPayId());//鎴戜滑鑷繁璁惧畾鐨勯��娆剧敵璇峰彿锛岀害鏉熶负UK
@@ -139,14 +158,14 @@
         ByteArrayInputStream inputStream = new ByteArrayInputStream(getPkcs12(certData));
         try {
             //杩欓噷鍐欏瘑鐮�..榛樿鏄綘鐨凪CHID
-            keyStore.load(inputStream, onlinePayDtos.get(0).getMchId().toCharArray());
+            keyStore.load(inputStream, mchPassword.toCharArray());
         } finally {
             inputStream.close();
         }
 
         SSLContext sslcontext = SSLContexts.custom()
                 //杩欓噷涔熸槸鍐欏瘑鐮佺殑
-                .loadKeyMaterial(keyStore, onlinePayDtos.get(0).getMchId().toCharArray())
+                .loadKeyMaterial(keyStore, mchPassword.toCharArray())
                 .build();
         SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                 sslcontext,

--
Gitblit v1.8.0