From c560f1a14ae1fc468d90e50e6a32d805295875da Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 01 九月 2025 15:35:59 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/util/TaskUtil.java | 147 +++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 131 insertions(+), 16 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 15015d2..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,10 +1,20 @@
package com.dsh.guns.modular.system.util;
-import com.dsh.guns.modular.system.service.ITbUserExitService;
+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;
/**
@@ -12,26 +22,131 @@
*/
@Component
public class TaskUtil {
-
-
@Autowired
- private ITbUserExitService userExitService;
-
-
-
- /**
- * 每分钟
- */
- @Scheduled(cron = "0 */1 * * * ?")
- public void taskDay(){
- try {
- userExitService.getSevenDay();
- }catch (Exception e){
- e.printStackTrace();
+ 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