From a299e9ce41feb04c3da43e2d6be1769751318b45 Mon Sep 17 00:00:00 2001 From: dalong306 <304592994@qq.com> Date: Tue, 14 Dec 2021 10:56:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=9B=B4=E6=96=B0=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E5=AE=9D=E5=AD=90=E5=95=86=E6=88=B7=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dev/core/AlipayRegisterService.java | 190 ++++++++++++++++++ .../manage/dev/web/TestController.java | 93 +-------- 2 files changed, 201 insertions(+), 82 deletions(-) create mode 100755 src/main/java/au/com/royalpay/payment/manage/dev/core/AlipayRegisterService.java diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/AlipayRegisterService.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/AlipayRegisterService.java new file mode 100755 index 000000000..00de11834 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/AlipayRegisterService.java @@ -0,0 +1,190 @@ +package au.com.royalpay.payment.manage.dev.core; + +import au.com.royalpay.payment.channels.alipay.runtime.AlipayOnlineApi; +import au.com.royalpay.payment.channels.alipay.runtime.AlipayRetailApi; +import au.com.royalpay.payment.core.beans.EmptyMerchantApplication; +import au.com.royalpay.payment.core.impls.MerchantChannelApplicationManager; +import au.com.royalpay.payment.manage.mappers.system.ClientMapper; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.apache.http.util.TextUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Iterator; + +@Service +public class AlipayRegisterService { + private final Logger logger = LoggerFactory.getLogger(getClass()); + @Resource + private MerchantChannelApplicationManager merchantChannelApplicationManager; + + @Resource + private ClientMapper clientMapper; + + public void batchUpdateAlipayApply() { + logger.info("=======>batchUpdateAlipayApply=开始批量更新支付宝"); + String[] alipayonlines = new String[]{ + + }; + HashMap sb = new HashMap(); + HashMap sb2 = new HashMap(); + HashMap sb_failure = new HashMap(); + HashMap sb_failure2 = new HashMap(); + StringBuilder fail_reason = new StringBuilder(); + + fail_reason.append("线上===========\n"); + Arrays.stream(alipayonlines).forEach( + clientMoniker -> { + JSONObject client = clientMapper.findClientByMoniker(clientMoniker); + if (client == null) { + logger.info("======>alipayonline:" + clientMoniker + ":client为空"); + + sb_failure.put(clientMoniker, clientMoniker); + fail_reason.append(clientMoniker + ":商户已失效,"); + return; + } + if (TextUtils.isEmpty(client.getString("acn"))) { + client.put("acn", null); + } + logger.info("======>alipayonline:" + clientMoniker); + if (!client.containsKey("company_website") || TextUtils.isEmpty(client.getString("company_website"))) { + client.put("company_website", "https://www.royalpay.com.au/"); + } + if (StringUtils.isBlank(client.getString("business_structure"))) { + client.put("business_structure", "Registered body(Sole Trader)"); + } + if (StringUtils.isBlank(client.getString("alipayindustry"))) { + logger.info("======>alipayonline:" + clientMoniker + ":alipayindustry为空,给默认值5311"); + client.put("alipayindustry", "5311"); + } + + try { + merchantChannelApplicationManager.getRegister(AlipayOnlineApi.class).apply(client, new EmptyMerchantApplication(), null); + logger.info("======>alipayindustry:register:" + clientMoniker); + sb.put(clientMoniker, clientMoniker); + } catch (Exception e) { + e.printStackTrace(); + logger.info("======>alipayindustry:register2:" + clientMoniker); + if ("DUPLICATE_REQUEST".equalsIgnoreCase(e.getMessage())) { + sb.put(clientMoniker, clientMoniker); + } else { + sb_failure.put(clientMoniker, clientMoniker); + fail_reason.append(clientMoniker + ":" + e.getMessage() + ","); + + } + } + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + + ); + + String[] alipayRetails = new String[]{ + + }; + fail_reason.append("线下===========\n"); + + Arrays.stream(alipayRetails).forEach( + + clientMoniker -> { + JSONObject client = clientMapper.findClientByMoniker(clientMoniker); + if (client == null) { + logger.info("======>alipayRetail:" + clientMoniker + ":client为空"); + sb_failure2.put(clientMoniker, clientMoniker); + fail_reason.append(clientMoniker + ":商户已失效,"); + + return; + } + if (TextUtils.isEmpty(client.getString("acn"))) { + client.put("acn", null); + } + logger.info("======>alipayRetail:" + clientMoniker); + if (!client.containsKey("store_photo") || !client.containsKey("company_photo")) { + sb_failure2.put(clientMoniker, clientMoniker); + fail_reason.append(clientMoniker + ":store_photo和company_photo为空,"); + + return; + } + + if (StringUtils.isBlank(client.getString("business_structure"))) { + client.put("business_structure", "Registered body(Sole Trader)"); + } + if (StringUtils.isBlank(client.getString("alipayindustry"))) { + logger.info("======>alipayRetail:" + clientMoniker + ":alipayindustry为空,给默认值5311"); + client.put("alipayindustry", "5311"); + } + + + try { + merchantChannelApplicationManager.getRegister(AlipayRetailApi.class).apply(client, new EmptyMerchantApplication(), null); + logger.info("======>alipayRetail:register:" + clientMoniker); + sb2.put(clientMoniker, clientMoniker); + } catch (Exception e) { + System.out.println("====>Exception:" + e.getMessage()); + e.printStackTrace(); + logger.info("======>alipayRetail:register2:" + clientMoniker); + + if ("DUPLICATE_REQUEST".equalsIgnoreCase(e.getMessage())) { + sb.put(clientMoniker, clientMoniker); + } else { + sb_failure2.put(clientMoniker, clientMoniker); + fail_reason.append(clientMoniker + ":" + e.getMessage() + ","); + + } + } + try { + Thread.sleep(500); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + ); +// logger.info("======>as:" + sb.toString()); +// logger.info("======>sb_failure:" + sb_failure.toString()); +// logger.info("======>as2:" + sb2.toString()); +// logger.info("======>sb_failure2:" + sb_failure2.toString()); + + StringBuilder stringBuilder = new StringBuilder(); + StringBuilder stringBuilder2 = new StringBuilder(); + Iterator iterator = sb.keySet().iterator(); + + while (iterator.hasNext()) { + stringBuilder.append(iterator.next() + ","); + } + Iterator iterator2 = sb2.keySet().iterator(); + + while (iterator2.hasNext()) { + stringBuilder2.append(iterator2.next() + ","); + } + StringBuilder stringBuilderFail = new StringBuilder(); + StringBuilder stringBuilderFail2 = new StringBuilder(); + Iterator iterator_fail = sb_failure.keySet().iterator(); + + while (iterator_fail.hasNext()) { + stringBuilderFail.append(iterator_fail.next() + ","); + } + Iterator iterator_fail2 = sb_failure2.keySet().iterator(); + + while (iterator_fail2.hasNext()) { + stringBuilderFail2.append(iterator_fail2.next() + ","); + } + + logger.info("======>stringBuilder:" + stringBuilder.toString()); + logger.info("======>stringBuilder2:" + stringBuilder2.toString()); + logger.info("======>stringBuilderFail:" + stringBuilderFail.toString()); + logger.info("======>stringBuilderFail2:" + stringBuilderFail2.toString()); + logger.info("======>fail_reason:" + fail_reason.toString()); + + } + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java index 5a676fcba..561b96da6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/web/TestController.java @@ -21,6 +21,7 @@ import au.com.royalpay.payment.manage.dev.bean.AliExcel; import au.com.royalpay.payment.manage.dev.bean.Message; import au.com.royalpay.payment.manage.dev.bean.SendWechatMessage; import au.com.royalpay.payment.manage.dev.core.AliforexcelService; +import au.com.royalpay.payment.manage.dev.core.AlipayRegisterService; import au.com.royalpay.payment.manage.dev.core.WechatMessageService; import au.com.royalpay.payment.manage.mappers.payment.OrderMapper; import au.com.royalpay.payment.manage.mappers.payment.RefundMapper; @@ -135,6 +136,9 @@ public class TestController { @Resource private MerchantChannelApplicationManager merchantChannelApplicationManager; + @Resource + private AlipayRegisterService alipayRegisterService; + @ManagerMapping(value = "/{clientMoniker}/export/agreepdf", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.DIRECTOR, ManagerRole.OPERATOR}) public void exportAgreeFile(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, HttpServletResponse httpResponse) throws Exception { httpResponse.setContentType("application/pdf"); @@ -807,94 +811,19 @@ public class TestController { } + int st=0; + /** * 批量更新支付宝子商户号报备 */ @GetMapping(value = "/batch_update_alipayapply") public void batchUpdateAlipayApply() { - logger.info("=======>batchUpdateAlipayApply=开始批量更新支付宝"); - String[] alipayonlines = new String[]{}; - StringBuilder sb=new StringBuilder(); - Arrays.stream(alipayonlines).forEach( - clientMoniker -> { - JSONObject client = clientMapper.findClientByMoniker(clientMoniker); - if (client == null) { - logger.info("======>alipayonline:" + clientMoniker + ":client为空"); - return; - } - if(TextUtils.isEmpty(client.getString("acn"))){ - client.put("acn",null); - } - logger.info("======>alipayonline:" + clientMoniker); - if (!client.containsKey("company_website")) { - client.put("company_website", "https://www.royalpay.com.au/"); - } - if (StringUtils.isBlank(client.getString("business_structure"))) { - client.put("business_structure", "Registered body(Sole Trader)"); - } - if (StringUtils.isBlank(client.getString("alipayindustry"))) { - logger.info("======>alipayonline:" + clientMoniker + ":alipayindustry为空,给默认值5311"); - client.put("alipayindustry", "5311"); - } - logger.info("======>alipayindustry:register:" + clientMoniker); - sb.append(clientMoniker+","); -// try { -// merchantChannelApplicationManager.getRegister(AlipayOnlineApi.class).apply(client, new EmptyMerchantApplication(), null); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// try { -// Thread.sleep(100); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } - } - - - ); - - String[] alipayRetails = new String[]{ }; - Arrays.stream(alipayRetails).forEach( - clientMoniker -> { - JSONObject client = clientMapper.findClientByMoniker(clientMoniker); - if (client == null) { - logger.info("======>alipayRetail:" + clientMoniker + ":client为空"); - } - if(TextUtils.isEmpty(client.getString("acn"))){ - client.put("acn",null); - } - logger.info("======>alipayRetail:" + clientMoniker); - if (!client.containsKey("store_photo") || !client.containsKey("company_photo")) { - return; - } - - if (StringUtils.isBlank(client.getString("business_structure"))) { - client.put("business_structure", "Registered body(Sole Trader)"); - } - if (StringUtils.isBlank(client.getString("alipayindustry"))) { - logger.info("======>alipayRetail:" + clientMoniker + ":alipayindustry为空,给默认值5311"); - client.put("alipayindustry", "5311"); - } - if(TextUtils.isEmpty(client.getString("acn")) && !TextUtils.isEmpty(client.getString("abn"))) - - logger.info("======>alipayRetail:register:" + clientMoniker); - sb.append(clientMoniker+","); - -// try { -// merchantChannelApplicationManager.getRegister(AlipayRetailApi.class).apply(client, new EmptyMerchantApplication(), null); -// } catch (Exception e) { -// e.printStackTrace(); -// } -// try { -// Thread.sleep(100); -// } catch (InterruptedException e) { -// e.printStackTrace(); -// } - } - - ); - logger.info("======>as:" + sb.toString()); + if(st>0){ + return; + } + st++; + alipayRegisterService.batchUpdateAlipayApply(); } }