add 线下商户批量报备

master
luoyang 6 years ago
parent 1c0696f412
commit 840e7cd264

@ -13,7 +13,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jib-maven-plugin.version>1.1.2</jib-maven-plugin.version>
<docker-image.version>1.0.16</docker-image.version>
<docker-image.version>1.0.17</docker-image.version>
</properties>
<dependencies>

@ -13,5 +13,7 @@ public interface AliforexcelService {
JSONObject registerAlipayOnlineMerchant();
JSONObject registerAlipayMerchant();
JSONObject getLessPartnerInfo();
}

@ -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<String> needRegisterMerchant = new ArrayList<>();
List<String> registerSuccessMerchant = new ArrayList<>();
List<JSONObject> registerFailMerchant = new ArrayList<>();
List<JSONObject> 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");
}
}
}

@ -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();

@ -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;

@ -10,10 +10,13 @@
</section>
<section class="content">
<div class="box">
<button class="btn btn-primary" ng-click="registerOnlineGMS()">register</button> <label ng-hide="selecttotal" style="padding-left: 30px">请稍后</label>
<button class="btn btn-primary" ng-click="registerOnlineGMS()">register Online</button> <label ng-hide="selecttotal" style="padding-left: 30px">请稍后</label>
</div>
<div class="box">
<button class="btn btn-primary" ng-click="getLessPartnerInfo()">缺少信息的商户</button>
<button class="btn btn-primary" ng-click="getLessPartnerInfo()">缺少信息的商户(online)</button>
</div>
<div class="box">
<button class="btn btn-primary" ng-click="registerGMS()">register offline</button> <label ng-hide="selecttotal" style="padding-left: 30px">请稍后</label>
</div>
<div class="row" ng-if="need_register_merchant">
<span>需要报备的商户编码</span><p ng-bind="need_register_merchant"></p>

Loading…
Cancel
Save