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