From bf86176207eb0dabae3889109beb2c57d6bf0d59 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期日, 24 十二月 2023 19:08:22 +0800
Subject: [PATCH] 11.27,9

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java                  |   87 +++++++++++++++++
 cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java                                     |   27 ++++-
 cloud-server-course/pom.xml                                                                               |    2 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java |   74 +-------------
 cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java                                   |   18 +++
 cloud-server-other/pom.xml                                                                                |    2 
 cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java                                 |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html                |    3 
 cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java                         |   28 +++++
 cloud-server-competition/pom.xml                                                                          |    3 
 10 files changed, 162 insertions(+), 84 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
index 8b1d34b..045db5c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -91,7 +91,7 @@
     /**
      * 支付宝支付
      */
-    public ResultUtil alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
+    public ResultUtil  alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
 //        //构造client
 //        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
 //        //设置网关地址
diff --git a/cloud-server-competition/pom.xml b/cloud-server-competition/pom.xml
index 81dc2e7..14a4946 100644
--- a/cloud-server-competition/pom.xml
+++ b/cloud-server-competition/pom.xml
@@ -89,10 +89,11 @@
             <artifactId>dom4j</artifactId>
             <version>1.6.1</version>
         </dependency>
+
         <dependency>
             <groupId>com.alipay.sdk</groupId>
             <artifactId>alipay-sdk-java</artifactId>
-            <version>4.8.10.ALL</version>
+            <version>4.38.10.ALL</version>
         </dependency>
     </dependencies>
 
diff --git a/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java b/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
index dc15aa6..3c5e8eb 100644
--- a/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
+++ b/cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
@@ -6,7 +6,7 @@
 import com.alipay.api.AlipayClient;
 import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.AlipayTradeAppPayModel;
+import com.alipay.api.domain.*;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
 import com.dsh.competition.util.httpClinet.HttpClientUtil;
@@ -134,12 +134,27 @@
         model.setSubject("报名赛事");//商品的标题/交易标题/订单标题/订单关键字等。
         model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
         model.setTimeoutExpress("30m");
-        model.setSellerId(smid);
         model.setTotalAmount(amount);//付款金额
         model.setProductCode("QUICK_MSECURITY_PAY");
         model.setPassbackParams(passbackParams);//自定义参数
+        SettleInfo settleInfo = new SettleInfo();
+        settleInfo.setSettlePeriodTime("3d");
+        SettleDetailInfo settleDetailInfo = new SettleDetailInfo();
+        settleDetailInfo.setTransInType("defaultSettle");
+        settleDetailInfo.setAmount(amount);
+        List<SettleDetailInfo> settleDetailInfos = new ArrayList<>();
+        settleDetailInfos.add(settleDetailInfo);
+        settleInfo.setSettleDetailInfos(settleDetailInfos);
+        model.setSettleInfo(settleInfo);
+        SubMerchant subMerchant = new SubMerchant();
+        subMerchant.setMerchantId(smid);
+        model.setSubMerchant(subMerchant);
+        ExtendParams extendParams = new ExtendParams();
+        extendParams.setRoyaltyFreeze("true");// 冻结资金 用于后续分账处理
+        model.setExtendParams(extendParams);
         request.setBizModel(model);
         request.setNotifyUrl(callbackPath + notifyUrl);
+
         try {
             //这里和普通的接口调用不同,使用的是sdkExecute
             AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
@@ -273,6 +288,15 @@
             return response;
         }
     }
