From 06057d33c65653f80ccf716a396b89052e2d8eb6 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期六, 03 六月 2023 02:06:31 +0800
Subject: [PATCH] 更新部分代码

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java |  188 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 136 insertions(+), 52 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
index a219bfc..1827b37 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
@@ -3,6 +3,7 @@
 import cn.hutool.core.codec.Base64;
 import cn.hutool.core.util.ZipUtil;
 import cn.hutool.crypto.SecureUtil;
+import cn.hutool.http.server.HttpServerResponse;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -254,7 +255,7 @@
             registerVO.setUserType("0");
             registerVO.setUserName(tAgent.getMerchantName());
             registerVO.setCertId(tAgent.getMerchantIDCode());
-            registerVO.setNotifyUrl(callbackPath + "/base/driver/microenterpriseCallback");
+            registerVO.setNotifyUrl(callbackPath + "/tAgent/microenterpriseCallback");
             TrhRequest<Register> request = new TrhRequest();
             InterfaceResponse execute = request.execute(registerVO, Register.SERVICE_CODE);
             if("0000".equals(execute.getCode())){
@@ -325,16 +326,10 @@
             registerVO.setLegalPhone(tAgent.getLegalPhone());
             registerVO.setLegalPerson(tAgent.getLegalPerson());
             registerVO.setAddress(tAgent.getAddress());
-            /**
-             * 省份编码(子商户类型非小微必填) 字段长度最长:4位
-             */
-            registerVO.setProvCode("0035");
-            /**
-             * 地区编码(子商户类型非小微必填) 字段长度最长:4位
-             */
-            registerVO.setAreaCode("3501");
+            registerVO.setProvCode(tAgent.getProvCodeEnterprise());
+            registerVO.setAreaCode(tAgent.getAreaCodeEnterprise());
             registerVO.setFileNo(tAgent.getFileNo());
-            registerVO.setNotifyUrl(callbackPath + "/base/driver/microenterpriseCallback");
+            registerVO.setNotifyUrl(callbackPath + "/tAgent/microenterpriseCallback");
             registerVO.setParameter1(tAgent.getId().toString());
 
             TrhRequest<Register> request = new TrhRequest();
@@ -367,14 +362,8 @@
                     bindAccount.setBankAcctType(tAgent.getBankAcctType().toString());
                     bindAccount.setPhone(tAgent.getPhone());
                     bindAccount.setBankCode(tAgent.getBankCode());
-                    /**
-                     * 省份编码
-                     */
-                    bindAccount.setProvCode("0035");
-                    /**
-                     * 地区编码
-                     */
-                    bindAccount.setAreaCode("3501");
+                    bindAccount.setProvCode(tAgent.getProvCodeBank());
+                    bindAccount.setAreaCode(tAgent.getAreaCodeBank());
                     TrhRequest<BindAccount> request1 = new TrhRequest();
                     InterfaceResponse execute = request1.execute(bindAccount, BindAccount.SERVICE_CODE);
                     if("0000".equals(execute.getCode())){
@@ -405,6 +394,83 @@
             }
         }
     }
