From bade0fc4b852efe8381609d39897440fa46c490e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期三, 01 十一月 2023 15:51:21 +0800
Subject: [PATCH] 优化代码

---
 service-acct/src/main/java/com/java110/acct/payment/adapt/plutus/QrCodePlutusPaymentAdapt.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/service-acct/src/main/java/com/java110/acct/payment/adapt/plutus/QrCodePlutusPaymentAdapt.java b/service-acct/src/main/java/com/java110/acct/payment/adapt/plutus/QrCodePlutusPaymentAdapt.java
index 5a1014e..df66f5b 100644
--- a/service-acct/src/main/java/com/java110/acct/payment/adapt/plutus/QrCodePlutusPaymentAdapt.java
+++ b/service-acct/src/main/java/com/java110/acct/payment/adapt/plutus/QrCodePlutusPaymentAdapt.java
@@ -4,11 +4,15 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.acct.smo.IQrCodePaymentSMO;
 import com.java110.core.client.RestTemplate;
+import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.core.factory.PlutusFactory;
 import com.java110.dto.paymentPoolValue.PaymentPoolValueDto;
+import com.java110.dto.wechat.OnlinePayDto;
 import com.java110.dto.wechat.SmallWeChatDto;
+import com.java110.intf.acct.IOnlinePayV1InnerServiceSMO;
 import com.java110.intf.acct.IPaymentPoolValueV1InnerServiceSMO;
 import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
+import com.java110.po.wechat.OnlinePayPo;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.constant.MappingConstant;
 import com.java110.utils.constant.WechatConstant;
@@ -59,6 +63,9 @@
     @Autowired
     private IPaymentPoolValueV1InnerServiceSMO paymentPoolValueV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IOnlinePayV1InnerServiceSMO onlinePayV1InnerServiceSMOImpl;
+
     @Override
     public ResultVo pay(String communityId, String orderNum, double money, String authCode, String feeName,String paymentPoolId) throws Exception {
         logger.info("銆愬皬绋嬪簭鏀粯銆� 缁熶竴涓嬪崟寮�濮�, 璁㈠崟缂栧彿=" + orderNum);
@@ -106,6 +113,7 @@
 
         String param = PlutusFactory.Encryption(paramMap.toJSONString(), privateKey,key,devId);
         System.out.println(param);
+        doSaveOnlinePay(shopSmallWeChatDto, "-1", orderNum, feeName, payAmount, OnlinePayDto.STATE_WAIT, "寰呮敮浠�");
 
         String str = PlutusFactory.post(PAY_UNIFIED_ORDER_URL, param);
         System.out.println(str);
@@ -128,6 +136,8 @@
 
         JSONObject paramObj = JSONObject.parseObject(paramOut);
         if ("1".equals(paramObj.getString("status"))) {
+            doUpdateOnlinePay(orderNum, OnlinePayDto.STATE_COMPILE, "鏀粯鎴愬姛");
+
             return new ResultVo(ResultVo.CODE_OK, "鎴愬姛");
         } else {
             return new ResultVo(ResultVo.CODE_ERROR, paramObj.getString("remark"));
@@ -196,6 +206,7 @@
         JSONObject paramObj = JSONObject.parseObject(paramOut);
 
         if ("1".equals(paramObj.getString("status"))) {
+            doUpdateOnlinePay(orderNum, OnlinePayDto.STATE_COMPILE, "鏀粯鎴愬姛");
             return new ResultVo(ResultVo.CODE_OK, "鎴愬姛");
         } else if ("0".equals(paramObj.getString("status"))) {
             return new ResultVo(ResultVo.CODE_WAIT_PAY, "绛夊緟鏀粯瀹屾垚");
@@ -203,4 +214,28 @@
             return new ResultVo(ResultVo.CODE_ERROR, paramObj.getString("remark"));
         }
     }
+
+    private void doSaveOnlinePay(SmallWeChatDto smallWeChatDto, String openId, String orderId, String feeName, double money, String state, String message) {
+        OnlinePayPo onlinePayPo = new OnlinePayPo();
+        onlinePayPo.setAppId(smallWeChatDto.getAppId());
+        onlinePayPo.setMchId(smallWeChatDto.getMchId());
+        onlinePayPo.setMessage(message.length() > 1000 ? message.substring(0, 1000) : message);
+        onlinePayPo.setOpenId(openId);
+        onlinePayPo.setOrderId(orderId);
+        onlinePayPo.setPayId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_orderId));
+        onlinePayPo.setPayName(feeName);
+        onlinePayPo.setRefundFee("0");
+        onlinePayPo.setState(state);
+        onlinePayPo.setTotalFee(money + "");
+        onlinePayPo.setTransactionId(orderId);
+        onlinePayV1InnerServiceSMOImpl.saveOnlinePay(onlinePayPo);
+    }
+
+    private void doUpdateOnlinePay(String orderId, String state, String message) {
+        OnlinePayPo onlinePayPo = new OnlinePayPo();
+        onlinePayPo.setMessage(message.length() > 1000 ? message.substring(0, 1000) : message);
+        onlinePayPo.setOrderId(orderId);
+        onlinePayPo.setState(state);
+        onlinePayV1InnerServiceSMOImpl.updateOnlinePay(onlinePayPo);
+    }
 }

--
Gitblit v1.8.0