diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java index 63ac55f5f..d129c1eed 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/AliforexcelService.java @@ -13,5 +13,7 @@ public interface AliforexcelService { JSONObject registerAlipayOnlineMerchant(); + JSONObject registerAlipayMerchant(); + JSONObject getLessPartnerInfo(); } diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java index 59acf4ed6..0adcbdfce 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java @@ -105,7 +105,7 @@ public class AliforexcelServiceImpl implements AliforexcelService { } try { needRegisterMerchant.add(client.getString("client_moniker")); - checkPartnerInfo(client); + checkPartnerInfo(client,"online"); } catch (InvalidParameterException e) { JSONObject exception = new JSONObject(); exception.put("client_moniker", client.getString("client_moniker")); @@ -140,6 +140,57 @@ public class AliforexcelServiceImpl implements AliforexcelService { return result; } + @Override + public JSONObject registerAlipayMerchant() { + JSONObject result = new JSONObject(); + List needRegisterMerchant = new ArrayList<>(); + List registerSuccessMerchant = new ArrayList<>(); + List registerFailMerchant = new ArrayList<>(); + List lessInfoMerchant = new ArrayList<>(); + String alipayOfflineMerchantsStr = "FORE,RAYI,AASO,BGWI,HYMQ,LIFE,TWTA,AMYW,CCTM,JCYA,JICH,ADGJ,MAGL,TOMA,MCNE,LILC,YOTR,PENG,CASM,SHAO,SWCG,TMCF,BPAR,DNLG,OVAU,SJZH,VWPA,BCOL,MOLI,LIYA,TST3,AUKN,MMEK,GINF,EZE2,GOTR,CJKD,QR12,NJHI,WHAP,HOTO,OMNI,UGGM,JJTV,HHPL,BSPL,TOUR,AUMG,AYUC,BFLI,WAOR,SUTR,LTEA,BRAV,BTTC,FATT,VFPL,LEOH,BHHO,ISSP,JOLP,SUNH,NEVC,QR56,GNH9,SHFO,4UBW,ZZAO,B12H,QUMA,MAYH,FMPS,OWPL,CUDE,I2MI,FAGO,FADA,ZHHS,MANT,DOMU,NTTB,SDCN,8QNF,BHLW,KNIT,U4N9,WNNN"; + String[] alipayOfflineMerchants = alipayOfflineMerchantsStr.split(","); + for (String clientMoniker : alipayOfflineMerchants) { + JSONObject client = clientMapper.findClientByMoniker(clientMoniker); + if (client == null) { + continue; + } + try { + needRegisterMerchant.add(client.getString("client_moniker")); + checkPartnerInfo(client,"offline"); + } catch (InvalidParameterException e) { + JSONObject exception = new JSONObject(); + exception.put("client_moniker", client.getString("client_moniker")); + exception.put("return_msg", e.getMessage()); + exception.put("bd_name", client.getString("bd_user_name")); + lessInfoMerchant.add(exception); + continue; + } + AlipayConfig.AlipayMerchant mch = AlipayEnvironment.getEnv().getAlipayRetailMerchant(); + Element resultElement = alipayClient.registerGmsPortal(mch.getPid(), client); + if (!StringUtils.equalsIgnoreCase("T", resultElement.elementText("is_success"))) { + JSONObject exception = new JSONObject(); + exception.put("client_moniker", client.getString("client_moniker")); + exception.put("return_msg", resultElement.elementText("error")); + registerFailMerchant.add(exception); + continue; + } + Element responseElement = resultElement.element("response").element("alipay"); + if (!StringUtils.equalsIgnoreCase("SUCCESS", responseElement.elementText("result_code"))) { + JSONObject exception = new JSONObject(); + exception.put("client_moniker", client.getString("client_moniker")); + exception.put("return_msg", resultElement.elementText("error")); + registerFailMerchant.add(exception); + continue; + } + registerSuccessMerchant.add(client.getString("client_moniker")); + } + result.put("need_register_merchant", needRegisterMerchant); + result.put("success_register_merchant", registerSuccessMerchant); + result.put("fail_register_merchant", registerFailMerchant); + result.put("less_info_merchant", lessInfoMerchant); + return result; + } + @Override public JSONObject getLessPartnerInfo() { JSONObject result = new JSONObject(); @@ -151,7 +202,7 @@ public class AliforexcelServiceImpl implements AliforexcelService { continue; } try { - checkPartnerInfo(client); + checkPartnerInfo(client,"online"); } catch (InvalidParameterException e) { JSONObject exception = new JSONObject(); exception.put("client_moniker", client.getString("client_moniker")); @@ -164,12 +215,15 @@ public class AliforexcelServiceImpl implements AliforexcelService { return result; } - private void checkPartnerInfo(JSONObject client) { - if (client == null) { - throw new InvalidShortIdException(); - } - if (!client.containsKey("company_website") || StringUtils.isBlank(client.getString("company_website"))) { - throw new InvalidParameterException("Website cannot be empty "); + private void checkPartnerInfo(JSONObject client,String type) { + if ("online".equals(type)) { + if (!client.containsKey("company_website") || StringUtils.isBlank(client.getString("company_website"))) { + throw new InvalidParameterException("Website cannot be empty "); + } + }else { + if (!client.containsKey("store_photo") || !client.containsKey("company_photo")) { + throw new InvalidParameterException("store photo cannot be empty "); + } } if (StringUtils.isBlank(client.getString("business_structure"))) { throw new InvalidParameterException("Business Structure can't be null"); @@ -179,5 +233,4 @@ public class AliforexcelServiceImpl implements AliforexcelService { throw new InvalidParameterException("Alipay Industry can't be null"); } } - } 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 ceb3a28cd..e8fd2d89f 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 @@ -455,6 +455,11 @@ public class TestController implements ApplicationEventPublisherAware { return aliforexcelService.registerAlipayOnlineMerchant(); } + @ManagerMapping(value = "/register/alipayGms", role = ManagerRole.DEVELOPER, method = RequestMethod.POST) + public JSONObject registerAlipayMerchant() { + return aliforexcelService.registerAlipayMerchant(); + } + @ManagerMapping(value = "/register/getLessPartnerInfo", role = ManagerRole.DEVELOPER, method = RequestMethod.GET) public JSONObject getLessPartnerInfo() { return aliforexcelService.getLessPartnerInfo(); diff --git a/src/main/ui/static/config/devtools/devtools.js b/src/main/ui/static/config/devtools/devtools.js index 101374d74..2cc56f2bb 100644 --- a/src/main/ui/static/config/devtools/devtools.js +++ b/src/main/ui/static/config/devtools/devtools.js @@ -425,6 +425,20 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { alert(resp.data.message); }) }; + $scope.registerGMS = function () { + $scope.totalhide = true; + $scope.selecttotal = false; + $http.post('/dev/register/alipayGms').then(function (resp) { + $scope.totalhide = false; + $scope.selecttotal = true; + $scope.need_register_merchant = resp.data.need_register_merchant.toString(); + $scope.success_register_merchant = resp.data.success_register_merchant.toString(); + $scope.fail_register_merchant = resp.data.fail_register_merchant; + $scope.less_info_merchant = resp.data.less_info_merchant(); + }, function (resp) { + alert(resp.data.message); + }) + }; $scope.getLessPartnerInfo = function () { $scope.totalhide = true; $scope.selecttotal = false; diff --git a/src/main/ui/static/config/devtools/templates/registerAlipayOnlineMerchant.html b/src/main/ui/static/config/devtools/templates/registerAlipayOnlineMerchant.html index cfe468bad..abc8c8916 100644 --- a/src/main/ui/static/config/devtools/templates/registerAlipayOnlineMerchant.html +++ b/src/main/ui/static/config/devtools/templates/registerAlipayOnlineMerchant.html @@ -10,10 +10,13 @@
- +
- + +
+
+
需要报备的商户编码