From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 11 七月 2024 10:47:51 +0800
Subject: [PATCH] 玩湃微信商户认证代码

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java |  135 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 2 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java
index 146c8b4..60b077b 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java
@@ -1,8 +1,20 @@
 package com.dsh.guns.modular.system.util;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.dsh.guns.modular.system.model.OperatorAuth;
+import com.dsh.guns.modular.system.model.OperatorAuthAlipay;
+import com.dsh.guns.modular.system.model.OperatorUser;
+import com.dsh.guns.modular.system.model.TOperator;
+import com.dsh.guns.modular.system.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.List;
 
 
 /**
@@ -10,12 +22,131 @@
  */
 @Component
 public class TaskUtil {
+    @Autowired
+    private TOperatorService operatorService;
+    @Autowired
+    private TOperatorCityService operatorCityService;
+    @Autowired
+    private IOperatorAuthService operatorAuthService;
+    @Autowired
+    private IOperatorAuthWxService operatorAuthWxService;
+    @Autowired
+    private IOperatorUserService operatorUserService;
+    // 每隔5分钟执行一次 查询商户支付宝和微信绑定状态
+    @Scheduled(fixedRate = 5 * 60 * 1000)
+    public void queryWxAndZfbState() {
+        // 支付宝
+        List<OperatorAuthAlipay> list = operatorAuthService.list();
+        for (OperatorAuthAlipay operatorAuthAlipay : list) {
+            OperatorUser operatorId = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                    .eq("operatorId", operatorAuthAlipay.getOperatorId()));
+            if (operatorId == null)return;
+            operatorId.setAlipayAudit(operatorAuthAlipay.getAuditState());
+            operatorUserService.updateById(operatorId);
+        }
+        // 微信
+        List<OperatorAuth> list1 = operatorAuthWxService.list();
+        for (OperatorAuth operatorAuth : list1) {
+            OperatorUser operatorId = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                    .eq("operatorId", operatorAuth.getOperatorId()));
+            if (operatorId == null)return;
+            operatorId.setWechatAudit(operatorAuth.getAuditState());
+            operatorUserService.updateById(operatorId);
+        }
+    }
+    // 每隔5分钟执行一次 查询商户支付宝和微信绑定状态 如果两者都进件成功 那么修改t_operator表为商户绑定成功状态
+    @Scheduled(fixedRate = 5 * 60 * 1000)
+    public void queryOperatorState() {
+        List<TOperator> list2 = operatorService.list();
+        for (TOperator tOperator : list2) {
+            OperatorUser operatorId = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                    .eq("operatorId", tOperator.getId()));
+            if (operatorId == null)return;
+            if (operatorId.getAlipayAudit() == 2 && operatorId.getWechatAudit() == 2){
+                tOperator.setState(2);
+                operatorService.updateById(tOperator);
+            }
+        }
 
+    }
+    @Scheduled(fixedRate = 1 * 60 * 1000)
+    public void queryOperatorState1() {
+        List<OperatorAuth> list = operatorAuthWxService.list();
+        for (OperatorAuth operatorAuth : list) {
+            queryState(operatorAuth.getOrderNo());
+        }
 
+    }
 
