From e7393ef75b7df2799f627b4707cd8bc4b9d555e2 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 23 十月 2024 16:54:17 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java |   70 +++++++++++++++++++++++++++++++----
 1 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
index 622d58d..e757992 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/wechatpay/PaymentCtrl.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.multiDataSource.DataSourceContext;
+import com.dy.common.util.AES;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.ResultCodeMsg;
@@ -17,10 +18,7 @@
 import com.dy.pipIrrWechat.virtualCard.dto.DtoVirtualCard;
 import com.dy.pipIrrWechat.virtualCard.enums.LastOperateENUM;
 import com.dy.pipIrrWechat.virtualCard.enums.RefundItemStateENUM;
-import com.dy.pipIrrWechat.wechatpay.dto.Code2Session;
-import com.dy.pipIrrWechat.wechatpay.dto.DtoOrder;
-import com.dy.pipIrrWechat.wechatpay.dto.NotifyResource;
-import com.dy.pipIrrWechat.wechatpay.dto.OrderNotify;
+import com.dy.pipIrrWechat.wechatpay.dto.*;
 import com.dy.pipIrrWechat.wechatpay.enums.RefundStatusENUM;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.media.Content;
@@ -48,10 +46,7 @@
 import java.security.SignatureException;
 import java.security.spec.InvalidKeySpecException;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * @author ZhuBaoMin
@@ -535,4 +530,63 @@
         result.put("message", "鎴愬姛");
         return  result;
     }
+
+    /**
+     * 娣诲姞寰俊鏀粯淇℃伅
+     * @param po
+     * @param bindingResult
+     * @return
+     */
+    @PostMapping(path = "add_wechatpay", consumes = MediaType.APPLICATION_JSON_VALUE)
+    public BaseResponse<Boolean> addWechatpay(@RequestBody @Valid Wechatpay po, BindingResult bindingResult) throws Exception {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        if(paymentSv.getWechatpayByAppId(po.getAppId()) != null) {
+            return BaseResponseUtils.buildErrorMsg("璇ュ井淇℃敮浠樹俊鎭凡缁忓瓨鍦�");
+        }
+
+        SeWechatpay seWechatpay = new SeWechatpay();
+        seWechatpay.setAppId(AES.encrypt(po.getAppId()));
+        seWechatpay.setAppSecret(AES.encrypt(po.getAppSecret()));
+        seWechatpay.setMchId(AES.encrypt(po.getMchId()));
+        seWechatpay.setMchKey(AES.encrypt(po.getMchKey()));
+        seWechatpay.setSerialNo((AES.encrypt(po.getSerialNo())));
+        seWechatpay.setNotifyUrl(AES.encrypt(po.getNotifyUrl()));
+        seWechatpay.setRemarks(po.getRemarks());
+
+        Long rec = Optional.ofNullable(paymentSv.addWechatpay(seWechatpay)).orElse(0L);
+        if(rec == 0) {
+            return BaseResponseUtils.buildFail("娣诲姞寰俊鏀粯淇℃伅澶辫触");
+        }
+        return BaseResponseUtils.buildSuccess(true) ;
+    }
+
+    /**
+     * 鍒濆鍖栧井淇℃敮浠樹俊鎭�
+     * @param appId
+     * @return
+     */
+    @PostMapping(path = "init_wechatpay")
+    public BaseResponse<Boolean> initWechatpay(@RequestParam("appId") String appId) throws Exception {
+        if(appId == null || appId.trim().length() == 0) {
+            return BaseResponseUtils.buildErrorMsg("灏忕▼搴忓敮涓�鏍囪瘑涓嶈兘涓虹┖");
+        }
+        appId = AES.encrypt(appId);
+
+        SeWechatpay seWechatpay = paymentSv.getWechatpayByAppId(appId);
+        if(seWechatpay != null) {
+            PayInfo.appid = AES.decrypt(seWechatpay.getAppId());
+            PayInfo.secret = AES.decrypt(seWechatpay.getAppSecret());
+            PayInfo.mchid = AES.decrypt(seWechatpay.getMchId());
+            PayInfo.key = AES.decrypt(seWechatpay.getMchKey());
+            PayInfo.serial_no = AES.decrypt(seWechatpay.getSerialNo());
+            PayInfo.notifyUrl = AES.decrypt(seWechatpay.getNotifyUrl());
+            return BaseResponseUtils.buildSuccess(true) ;
+        }else {
+            return BaseResponseUtils.buildErrorMsg("灏忕▼搴忓敮涓�鏍囪瘑閿欒鎴栧叾淇℃伅涓嶅瓨鍦�");
+        }
+
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0