From 74a47a892bca47993a1cb3fcb365d560e9798616 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 29 三月 2023 13:35:24 +0800
Subject: [PATCH] add return fee cert

---
 service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeMoneyAdapt.java |   27 +++++++--------------------
 1 files changed, 7 insertions(+), 20 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 438ab11..34e2600 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
@@ -49,15 +49,14 @@
 @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";
 
@@ -71,7 +70,6 @@
 
     @Autowired
     private IOnlinePayV1InnerServiceSMO onlinePayV1InnerServiceSMOImpl;
-
 
     @Autowired
     private ISmallWechatV1InnerServiceSMO smallWechatV1InnerServiceSMOImpl;
@@ -89,18 +87,15 @@
     @Autowired
     private OssUploadTemplate ossUploadTemplate;
 
-
     @Override
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
         OnlinePayPo oaWorkflowDataPo = BeanConvertUtil.covertBean(data, OnlinePayPo.class);
-
         try {
             doPayFeeMoney(oaWorkflowDataPo);
         } catch (Exception e) {
             e.printStackTrace();
         }
-
     }
 
     /**
@@ -109,17 +104,14 @@
      * @param oaWorkflowDataPo
      */
     public void doPayFeeMoney(OnlinePayPo oaWorkflowDataPo) throws Exception {
-
         //鏌ヨ灏忓尯淇℃伅
         OnlinePayDto onlinePayDto = new OnlinePayDto();
         onlinePayDto.setPayId(oaWorkflowDataPo.getPayId());
         onlinePayDto.setState(OnlinePayDto.STATE_WT);
         List<OnlinePayDto> onlinePayDtos = onlinePayV1InnerServiceSMOImpl.queryOnlinePays(onlinePayDto);
-
         if (onlinePayDtos == null || onlinePayDtos.size() < 1) {
             return;
         }
-
         String payPassword = "";
         String certData = "";
         String mchPassword = "";
@@ -129,16 +121,20 @@
         List<SmallWeChatDto> smallWeChatDtos = smallWechatV1InnerServiceSMOImpl.querySmallWechats(smallWeChatDto);
         if (smallWeChatDto == null || smallWeChatDtos.size() <= 0) {
             payPassword = MappingCache.getValue(MappingConstant.WECHAT_STORE_DOMAIN, "key");
-            certData = MappingCache.getRemark(WechatConstant.WECHAT_DOMAIN, "cert");
+            certData = MappingCache.getRemark(MappingConstant.WECHAT_STORE_DOMAIN, "cert");
             mchPassword = MappingCache.getValue(MappingConstant.WECHAT_STORE_DOMAIN, "mchId");
         } else {
             payPassword = smallWeChatDtos.get(0).getPayPassword();
             certData = smallWeChatDtos.get(0).getCertPath();
             mchPassword = smallWeChatDtos.get(0).getMchId();
+            if(StringUtil.isEmpty(certData)){
+                certData = MappingCache.getRemark(MappingConstant.WECHAT_STORE_DOMAIN, "cert");
+            }
         }
+
+
         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)) {
@@ -153,8 +149,6 @@
         parameters.put("refund_fee", PayUtil.moneyToIntegerStr(Double.parseDouble(onlinePayDtos.get(0).getRefundFee())));//閫�娆鹃噾棰� 鍗曚綅涓哄垎锛侊紒锛�
         parameters.put("sign", PayUtil.createSign(parameters, payPassword));
         String xmlData = PayUtil.mapToXml(parameters);
-
-
         KeyStore keyStore = KeyStore.getInstance("PKCS12");
         ByteArrayInputStream inputStream = new ByteArrayInputStream(getPkcs12(certData));
         try {
@@ -163,7 +157,6 @@
         } finally {
             inputStream.close();
         }
-
         SSLContext sslcontext = SSLContexts.custom()
                 //杩欓噷涔熸槸鍐欏瘑鐮佺殑
                 .loadKeyMaterial(keyStore, mchPassword.toCharArray())
@@ -190,15 +183,12 @@
         } finally {
             httpclient.close();
         }
-
         Map<String, String> resMap = PayUtil.xmlStrToMap(jsonStr);
-
         if ("SUCCESS".equals(resMap.get("return_code")) && "SUCCESS".equals(resMap.get("result_code"))) {
             doUpdateOnlinePay(onlinePayDtos.get(0).getOrderId(), OnlinePayDto.STATE_CT, "閫�娆惧畬鎴�");
         } else {
             doUpdateOnlinePay(onlinePayDtos.get(0).getOrderId(), OnlinePayDto.STATE_FT, resMap.get("return_msg"));
         }
-
     }
 
     private void doUpdateOnlinePay(String orderId, String state, String message) {
@@ -211,10 +201,8 @@
 
     private byte[] getPkcs12(String fileName) {
         List<FileDto> fileDtos = new ArrayList<>();
-
         byte[] context = null;
         String ftpPath = "hc/";
-
         String ossSwitch = MappingCache.getValue(MappingConstant.FILE_DOMAIN, OSSUtil.OSS_SWITCH);
         if (StringUtil.isEmpty(ossSwitch) || !OSSUtil.OSS_SWITCH_OSS.equals(ossSwitch)) {
             String ftpServer = MappingCache.getValue(FtpUploadTemplate.FTP_DOMAIN, FtpUploadTemplate.FTP_SERVER);
@@ -229,7 +217,6 @@
                     0, "",
                     "");
         }
-
         return context;
     }
 }

--
Gitblit v1.8.0