+    /**
+     * 查询进件申请单审核状态
+     */
+    public JSONObject queryState(String orderNo) {
+        String url = "https://api.mch.weixin.qq.com/v3/ecommerce/applyments/out-request-no/"+orderNo;
+        String req1 = HttpRequestUtil.getReq1(url, new HashMap<>());
+        System.err.println("查询申请单审核状态字符串"+req1);
+        JSONObject jsonObject = JSON.parseObject(req1);
+        System.err.println("查询申请单审核状态Json"+jsonObject);
+        String applymentState = jsonObject.getString("applyment_state");
+        String outBizNo = jsonObject.getString("out_request_no");
+        OperatorAuth operatorAuth = operatorAuthWxService.getOne(
+                new QueryWrapper<OperatorAuth>()
+                        .eq("outBizNo", outBizNo));
+        if (operatorAuth == null)return null;
 
-
-
+        OperatorUser operatorUser = operatorUserService.getOne(new QueryWrapper<OperatorUser>()
+                .eq("operatorId", operatorAuth.getOperatorId()));
+        // 审核状态
+        operatorAuth.setApplymentState(applymentState);
+        if (applymentState.equals("REJECTED") || applymentState.equals("FROZEN")){
+            operatorUser.setWechatAudit(3);
+            operatorAuth.setAuditState(2);
+            // 如果被拒 赋值拒绝原因
+            operatorAuth.setRefuseReason(jsonObject.getJSONObject("audit_detail").getString("reject_reason"));
+        }
+        if (applymentState.equals("NEED_SIGN")){
+            operatorAuth.setSignUrl(jsonObject.getString("sign_url"));
+            operatorAuth.setMerchantNumber(jsonObject.getString("sub_mchid"));
+        }
+        if (applymentState.equals("FINISH")){
+            operatorAuth.setMerchantNumber(jsonObject.getString("sub_mchid"));
+            operatorUser.setWechatAudit(2);
+            operatorAuth.setAuditState(1);
+        }
+        if (applymentState.equals("ACCOUNT_NEED_VERIFY")){
+            operatorAuth.setLegalValidationUrl(jsonObject.getString("legal_validation_url"));
+        }
+        return jsonObject;
+        /**
+         * {
+         *   "applyment_state" : "FINISH",
+         *   "applyment_state_desc" : "审核中",
+         *   "sign_url" : "https://pay.weixin.qq.com/public/apply4ec_sign/s?applymentId=2000002126198476&sign=b207b673049a32c858f3aabd7d27c7ec",
+         *   "sub_mchid" : "1542488631",
+         *   "account_validation" : {
+         *     "account_name" : "aOf7Gk2qT26kakkuTZpbFAn7Mb7xcar0LlQaYoi3+LnnWwgAsfaUUTg9+GmYJq6YCz+RiluWHeHFq1lt8n3eIkF0laVvqmAU80xIWGZgWJnRmnRuZxsg0HJZfnUac2JfqyuL8OoyM2YSuYDqdsyvcOlgUQgq8MPCR6pmvhBCmIeJvnVSm8J+L+yx912itUmTDxhdBlu1CFBIUefME9nYB70vCVTNAVXgURkf65mjHMBiE9Y+wrPZVmTIIz3C3PtPVMZYDEvBT4rDdICA3ZYXshYqeOSslSjSMf+MhhC4oaujiISFzq3AE+as7mAEDJly+DgRuVs74msmKUH8pl+3oA==",
+         *     "account_no" : "aOf7Gk2qT26kakkuTZpbFAn7Mb7xcar0LlQaYoi3+LnnWwgAsfaUUTg9+GmYJq6YCz+RiluWHeHFq1lt8n3eIkF0laVvqmAU80xIWGZgWJnRmnRuZxsg0HJZfnUac2JfqyuL8OoyM2YSuYDqdsyvcOlgUQgq8MPCR6pmvhBCmIeJvnVSm8J+L+yx912itUmTDxhdBlu1CFBIUefME9nYB70vCVTNAVXgURkf65mjHMBiE9Y+wrPZVmTIIz3C3PtPVMZYDEvBT4rDdICA3ZYXshYqeOSslSjSMf+MhhC4oaujiISFzq3AE+as7mAEDJly+DgRuVs74msmKUH8pl+3oA==",
+         *     "pay_amount" : 124,
+         *     "destination_account_number" : "7222223333322332",
+         *     "destination_account_name" : "财付通支付科技有限公司",
+         *     "destination_account_bank" : "招商银行威盛大厦支行",
+         *     "city" : "深圳",
+         *     "remark" : "入驻账户验证",
+         *     "deadline" : "2018-12-10 17:09:01"
+         *   },
+         *   "audit_detail" : [
+         *     {
+         *       "param_name" : "id_card_copy",
+         *       "reject_reason" : "身份证背面识别失败,请上传更清晰的身份证图片。"
+         *     }
+         *   ],
+         *   "legal_validation_url" : "https://pay.weixin.qq.com/public/apply4ec_sign/s?applymentId=2000002126198476&sign=b207b673049a32c858f3aabd7d27c7ec",
+         *   "out_request_no" : "APPLYMENT_00000000001",
+         *   "applyment_id" : 2000002124775691,
+         *   "sign_state" : "SIGNED"
+         * }
+         */
+    }
 
     /**
      * 每月第一天的1点执行的任务

--
Gitblit v1.7.1