+
+
+
+    /**
+     * 注册商户回调
+     */
+    @ResponseBody
+    @PostMapping("/microenterpriseCallback")
+    public void microenterpriseCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
+        try {
+            if("0000".equals(interfaceResponse.getCode())) {
+                JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult());
+                String status = jsonObject.getString("status");
+                String parameter1 = jsonObject.getString("parameter1");
+                TAgent tAgent = tAgentService.selectById(parameter1);
+                if ("2".equals(status)) {
+                    tAgent.setMerchantStatus(2);
+                    tAgentService.updateById(tAgent);
+                    System.err.println("注册代理商子商户失败");
+                }
+                if ("0".equals(status)) {
+                    tAgent.setMerchantStatus(0);
+                    tAgentService.updateById(tAgent);
+                    System.err.println("注册代理商子商户处理中");
+                }
+                if ("1".equals(status)) {
+                    String userId = jsonObject.getString("userId");
+                    tAgent.setMerchantNumber(userId);
+                    tAgent.setMerchantStatus(1);
+                    tAgentService.updateById(tAgent);
+
+                    //开始绑定结算账户
+                    BindAccount bindAccount = new BindAccount();
+                    bindAccount.setUserId(tAgent.getMerchantNumber());
+                    bindAccount.setCertId(tAgent.getMerchantIDCode());
+                    bindAccount.setCardName(tAgent.getCardName());
+                    bindAccount.setCardNo(tAgent.getCardNo());
+                    bindAccount.setBankAcctType(tAgent.getBankAcctType().toString());
+                    bindAccount.setPhone(tAgent.getPhone());
+                    bindAccount.setBankCode(tAgent.getBankCode());
+                    bindAccount.setProvCode(tAgent.getProvCodeBank());
+                    bindAccount.setAreaCode(tAgent.getAreaCodeBank());
+                    TrhRequest<BindAccount> request1 = new TrhRequest();
+                    InterfaceResponse execute = request1.execute(bindAccount, BindAccount.SERVICE_CODE);
+                    if ("0000".equals(execute.getCode())) {
+                        JSONObject jsonObject1 = JSON.parseObject(execute.getResult());
+                        String status1 = jsonObject1.getString("status");
+                        if ("2".equals(status1)) {
+                            tAgent.setBankStatus(2);
+                            tAgentService.updateById(tAgent);
+                            System.err.println("绑定结算账户失败");
+                        }
+                        if ("1".equals(status1)) {
+                            tAgent.setBankStatus(1);
+                            tAgentService.updateById(tAgent);
+                            System.err.println("绑定结算账户成功");
+                        }
+                        if ("0".equals(status1)) {
+                            tAgent.setBankStatus(0);
+                            tAgentService.updateById(tAgent);
+                            System.err.println("绑定结算账户处理中");
+                        }
+                    } else {
+                        System.err.println("绑定结算账户失败:" + execute.getMsg());
+                    }
+                    response.setStatus(200);
+                    PrintWriter out = response.getWriter();
+                    out.print("OK");
+                    out.flush();
+                    out.close();
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
 
 
 
@@ -752,23 +818,32 @@
      */
     @ResponseBody
     @PostMapping("/withdrawCashCallback")
-    public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse) {
-        if("0000".equals(interfaceResponse.getCode())){
-            JSONObject jsonObject1 = JSON.parseObject(interfaceResponse.getResult());
-            String merOrderId1 = jsonObject1.getString("merOrderId");
-            Integer status = jsonObject1.getInteger("status");//0:待处理;1:成功;2:失败
-            if(1 == status){
-                String parameter1 = jsonObject1.getString("parameter1");
-                SettlementRecord settlementRecord = settlementRecordService.selectById(parameter1);
-                settlementRecord.setOrderNumber(merOrderId1);
-                settlementRecord.setArrivalTime(new Date());
-                settlementRecordService.updateById(settlementRecord);
+    public void withdrawCashCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response) {
+        try {
+            if("0000".equals(interfaceResponse.getCode())){
+                JSONObject jsonObject1 = JSON.parseObject(interfaceResponse.getResult());
+                String merOrderId1 = jsonObject1.getString("merOrderId");
+                Integer status = jsonObject1.getInteger("status");//0:待处理;1:成功;2:失败
+                if(1 == status){
+                    String parameter1 = jsonObject1.getString("parameter1");
+                    SettlementRecord settlementRecord = settlementRecordService.selectById(parameter1);
+                    settlementRecord.setOrderNumber(merOrderId1);
+                    settlementRecord.setArrivalTime(new Date());
+                    settlementRecordService.updateById(settlementRecord);
+                    response.setStatus(200);
+                    PrintWriter out = response.getWriter();
+                    out.print("OK");
+                    out.flush();
+                    out.close();
+                }
+                if(2 == status){
+                    System.err.println("结算接口异常【提现】:" + jsonObject1.getString("statusMsg"));
+                }
+            }else{
+                System.err.println("结算接口异常【提现】:" + interfaceResponse.getMsg());
             }
-            if(2 == status){
-                System.err.println("结算接口异常【提现】:" + jsonObject1.getString("statusMsg"));
-            }
-        }else{
-            System.err.println("结算接口异常【提现】:" + interfaceResponse.getMsg());
+        }catch (Exception e){
+            e.printStackTrace();
         }
     }
 
@@ -881,25 +956,34 @@
      */
     @ResponseBody
     @PostMapping("/accountRechargeCallback")
-    public void accountRechargeCallback(@RequestBody InterfaceResponse interfaceResponse){
-        if("0000".equals(interfaceResponse.getCode())){
-            JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult());
-            Integer status = jsonObject.getInteger("status");
-            if(2 == status){
-                System.err.println("支付异常");
-                return;
+    public void accountRechargeCallback(@RequestBody InterfaceResponse interfaceResponse, HttpServletResponse response){
+        try {
+            if("0000".equals(interfaceResponse.getCode())){
+                JSONObject jsonObject = JSON.parseObject(interfaceResponse.getResult());
+                Integer status = jsonObject.getInteger("status");
+                if(2 == status){
+                    System.err.println("支付异常");
+                    return;
+                }
+                if(1 == status){
+                    String parameter1 = jsonObject.getString("parameter1");
+                    RechargeRecord rechargeRecord = rechargeRecordService.selectById(parameter1);
+                    rechargeRecord.setPayStatus(2);
+                    rechargeRecord.setPayTime(new Date());
+                    rechargeRecord.setOrderNumber(jsonObject.getString("merOrderId"));
+                    rechargeRecord.setSurplusDividedAmount(rechargeRecord.getAmount());
+                    rechargeRecordService.updateById(rechargeRecord);
+                    response.setStatus(200);
+                    PrintWriter out = response.getWriter();
+                    out.print("OK");
+                    out.flush();
+                    out.close();
+                }
+            }else{
+                System.err.println(interfaceResponse.getMsg());
             }
-            if(1 == status){
-                String parameter1 = jsonObject.getString("parameter1");
-                RechargeRecord rechargeRecord = rechargeRecordService.selectById(parameter1);
-                rechargeRecord.setPayStatus(2);
-                rechargeRecord.setPayTime(new Date());
-                rechargeRecord.setOrderNumber(jsonObject.getString("merOrderId"));
-                rechargeRecord.setSurplusDividedAmount(rechargeRecord.getAmount());
-                rechargeRecordService.updateById(rechargeRecord);
-            }
-        }else{
-            System.err.println(interfaceResponse.getMsg());
+        }catch (Exception e){
+            e.printStackTrace();
         }
     }
 

--
Gitblit v1.7.1