+
+    /**
+     * 统一确认结算接口
+     * @param smid
+     * @param code
+     * @param outTradeNo
+     * @param amount
+     * @return
+     */
     public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) {
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                 aliAppid,
diff --git a/cloud-server-course/pom.xml b/cloud-server-course/pom.xml
index 46b3c21..00964b8 100644
--- a/cloud-server-course/pom.xml
+++ b/cloud-server-course/pom.xml
@@ -122,7 +122,7 @@
         <dependency>
             <groupId>com.alipay.sdk</groupId>
             <artifactId>alipay-sdk-java</artifactId>
-            <version>4.8.10.ALL</version>
+            <version>4.38.10.ALL</version>
         </dependency>
         <dependency>
             <groupId>com.huaweicloud</groupId>
diff --git a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
index 39a5a61..5272413 100644
--- a/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
+++ b/cloud-server-course/src/main/java/com/dsh/course/util/PayMoneyUtil.java
@@ -6,7 +6,7 @@
 import com.alipay.api.AlipayClient;
 import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.AlipayTradeAppPayModel;
+import com.alipay.api.domain.*;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
 import com.dsh.course.util.httpClinet.HttpClientUtil;
@@ -177,8 +177,22 @@
         model.setTotalAmount(amount);//付款金额
         model.setProductCode("QUICK_MSECURITY_PAY");
         model.setPassbackParams(passbackParams);//自定义参数
+        SettleInfo settleInfo = new SettleInfo();
+        settleInfo.setSettlePeriodTime("3d");
+        SettleDetailInfo settleDetailInfo = new SettleDetailInfo();
+        settleDetailInfo.setTransInType("defaultSettle");
+        settleDetailInfo.setAmount(amount);
+        List<SettleDetailInfo> settleDetailInfos = new ArrayList<>();
+        settleDetailInfos.add(settleDetailInfo);
+        settleInfo.setSettleDetailInfos(settleDetailInfos);
+        model.setSettleInfo(settleInfo);
+        SubMerchant subMerchant = new SubMerchant();
+        subMerchant.setMerchantId(smid);
+        model.setSubMerchant(subMerchant);
+        ExtendParams extendParams = new ExtendParams();
+        extendParams.setRoyaltyFreeze("true");// 冻结资金 用于后续分账处理
+        model.setExtendParams(extendParams);
         request.setBizModel(model);
-        model.setSellerId(smid);
         request.setNotifyUrl(callbackPath + notifyUrl);
         try {
             //这里和普通的接口调用不同,使用的是sdkExecute
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
index 6596af1..8b19bdb 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/OperatorController.java
@@ -26,6 +26,7 @@
 import com.dsh.guns.modular.system.model.*;
 import com.dsh.guns.modular.system.service.*;
 
+import com.dsh.guns.modular.system.util.PayMoneyUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
 
 import com.github.binarywang.wxpay.service.BankService;
@@ -57,13 +58,16 @@
     @Autowired
     private TOperatorCityService operatorCityService;
     @Autowired
+    private IOperatorAuthService operatorAuthService;
+    @Autowired
     private IOperatorUserService operatorUserService;
     @Autowired
     private IUserService userService;
     @Autowired
     private ICityService cityService;
     @Autowired
-    private IOperatorAuthService operatorAuthService;
+    private PayMoneyUtil payMoneyUtil;
+
     @Autowired
     private IStoreService storeService;
     private String appPrivateKey = "MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCi5i9nW/hGLJ3A06cZxTQdviFC7THpdSihoTYGLr9q006hu0V26ecBMY/o4w5bvIX0Ok/yofmZsVcCJpAPvbXL/uqVrIjnRRxXiaeBFThlxoBUTdunvbUSDYfzlEhJr5NvUKI6H6lz2niXlQGx4qy8Hau4ccWit9kM8jwUvsBVQoFgJA+xrjMvooA7YLopQtpOD+UJr5thApTSf1xrnr1W12yolTLEH15JmNV372cqXrYUuqnY0QsaPtxeqJUGAOcGdVLllQ7easEznP8DFBvDdHATcmp2SHNQDUEWN6MCVPbMgY06NQVqAXxqjTAYSVh+6TRu6bofPmpYC3TZB003AgMBAAECggEBAJAcR2+PA3NBYUYHeFrqBRMS8uX8ZR19kjZ7IgoSLTFaQsP9opRylPSPXhrPVBKAE5leRQAHn4MCSlESwHvMfxo7KFjFTFAc6dffZZpipYQUOc9bGampwJh58/3e/pyBgVMG6J23CPf/HJQtNFSkjd/V9+ayb/9l2dUEL3bC0fAZ/dbx8HsxdLw8wn3fLlWLj68hOMqa2deCZe3JdSVsPbeWqkh56FFsMLug0Nd+Ar4TgRl9/jnhXF0JWiD0LmPUYLhboY7EfUBzN4w1iYbDi1P+3zvoOYsiVKAXox9GMhQ2VzOO2UcSTuizSza2e98mGpabl/GpKmCz+RDFjtkX6eECgYEA2MyCij65eO3aGIm3FUe93DULRBYTfX8qJQSJq2WOWA3mmQlEW6L3O2B5/lG2h+8WmN6iLEs9eHpgycGYp7vAqgrANEn16ACVcuyx0scFtrZfZ+kmHMzFfiUWxJjVYk/6YngsGVBLdw6ueM42C8TTP67X9tU5TdVGoGWuqEj4W98CgYEAwFqwprXOch5Pqk/RPbb49r0Ou03K/UbciWnWWKzUhFFNS8MdlQPoDvQZbMwHLeWsa2VhaKITK3x5biLQb3U+0GLOn6lTvEyrEUH+ucREyLgVYTRAvwBPtnvlrzpyxPk2HnslQjju8WrvvLLBMKWUjlTrTOzhaHT21gz3pHMiOakCgYEAhLmfaXdBITGshb054sNLDtdCkGpbgEcrzAHdLps769iGxkYQHXHFngpQZUwtTUcoNGqIKknd1jZFrv7gsD+XkgKG7PwimehRlkwmCX5ilxtLiVgJRzRt6+5U5AMVD90a0tHzXYP0z2yjj73fBJF5KtGl0a10KZxaYrQdm1UhB00CgYBZZgzx/k9rtHC8LAqIj1CYhHejT92G53c6Gkl3vyOqN4sgKhfGmSEySfrDGPRBPZxr8ZtbIPCd5mUdberH0osWGMYFaJI1UsCy7aQwvGpniz7MhZeN7dweaOjwDs8mgtjHQ96mL4XGCDhR0BZ/wIURvZ/6iaGdhbbu9unlsWj3uQKBgQCmZYdsbbZkd3ev6f8rwyvMz+DrCQyYpY44cegBYuJgrZiQnL2fJioeN7ixX0UM48SfwsZEIrzshP/LGAwnc2MdjxKUl4jLN8SEe0NAjXOnz9Zaw740+aOmLpXcLWdP4uM2gIhWsvW1tEkQZCXmm7c9s/RsU8Pmzv+YL3+fSijOzA==";//支付宝开发者应用私钥
@@ -76,6 +80,7 @@
     @ResponseBody
     public List<TStore> getStores(Integer id)
     {
+        payMoneyUtil.getMessage();
         return storeService.list(new QueryWrapper<TStore>()
                 .eq("operatorId",id)
                 .ne("state",3));
@@ -411,73 +416,7 @@
         legalFront = uploadImg(legalFront).toString();
         // 法人身份证背面照
         legalBack = uploadImg(legalBack).toString();
-        // 商户行业资质图片
-        iqImage = uploadImg(iqImage).toString();
         operatorAuthService.saveOrUpdate(operatorAuth);
-        // todo 填写申请单
-        //第二步:提交申请单
-//        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","2021003199648333",
-//                "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCXnbOiY2VkKb5ubpcwKqzmqbKotpKGA79yn2aQeZiTWhqmLdCKjVp64naGpnOQEC7hDZluOO1crWHVhIEp7XGIEVawA7mb/dBbzo4wQQYVtLX6iEZViYk/mA7G59S/lvsLVi+jkVGlx2Co8JhvkTRtCEFgUnVA9o2jKy5BIEwrusNuDjrn5X+3ZvfZJN/iV0yzhzXynzioZt/DIcdODOVPUrem8T/5ifJ6ydSKIumgquBKyQnFOj+LRt5qMioBVzLnod0S/6kKMoNVN3/qx/PHRaeHbrF7I67IpGNROg0D9C4d9xXbGhSqQciXitLVnNzWuCov4Ie5nT5VCg9RjXyVAgMBAAECggEAf5rU81lgnnqbseoWCQ4B02kD2wc+Lti8qsYJ1pLgnTP6td5dZB8wBbjQNOem35sfOX7uoVv8OkIa00/gPd9/7BtbsGySLP3j/UDNX0N60Y30k1VajOdiwklCNpor7swtog75rVrDMxmo+sb0JQI684E9NMpxsSlRcAEJvvpl4W7LkhfJZyCUNXPAAh9SOkFOeaXATueEQ57V5vpeKM2JRJy//1P1LS2c/quLRIPqaTYgVAvxfdAYQvvP0vPijxHtxJlDxPa8xBCv7D46d+HeIA6X5ZkoTKLYbe2D36utP8rqGsXw1EyrYyuq6HdEAi/I4YXvWyLsXuQTSACSp+piAQKBgQD6am94xyQ4CRiMA/T1kvPPkXD+y/1Sbr3+T1S6X4naAGdkZS+TbPaWEddd2Huml6q+C2UcGhQpupBkbk88Nbs94jOulsfF6b24nOo1xH5z/BtS0kYuYaNLhebJtzrR9gupT1Uv0q+QybWZ3hQswOK0vwpkDk9DOysFynfMyXXlwQKBgQCa/z3oZ4iYZpTLNdRhMS0u593Jq8MDemimBJGEXPvDBByyE5Ohf22UqP5MjS1euosAQSva+/HmKeEigLgjoQTo29mA1nzPe0AKN3huWbqPIOdeIOA694Nj6ooOPS8iDMjKu61wPz/rZ57bv41LsPXr0y4UsU30JWg2rzgRnGgT1QKBgH30c0VIxUr6KEKk6t1qoP/SpAdFC5Ie6am0tWVZELl6Yob47kk1EYLCTpWBghB1UQhuKtlLtMCYenBJm8kpLZke4ef7J1jBDRCCvLt2rjQgpo2t/mbt7XjbTQ5A/3EEVTFAGhUH4A7vpkxSi8tG6cEIJm3VVMD4TdeH02JKIucBAoGAA0v+kxzwqN01uQTSGackIOVJsGp44XAPHcjnF3uq10EVIyyLbVn6iLj3f8VY+7TYFA9O0X+ea5jkcwlt4UQhiJp0i+sECJ3EhPMdGqvJ7hVzFmt4mYh+QPfSK+9dO0ouUzGexM5zm5w+osn2RW/kKzn4tvP2hoTtLIyZkrZS+GkCgYAQGKe84pXggSIPwztg0aBJUC9b4fXe3PR4DFTM85lBUKYJnQGRzf6NDCD83hwJoNdnyZkztyK72LDOn2NOzPfYcfUl6MQFPovXeMWaVidRfo4ZgyFA/C1egduebaIkXE+DpGhiy7alQ4k+LxUfy6oJBT9Sq8oq7EVBEkeff3p66g==","json","GBK",
-//                "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmu8n/4yTHWbn7VOrNc9OsLtDL1bEQ8gC1dHkj8Wy5z0mkaOsjJRIG/28ze12M0V8jdCKuuDr5Z1OPKiqf+XO3ypguEh+mYUVMBM/cZodDFQfTY1TKLWjvQCuaqlA+QUTCK6f7T7stsgyQ1o9Jj0rXZDz6PM4QHSTzjrLIBaeqM5WIBvH+fy/X+QG5Utd+/UT0kc0JyvuKhZ65yVUd/C9VcwJJAPliRsAQNrqYterwAJ9zvw9tF11wj9W0XgJ8Ccu4x3gR1vrlLRJJo/OA97RmxPQ+5hSacWQZCUd1dwiBq+YCrKVHGTj14izRHXrLc0yBlRXo7tBOIqcy3IsvKVthQIDAQAB","RSA2");
-//        AlipayMerchantIndirectAuthorderCreateRequest request = new AlipayMerchantIndirectAuthorderCreateRequest();
-//        String param = "{" +
-//                "  \"out_biz_no\":\""+uuid+"\"," +
-//                "  \"contact_person_info\":{" +
-//                "    \"contact_name\":\""+name+"\"," +
-//                "    \"contact_phone_no\":\""+phone+"\"," +
-//                "    \"contact_card_no\":\""+number+"\"," +
-//                "    \"contact_cert_type\":\"RESIDENT\"" +
-//                "  }," +
-//                "  \"auth_identity_info\":{" +
-//                "    \"identity_type\":\""+bodyType+"\"," +
-//                "    \"is_financial_org\":false," +
-//                "    \"certificate_type\":\"BUSINESS_CERT\"," +
-//                "    \"certificate_info\":{" +
-//                "      \"cert_no\":\""+businessNumber+"\"," +
-//                "      \"cert_image\":\""+string+"\"," +
-//                "      \"merchant_name\":\""+businessName+"\"," +
-//                "      \"legal_person_name\":\""+legalRepresentative+"\"," +
-//                "      \"register_address\":\""+registerAddress+"\"," +
-//                "      \"effect_time\":\""+businessTerm+"\"," +
-//                "      \"expire_time\":\""+businessEnd+"\"" +
-//                "    }," +
-//                "    }," +
-//                "  \"legal_person_info\":{" +
-//                "    \"card_type\":\"RESIDENT\"," +
-//                "    \"person_name\":\""+legalRepresentative+"\"," +
-//                "    \"card_no\":\""+legalNumber+"\"," +
-//                "    \"effect_time\":\""+legalTerm+"\"," +
-//                "    \"expire_time\":\""+legalEnd+"\"," +
-//                "    \"card_front_img\":\""+legalFront+"\"," +
-//                "    \"card_back_img\":\""+legalBack+"\"," +
-//                "    \"is_benefit_person\":"+isBeneficiary+"" +
-//                "  },";
-//        String bene = "  \"benefit_person_info\":{" +
-//                "    \"person_name\":\""+beneficiary+"\"," +
-//                "    \"card_no\":\""+beneficiaryNumber+"\"," +
-//                "    \"card_type\":\"RESIDENT\"," +
-//                "    \"effect_time\":\""+beneficiaryTerm+"\"," +
-//                "    \"expire_time\":\""+beneficiaryEnd+"\"," +
-//                "    \"card_front_img\":\""+beneficiaryFront+"\"," +
-//                "    \"card_back_img\":\""+beneficiaryBack+"\"" +
-//                "  },";
-//        if (bodyType.equals("ENTERPRISE")){
-//            request.setBizContent(param
-//                    + bene+
-//                    "}");
-//        }else{
-//            request.setBizContent(param
-//                    +
-//                    "}");
-//        }
-//
-//        AlipayMerchantIndirectAuthorderCreateResponse response = null;
-//        try {
-//            response = alipayClient.execute(request);
-//        } catch (AlipayApiException e) {
-//            e.printStackTrace();
-//        }
-
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                 aliAppid,
                 appPrivateKey,
@@ -559,7 +498,6 @@
         try {
             response = alipayClient.execute(request);
         } catch (AlipayApiException e) {
-            System.err.println("???????????");
             e.printStackTrace();
         }
         if(response.isSuccess()){
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
index b9f7be4..e1874a2 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/PayMoneyUtil.java
@@ -7,13 +7,23 @@
 import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
 import com.alipay.api.domain.AlipayTradeAppPayModel;
+import com.alipay.api.msg.AlipayMsgClient;
+import com.alipay.api.msg.MsgHandler;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.guns.modular.system.model.OperatorAuthAlipay;
+import com.dsh.guns.modular.system.model.OperatorUser;
+import com.dsh.guns.modular.system.service.IOperatorAuthService;
+import com.dsh.guns.modular.system.service.IOperatorUserService;
+import org.apache.commons.lang3.StringUtils;
 import org.dom4j.Document;
 import org.dom4j.DocumentException;
 import org.dom4j.Element;
 import org.dom4j.io.SAXReader;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import javax.servlet.http.HttpServletRequest;
 import java.io.*;
 import java.util.*;
@@ -47,7 +57,84 @@
     private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径
 
     private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书
+    String signType =  "RSA2" ;
+    String serverHost =  "openchannel.alipay.com" ;
 
+    @Autowired
+    private IOperatorAuthService operatorAuthService;
+    @Autowired
+    private IOperatorUserService operatorUserService;
+    /**
+     * 处理直付通审核通过和拒绝消息
+     */
+    public void getMessage() {
+        final AlipayMsgClient alipayMsgClient = AlipayMsgClient.getInstance(aliAppid);
+        try {
+            alipayMsgClient.setConnector(serverHost);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        alipayMsgClient.setSecurityConfig(signType, appPrivateKey, alipay_public_key);
+        try {
+            alipayMsgClient.connect();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        alipayMsgClient.setMessageHandler( new  MsgHandler() {
+            /**
+             * 客户端接收到消息后回调此方法
+             *  @param  msgApi 接收到的消息的消息api名
+             *  @param  msgId 接收到的消息的消息id
+             *  @param  bizContent 接收到的消息的内容,json格式
+             */
+            public   void   onMessage (String msgApi, String msgId, String bizContent)   {
+                // 直付通进件审核通过
+                if (StringUtils.equals(msgApi,"ant.merchant.expand.indirect.zft.passed")){
+                    // 修改运营商状态 将返回的商户号填入运营商
+                    System.out.println( "receive message. msgApi:"  + msgApi +  " msgId:"  + msgId +  " bizContent:"  + bizContent);
+                    JSONObject json = JSONObject.parseObject(bizContent);
+                    // 商户号
+                    String smid = json.getString("smid");
+                    // 审核备注信息
+                    String memo = json.getString("memo");
+                    // 订单id
+                    String orderId = json.getString("order_id");
+                    // 通过订单id查询
+                    OperatorAuthAlipay auth = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>()
+                            .eq("orderNo",orderId));
+                    auth.setSmid(smid);
+                    auth.setAuditState(2);
+                    auth.setRefuseReason(memo);
+                    operatorAuthService.updateById(auth);
+                    Integer operatorId = auth.getOperatorId();
+                    OperatorUser operatorId1 = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                            .eq("operatorId", operatorId));
+                    operatorId1.setAlipayNum(smid);
+                    operatorId1.setAlipayAudit(2);
+                    operatorUserService.updateById(operatorId1);
+                }
+                // 直付通进件审核失败
+                if (StringUtils.equals(msgApi,"ant.merchant.expand.indirect.zft.rejected")){
+                    JSONObject json = JSONObject.parseObject(bizContent);
+                    // 商户号
+                    String orderId = json.getString("order_id");
+                    // 官方拒绝理由
+                    String reason = json.getString("reason");
+                    // 通过订单id查询
+                    OperatorAuthAlipay auth = operatorAuthService.getOne(new QueryWrapper<OperatorAuthAlipay>()
+                            .eq("orderNo",orderId));
+                    auth.setAuditState(3);
+                    auth.setRefuseReason(reason);
+                    operatorAuthService.updateById(auth);
+                    Integer operatorId = auth.getOperatorId();
+                    OperatorUser operatorId1 = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                            .eq("operatorId", operatorId));
+                    operatorId1.setAlipayAudit(3);
+                    operatorUserService.updateById(operatorId1);
+                }
+            }
+        });
+    }
     /**
      * 支付宝支付
      */
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
index 8fb7e9b..f34b0b5 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/operatorUser/OperatorUser.html
@@ -9,7 +9,6 @@
                 <div class="row row-lg">
                     <div class="col-sm-12">
                         <div class="row">
-
                             <div class="col-sm-3">
                                 <#NameCon id="name" name="管理员姓名:" />
                             </div>
@@ -44,7 +43,6 @@
                                     </select>
                                 </div>
                             </div>
-
                             <div class="col-sm-3">
                                 <div class="input-group">
                                     <div class="input-group-btn open">
@@ -58,7 +56,6 @@
                                         <option value="1">审核中</option>
                                         <option value="2">审核通过</option>
                                         <option value="3">审核失败</option>
-
                                     </select>
                                 </div>
                             </div>
diff --git a/cloud-server-other/pom.xml b/cloud-server-other/pom.xml
index a0a4e2b..178af5d 100644
--- a/cloud-server-other/pom.xml
+++ b/cloud-server-other/pom.xml
@@ -104,7 +104,7 @@
         <dependency>
             <groupId>com.alipay.sdk</groupId>
             <artifactId>alipay-sdk-java</artifactId>
-            <version>4.8.10.ALL</version>
+            <version>4.38.10.ALL</version>
         </dependency>
     </dependencies>
 
diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
index f436220..b5519f5 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -6,10 +6,9 @@
 import com.alipay.api.AlipayClient;
 import com.alipay.api.CertAlipayRequest;
 import com.alipay.api.DefaultAlipayClient;
-import com.alipay.api.domain.AlipayTradeAppPayModel;
-import com.alipay.api.domain.ExtendParams;
-import com.alipay.api.domain.RoyaltyDetailInfos;
-import com.alipay.api.domain.RoyaltyInfo;
+import com.alipay.api.domain.*;
+import com.alipay.api.msg.AlipayMsgClient;
+import com.alipay.api.msg.MsgHandler;
 import com.alipay.api.request.*;
 import com.alipay.api.response.*;
 import lombok.Synchronized;
@@ -71,7 +70,11 @@
 
     private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书
 
+
+
+
     public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) {
+
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                 aliAppid,
                 appPrivateKey,
@@ -180,7 +183,21 @@
         model.setTotalAmount(amount);//付款金额
         model.setProductCode("QUICK_MSECURITY_PAY");
         model.setPassbackParams(passbackParams);//自定义参数
-        model.setSellerId(smid);
+        SettleInfo settleInfo = new SettleInfo();
+        settleInfo.setSettlePeriodTime("3d");
+        SettleDetailInfo settleDetailInfo = new SettleDetailInfo();
+        settleDetailInfo.setTransInType("defaultSettle");
+        settleDetailInfo.setAmount(amount);
+        List<SettleDetailInfo> settleDetailInfos = new ArrayList<>();
+        settleDetailInfos.add(settleDetailInfo);
+        settleInfo.setSettleDetailInfos(settleDetailInfos);
+        model.setSettleInfo(settleInfo);
+        SubMerchant subMerchant = new SubMerchant();
+        subMerchant.setMerchantId(smid);
+        model.setSubMerchant(subMerchant);
+        ExtendParams extendParams = new ExtendParams();
+        extendParams.setRoyaltyFreeze("true");// 冻结资金 用于后续分账处理
+        model.setExtendParams(extendParams);
         request.setBizModel(model);
         request.setNotifyUrl(callbackPath + notifyUrl);
 

--
Gitblit v1.7.1