From a1bbc19efd270d467a8019cec505380af7646efc Mon Sep 17 00:00:00 2001 From: yixian Date: Tue, 12 May 2020 16:27:04 +1000 Subject: [PATCH 1/4] fix: client modify process --- .../manage/merchants/core/ClientManager.java | 17 +++-- .../merchants/core/ClientModifySupport.java | 8 +- .../core/impls/ClientManagerImpl.java | 20 +++-- .../core/impls/ClientModifySupportImpl.java | 33 +++++--- .../entity/ClientGatewaySignModify.java | 71 ++++-------------- .../manage/merchants/entity/ClientModify.java | 75 ++++--------------- ...Modify.java => ClientModifyOperation.java} | 59 ++++++--------- .../impls/CBBankPaypadVersionModify.java | 10 +-- .../entity/impls/ClearDaysModify.java | 15 ++-- .../entity/impls/CredentialCodeModify.java | 13 ++-- .../entity/impls/CustomSwitchModify.java | 43 +++++++++++ .../impls/CustomerSurchargeRateModify.java | 15 ++-- .../entity/impls/EmailSendStandByModify.java | 15 ++-- .../entity/impls/MaxOrderAmountModify.java | 15 ++-- .../entity/impls/OrderExpiryModify.java | 13 ++-- .../entity/impls/PaypadVersionModify.java | 13 ++-- .../entity/impls/RefundAuditModify.java | 9 +-- .../entity/impls/RefundPWDModify.java | 5 +- .../entity/impls/SettleHourModify.java | 15 ++-- .../entity/impls/SurchargeModeModify.java | 1 - .../SwitchAllowSurchargeCreditModify.java | 1 - .../entity/impls/SwitchPermissionModify.java | 12 ++- .../web/PartnerManageController.java | 2 +- 23 files changed, 219 insertions(+), 261 deletions(-) rename src/main/java/au/com/royalpay/payment/manage/merchants/entity/{ClientConfigModify.java => ClientModifyOperation.java} (53%) create mode 100644 src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomSwitchModify.java diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 291435655..0d21c9e23 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -99,6 +99,9 @@ public interface ClientManager { @Transactional void switchPermission(JSONObject manager, String clientMoniker, String permissionKey, boolean allow); + @Transactional + void modifyUPayProfile(JSONObject manager, String clientMoniker, String profileKey, boolean allow); + @Transactional void switchChannelPermission(JSONObject manager, String clientMoniker, String channel, boolean allow); @@ -176,7 +179,7 @@ public interface ClientManager { List listSubClients(JSONObject manager, String clientMoniker); - JSONObject listSubClientsByPage(JSONObject manager, String clientMoniker,String searchText, int page); + JSONObject listSubClientsByPage(JSONObject manager, String clientMoniker, String searchText, int page); List listSubClients(int clientId); @@ -210,6 +213,7 @@ public interface ClientManager { /** * 获取所有设备Id分类 + * * @param clientMoniker * @param client_type * @param client_ids @@ -253,9 +257,9 @@ public interface ClientManager { void revertClient(String clientMoniker, JSONObject manager); - void updateClientIdInfo(String clientMoniker,JSONObject params, JSONObject manager); + void updateClientIdInfo(String clientMoniker, JSONObject params, JSONObject manager); - void updateMWRiskInfoByClient(String clientMoniker,JSONObject params, JSONObject manager); + void updateMWRiskInfoByClient(String clientMoniker, JSONObject params, JSONObject manager); JSONObject getAuthFiles(JSONObject manager, String clientMoniker); @@ -287,7 +291,7 @@ public interface ClientManager { List uploadKycFilesForWaitCompliance(JSONObject manager, String clientMoniker, ClientKycFilesInfo filesInfo); - List uploadKycFilesForWaitComplianceForApp(JSONObject account, String clientMoniker, JSONObject filesInfo,String fileType); + List uploadKycFilesForWaitComplianceForApp(JSONObject account, String clientMoniker, JSONObject filesInfo, String fileType); List uploadAuthFilesForWaitCompliance(JSONObject manager, String clientMoniker, ClientAuthFilesInfo filesInfo); @@ -307,6 +311,7 @@ public interface ClientManager { /** * 提交资料,申请卡支付 + * * @param clientMoniker * @param manager */ @@ -392,7 +397,7 @@ public interface ClientManager { void getAggregateCardAgreeFile(String clientMoniker, JSONObject manager, boolean renewal) throws Exception; - void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal,String promotionalEffectiveDate,int promotionalPeriod) throws Exception; + void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal, String promotionalEffectiveDate, int promotionalPeriod) throws Exception; void getNewAggregateAgreeFile(String clientMoniker, JSONObject manager, boolean renewal) throws Exception; @@ -587,7 +592,7 @@ public interface ClientManager { boolean getMergeSettleStatus(JSONObject client); - void changeExtParams(String clientMoniker,JSONObject manager, JSONObject params); + void changeExtParams(String clientMoniker, JSONObject manager, JSONObject params); RPayMerchantEntity applyMWMerchantId(String clientMoniker, JSONObject manager); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientModifySupport.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientModifySupport.java index 8d32edf4e..34b6a6fc1 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientModifySupport.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientModifySupport.java @@ -1,19 +1,21 @@ package au.com.royalpay.payment.manage.merchants.core; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; import au.com.royalpay.payment.manage.merchants.entity.ClientGatewaySignModify; import au.com.royalpay.payment.manage.merchants.entity.ClientModify; +import au.com.royalpay.payment.manage.merchants.entity.ClientModifyOperation; /** * Create by yixian at 2018-04-12 16:24 */ public interface ClientModifySupport { + void processModify(ClientModifyOperation modify); + void processClientModify(ClientModify clientModify); - void processClientConfigModify(ClientConfigModify clientConfigModify); + void processClientConfigModify(ClientModify clientConfigModify); - void processClientConfigModify(ClientConfigModify clientConfigModify, boolean onlyModifyConfig); + void processClientConfigModify(ClientModify clientConfigModify, boolean onlyModifyConfig); void processClientGatewaySignModify(ClientGatewaySignModify clientGatewaySignModify); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 9172a14c7..e16a698f5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -1625,11 +1625,21 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new InvalidShortIdException(); } clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, permissionKey, allow)); - JSONObject upayProfileInfo = sysClientUpayProfileMapper.findInfo(client.getInteger("client_id")); - if (upayProfileInfo != null) { - upayProfileInfo.put(permissionKey, allow); - sysClientUpayProfileMapper.update(upayProfileInfo); + } + + @Override + @Transactional + public void modifyUPayProfile(JSONObject manager, String clientMoniker, String profileKey, boolean allow) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); } + clientModifySupport.processModify(new CustomSwitchModify(manager, clientMoniker, profileKey, allow, cli -> { + JSONObject profileUpdate = new JSONObject(); + profileUpdate.put(profileKey, allow); + profileUpdate.put("client_id", cli.getIntValue("client_id")); + sysClientUpayProfileMapper.update(profileUpdate); + })); } @Override @@ -3142,7 +3152,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid client.put("clean_days", p.getString("clean_days")); } else if ("Alipay".equals(rate_name)) { client.put("alipay_rate", p.getBigDecimal("rate_value").setScale(2, BigDecimal.ROUND_DOWN)); - }else if ("AlipayOnline".equals(rate_name)) { + } else if ("AlipayOnline".equals(rate_name)) { client.put("alipay_online_rate", p.getBigDecimal("rate_value").setScale(2, BigDecimal.ROUND_DOWN)); } }); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java index f1a1b002b..cbfe34003 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientModifySupportImpl.java @@ -5,11 +5,10 @@ import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.MerchantSignInfoMapper; import au.com.royalpay.payment.manage.merchants.core.ClientInfoCacheSupport; import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; import au.com.royalpay.payment.manage.merchants.entity.ClientGatewaySignModify; import au.com.royalpay.payment.manage.merchants.entity.ClientModify; +import au.com.royalpay.payment.manage.merchants.entity.ClientModifyOperation; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; - import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.stereotype.Service; @@ -34,26 +33,36 @@ public class ClientModifySupportImpl implements ClientModifySupport { private MongoTemplate mongoTemplate; @Override - public void processClientModify(ClientModify modify) { - int clientId = modify.doModify(merchantInfoProvider, clientMapper,mongoTemplate); + public void processModify(ClientModifyOperation modify) { + int clientId = modify.processModify(merchantInfoProvider, mongoTemplate); clientInfoCacheSupport.clearClientCache(clientId); } @Override - public void processClientConfigModify(ClientConfigModify clientConfigModify) { - int clientId =clientConfigModify.doModify(merchantInfoProvider, clientConfigMapper,clientMapper,mongoTemplate); - clientInfoCacheSupport.clearClientCache(clientId); + public void processClientModify(ClientModify modify) { + processModify(modify.setModifyConsumer(modifyObj -> clientMapper.update(modifyObj))); } @Override - public void processClientConfigModify(ClientConfigModify clientConfigModify,boolean onlyModifyConfig) { - int clientId =clientConfigModify.doModify(merchantInfoProvider, clientConfigMapper,clientMapper,mongoTemplate,onlyModifyConfig); - clientInfoCacheSupport.clearClientConfigCache(clientId); + public void processClientConfigModify(ClientModify clientConfigModify) { + processModify(clientConfigModify.setModifyConsumer(modifyObj -> { + clientMapper.update(modifyObj); + clientConfigMapper.update(modifyObj); + })); + } + + @Override + public void processClientConfigModify(ClientModify clientConfigModify, boolean onlyModifyConfig) { + processModify(clientConfigModify.setModifyConsumer(modifyObj -> { + if (!onlyModifyConfig) { + clientMapper.update(modifyObj); + } + clientConfigMapper.update(modifyObj); + })); } @Override public void processClientGatewaySignModify(ClientGatewaySignModify clientGatewaySignModify) { - int clientId =clientGatewaySignModify.doModify(merchantInfoProvider, merchantSignInfoMapper,mongoTemplate); - clientInfoCacheSupport.clearClientCache(clientId); + processModify(clientGatewaySignModify.setMerchantSignInfoMapper(merchantSignInfoMapper)); } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientGatewaySignModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientGatewaySignModify.java index 2c72380bf..e3dd601ca 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientGatewaySignModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientGatewaySignModify.java @@ -1,78 +1,39 @@ package au.com.royalpay.payment.manage.merchants.entity; import au.com.royalpay.payment.manage.mappers.system.MerchantSignInfoMapper; -import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; -import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; -import au.com.royalpay.payment.tools.utils.id.IdUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.function.Consumer; /** * Create by yixian at 2018-04-12 16:19 */ -public abstract class ClientGatewaySignModify { +public abstract class ClientGatewaySignModify extends ClientModifyOperation { - private JSONObject account; - - private String clientMoniker; + private MerchantSignInfoMapper merchantSignInfoMapper; public ClientGatewaySignModify(JSONObject account, String clientMoniker) { - this.account = account; - this.clientMoniker = clientMoniker; + super(account, clientMoniker); } protected abstract String business(); protected abstract JSONObject getModifyResult(); - @Transactional - public int doModify(MerchantInfoProvider merchantInfoProvider, MerchantSignInfoMapper merchantSignInfoMapper, MongoTemplate mongoTemplate) { - JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); - JSONObject clientGatewaySign = merchantSignInfoMapper.findClientSign(clientMoniker); - JSONObject modifyResult = getModifyResult(); - try { - saveModifyHistory(clientGatewaySign, modifyResult, mongoTemplate); - }catch (Exception e){ - - } - int clientId = client.getIntValue("client_id"); - modifyResult.put("client_moniker", clientMoniker); - modifyResult.put("last_update_by", account.getString("account_id")); - modifyResult.put("last_update_date", new Date()); - merchantSignInfoMapper.update(modifyResult); - return clientId; + @Override + protected Consumer getModifyProcess() { + return client -> { + JSONObject modifyResult = getModifyResult(); + modifyResult.put("client_moniker", getClientMoniker()); + modifyResult.put("last_update_by", getAccount().getString("account_id")); + modifyResult.put("last_update_date", new Date()); + merchantSignInfoMapper.update(modifyResult); + }; } - private void saveModifyHistory(JSONObject clientGatewaySign, JSONObject modifyResult, MongoTemplate mongoTemplate) { - if (account == null) { - return; - } - ClientConfigLog clientConfigLog = new ClientConfigLog(); - clientConfigLog.setId(IdUtil.getId()); - clientConfigLog.setBusiness(business()); - clientConfigLog.setClientId(clientGatewaySign.getIntValue("client_id")); - - boolean isPartner = true; - if (StringUtils.isNotEmpty(account.getString("account_id"))) { - isPartner = true; - } - if (StringUtils.isNotEmpty(account.getString("manager_id"))) { - isPartner = false; - } - clientConfigLog.setUserType(isPartner ? "Merchant" : "Manager"); - clientConfigLog.setCreateTime(new Date()); - clientConfigLog.setNewData(modifyResult.toJSONString()); - clientConfigLog.setUserId(isPartner ? account.getString("account_id") : account.getString("manager_id")); - Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, clientGatewaySign::get)); - clientConfigLog.setOriginData(JSON.toJSONString(beforeModify)); - clientConfigLog.setUserName(isPartner ? account.getString("display_name") : account.getString("display_name")); - mongoTemplate.save(clientConfigLog); + public ClientGatewaySignModify setMerchantSignInfoMapper(MerchantSignInfoMapper merchantSignInfoMapper) { + this.merchantSignInfoMapper = merchantSignInfoMapper; + return this; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java index cf33238d9..d0e036a35 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModify.java @@ -1,77 +1,32 @@ package au.com.royalpay.payment.manage.merchants.entity; -import au.com.royalpay.payment.manage.mappers.system.ClientMapper; -import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; -import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; -import au.com.royalpay.payment.tools.utils.id.IdUtil; - -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Date; -import java.util.Map; -import java.util.stream.Collectors; +import java.util.function.Consumer; /** * Create by yixian at 2018-04-12 16:19 */ -public abstract class ClientModify { +public abstract class ClientModify extends ClientModifyOperation { - private JSONObject account; - - private String clientMoniker; + private Consumer modifyConsumer; public ClientModify(JSONObject account, String clientMoniker) { - this.account = account; - this.clientMoniker = clientMoniker; + super(account, clientMoniker); } - protected abstract String business(); - - protected abstract JSONObject getModifyResult(); - - @Transactional - public int doModify(MerchantInfoProvider merchantInfoProvider, ClientMapper clientMapper, MongoTemplate mongoTemplate) { - JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); - JSONObject modifyResult = getModifyResult(); - try { - saveModifyHistory(client, modifyResult, mongoTemplate); - }catch (Exception e){ - - } - int clientId = client.getIntValue("client_id"); - modifyResult.put("client_id", clientId); - clientMapper.update(modifyResult); - return clientId; + @Override + protected Consumer getModifyProcess() { + return client -> { + JSONObject modifyResult = getModifyResult(); + int clientId = client.getIntValue("client_id"); + modifyResult.put("client_id", clientId); + modifyConsumer.accept(modifyResult); + }; } - private void saveModifyHistory(JSONObject client, JSONObject modifyResult, MongoTemplate mongoTemplate) { - if (account == null) { - return; - } - ClientConfigLog clientConfigLog = new ClientConfigLog(); - clientConfigLog.setId(IdUtil.getId()); - clientConfigLog.setBusiness(business()); - clientConfigLog.setClientId(client.getIntValue("client_id")); - - boolean isPartner = true; - if (StringUtils.isNotEmpty(account.getString("account_id"))) { - isPartner = true; - } - if (StringUtils.isNotEmpty(account.getString("manager_id"))) { - isPartner = false; - } - clientConfigLog.setUserType(isPartner ? "Merchant" : "Manager"); - clientConfigLog.setCreateTime(new Date()); - clientConfigLog.setNewData(modifyResult.toJSONString()); - clientConfigLog.setUserId(isPartner ? account.getString("account_id") : account.getString("manager_id")); - Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); - clientConfigLog.setOriginData(JSON.toJSONString(beforeModify)); - clientConfigLog.setUserName(isPartner ? account.getString("display_name") : account.getString("display_name")); - mongoTemplate.save(clientConfigLog); + public ClientModify setModifyConsumer(Consumer modifyConsumer) { + this.modifyConsumer = modifyConsumer; + return this; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModifyOperation.java similarity index 53% rename from src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java rename to src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModifyOperation.java index 18c50176c..d84d8c4ca 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientConfigModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/ClientModifyOperation.java @@ -1,32 +1,26 @@ package au.com.royalpay.payment.manage.merchants.entity; -import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; import au.com.royalpay.payment.tools.merchants.core.MerchantInfoProvider; import au.com.royalpay.payment.tools.utils.id.IdUtil; - import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; - import org.apache.commons.lang3.StringUtils; import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.Map; +import java.util.function.Consumer; import java.util.stream.Collectors; /** - * Create by yixian at 2018-04-12 16:19 + * Create by davep at 2020-05-12 14:32 */ -public abstract class ClientConfigModify { - - private JSONObject account; - - private String clientMoniker; +public abstract class ClientModifyOperation { + private final JSONObject account; + private final String clientMoniker; - public ClientConfigModify(JSONObject account, String clientMoniker) { + protected ClientModifyOperation(JSONObject account, String clientMoniker) { this.account = account; this.clientMoniker = clientMoniker; } @@ -35,36 +29,21 @@ public abstract class ClientConfigModify { protected abstract JSONObject getModifyResult(); - public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper, ClientMapper clientMapper, MongoTemplate mongoTemplate) { - JSONObject client = merchantInfoProvider.getClientInfoByMoniker(clientMoniker); - JSONObject modifyResult = getModifyResult(); - try { - saveModifyHistory(client, modifyResult, mongoTemplate); - }catch (Exception e){ + protected abstract Consumer getModifyProcess(); - } - int clientId = client.getIntValue("client_id"); - modifyResult.put("client_id", clientId); - clientConfigMapper.update(modifyResult); - clientMapper.update(modifyResult); - return clientId; - } - - public int doModify(MerchantInfoProvider merchantInfoProvider, ClientConfigMapper clientConfigMapper, ClientMapper clientMapper, MongoTemplate mongoTemplate,boolean onlyModifyConfig) { - JSONObject clientConfig = merchantInfoProvider.getClientConfigInfoByMoniker(clientMoniker); + public int processModify(MerchantInfoProvider merchantInfoProvider, MongoTemplate mongoTemplate) { + JSONObject client = merchantInfoProvider.getClientInfoByMoniker(getClientMoniker()); JSONObject modifyResult = getModifyResult(); try { - saveModifyHistory(clientConfig, modifyResult, mongoTemplate); - }catch (Exception e){ + saveModifyHistory(client, modifyResult, mongoTemplate); + } catch (Exception e) { } - int clientId = clientConfig.getIntValue("client_id"); - modifyResult.put("client_id", clientId); - clientConfigMapper.update(modifyResult); - return clientId; + getModifyProcess().accept(client); + return client.getIntValue("client_id"); } - private void saveModifyHistory(JSONObject client, JSONObject modifyResult,MongoTemplate mongoTemplate) { + protected void saveModifyHistory(JSONObject client, JSONObject modifyResult, MongoTemplate mongoTemplate) { if (account == null) { return; } @@ -86,7 +65,15 @@ public abstract class ClientConfigModify { clientConfigLog.setUserId(isPartner ? account.getString("account_id") : account.getString("manager_id")); Map beforeModify = modifyResult.keySet().stream().collect(Collectors.toMap(key -> key, client::get)); clientConfigLog.setOriginData(JSON.toJSONString(beforeModify)); - clientConfigLog.setUserName(isPartner ? account.getString("display_name") : account.getString("display_name")); + clientConfigLog.setUserName(account.getString("display_name")); mongoTemplate.insert(clientConfigLog); } + + public JSONObject getAccount() { + return account; + } + + public String getClientMoniker() { + return clientMoniker; + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CBBankPaypadVersionModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CBBankPaypadVersionModify.java index 4c4db3701..6d87f14ec 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CBBankPaypadVersionModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CBBankPaypadVersionModify.java @@ -1,17 +1,17 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class CBBankPaypadVersionModify extends ClientConfigModify { - private String cbbank_paypad_version; +public class CBBankPaypadVersionModify extends ClientModify { + private String cbbankPaypadVersion; public CBBankPaypadVersionModify(JSONObject account, String clientMoniker, String paypad_version) { super(account, clientMoniker); - this.cbbank_paypad_version = paypad_version; + this.cbbankPaypadVersion = paypad_version; } @Override @@ -23,7 +23,7 @@ public class CBBankPaypadVersionModify extends ClientConfigModify { @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("cbbank_paypad_version", cbbank_paypad_version); + modify.put("cbbank_paypad_version", cbbankPaypadVersion); return modify; } } \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/ClearDaysModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/ClearDaysModify.java index b53b5289c..18d53654c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/ClearDaysModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/ClearDaysModify.java @@ -1,30 +1,29 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class ClearDaysModify extends ClientConfigModify { - private int settle_hour; +public class ClearDaysModify extends ClientModify { + private int settleHour; - public ClearDaysModify(JSONObject account, String clientMoniker, int settle_hour) { + public ClearDaysModify(JSONObject account, String clientMoniker, int settleHour) { super(account, clientMoniker); - this.settle_hour = settle_hour; + this.settleHour = settleHour; } @Override protected String business() { - return "修改商户清算截止时间为:"+settle_hour; + return "修改商户清算截止时间为:" + settleHour; } @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("settle_hour", settle_hour); + modify.put("settle_hour", settleHour); return modify; } } \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CredentialCodeModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CredentialCodeModify.java index b586c1761..83bf41b6e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CredentialCodeModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CredentialCodeModify.java @@ -1,19 +1,18 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class CredentialCodeModify extends ClientConfigModify { - private String credential_code; +public class CredentialCodeModify extends ClientModify { + private String credentialCode; - public CredentialCodeModify(JSONObject account, String clientMoniker, String credential_code) { + public CredentialCodeModify(JSONObject account, String clientMoniker, String credentialCode) { super(account, clientMoniker); - this.credential_code = credential_code; + this.credentialCode = credentialCode; } @Override @@ -24,7 +23,7 @@ public class CredentialCodeModify extends ClientConfigModify { @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("credential_code", credential_code); + modify.put("credential_code", credentialCode); return modify; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomSwitchModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomSwitchModify.java new file mode 100644 index 000000000..82b180a0d --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomSwitchModify.java @@ -0,0 +1,43 @@ +package au.com.royalpay.payment.manage.merchants.entity.impls; + +import au.com.royalpay.payment.manage.merchants.entity.ClientModifyOperation; +import com.alibaba.fastjson.JSONObject; + +import java.util.function.Consumer; + +/** + * Create by yixian at 2018-04-12 16:43 + */ +public class CustomSwitchModify extends ClientModifyOperation { + private final String key; + private final boolean value; + private final Consumer modifyProcess; + + + public CustomSwitchModify(JSONObject account, String clientMoniker, String key, boolean value, Consumer modifyProcess) { + super(account, clientMoniker); + this.key = key; + this.value = value; + this.modifyProcess = modifyProcess; + } + + @Override + protected String business() { + + return (value ? "开启 " : "关闭 ") + key; + } + + @Override + protected JSONObject getModifyResult() { + JSONObject modify = new JSONObject(); + modify.put(key, value); + return modify; + } + + @Override + protected Consumer getModifyProcess() { + return modifyProcess; + } + + +} \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomerSurchargeRateModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomerSurchargeRateModify.java index 23544c98e..1afc7b5f4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomerSurchargeRateModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/CustomerSurchargeRateModify.java @@ -1,7 +1,6 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; import java.math.BigDecimal; @@ -9,24 +8,24 @@ import java.math.BigDecimal; /** * Create by yixian at 2018-04-12 16:43 */ -public class CustomerSurchargeRateModify extends ClientConfigModify { - private BigDecimal customer_surcharge_rate; +public class CustomerSurchargeRateModify extends ClientModify { + private BigDecimal customerSurchargeRate; - public CustomerSurchargeRateModify(JSONObject account, String clientMoniker, BigDecimal customer_surcharge_rate) { + public CustomerSurchargeRateModify(JSONObject account, String clientMoniker, BigDecimal customerSurchargeRate) { super(account, clientMoniker); - this.customer_surcharge_rate = customer_surcharge_rate; + this.customerSurchargeRate = customerSurchargeRate; } @Override protected String business() { - return "修改商户客户手续费率为:"+customer_surcharge_rate; + return "修改商户客户手续费率为:" + customerSurchargeRate; } @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("customer_surcharge_rate", customer_surcharge_rate); + modify.put("customer_surcharge_rate", customerSurchargeRate); return modify; } } \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java index f8e4f9323..ad9db9163 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/EmailSendStandByModify.java @@ -1,7 +1,6 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; import java.math.BigDecimal; @@ -9,24 +8,24 @@ import java.math.BigDecimal; /** * Create by yixian at 2018-04-12 16:43 */ -public class EmailSendStandByModify extends ClientConfigModify { - private BigDecimal max_order_amount; +public class EmailSendStandByModify extends ClientModify { + private BigDecimal maxOrderAmount; - public EmailSendStandByModify(JSONObject account, String clientMoniker, BigDecimal max_order_amount) { + public EmailSendStandByModify(JSONObject account, String clientMoniker, BigDecimal maxOrderAmount) { super(account, clientMoniker); - this.max_order_amount = max_order_amount; + this.maxOrderAmount = maxOrderAmount; } @Override protected String business() { - return "修改商户最大订单额为:"+max_order_amount; + return "修改商户最大订单额为:" + maxOrderAmount; } @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("max_order_amount", max_order_amount); + modify.put("max_order_amount", maxOrderAmount); return modify; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/MaxOrderAmountModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/MaxOrderAmountModify.java index 87e75bee6..d1c186876 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/MaxOrderAmountModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/MaxOrderAmountModify.java @@ -1,7 +1,6 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; import java.math.BigDecimal; @@ -9,24 +8,24 @@ import java.math.BigDecimal; /** * Create by yixian at 2018-04-12 16:43 */ -public class MaxOrderAmountModify extends ClientConfigModify { - private BigDecimal max_order_amount; +public class MaxOrderAmountModify extends ClientModify { + private BigDecimal maxOrderAmount; - public MaxOrderAmountModify(JSONObject account, String clientMoniker, BigDecimal max_order_amount) { + public MaxOrderAmountModify(JSONObject account, String clientMoniker, BigDecimal maxOrderAmount) { super(account, clientMoniker); - this.max_order_amount = max_order_amount; + this.maxOrderAmount = maxOrderAmount; } @Override protected String business() { - return "修改商户最大订单额为:"+max_order_amount; + return "修改商户最大订单额为:" + maxOrderAmount; } @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("max_order_amount", max_order_amount); + modify.put("max_order_amount", maxOrderAmount); return modify; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/OrderExpiryModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/OrderExpiryModify.java index 6ca63adf8..163d874e7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/OrderExpiryModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/OrderExpiryModify.java @@ -1,19 +1,18 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class OrderExpiryModify extends ClientConfigModify { - private String order_expiry_config; +public class OrderExpiryModify extends ClientModify { + private String orderExpiryConfig; - public OrderExpiryModify(JSONObject account, String clientMoniker, String order_expiry_config) { + public OrderExpiryModify(JSONObject account, String clientMoniker, String orderExpiryConfig) { super(account, clientMoniker); - this.order_expiry_config = order_expiry_config; + this.orderExpiryConfig = orderExpiryConfig; } @Override @@ -24,7 +23,7 @@ public class OrderExpiryModify extends ClientConfigModify { @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("order_expiry_config", order_expiry_config); + modify.put("order_expiry_config", orderExpiryConfig); return modify; } } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/PaypadVersionModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/PaypadVersionModify.java index 6972662ec..ea81abe5d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/PaypadVersionModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/PaypadVersionModify.java @@ -1,18 +1,17 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class PaypadVersionModify extends ClientConfigModify { - private String paypad_version; +public class PaypadVersionModify extends ClientModify { + private String paypadVersion; - public PaypadVersionModify(JSONObject account, String clientMoniker, String paypad_version) { + public PaypadVersionModify(JSONObject account, String clientMoniker, String paypadVersion) { super(account, clientMoniker); - this.paypad_version = paypad_version; + this.paypadVersion = paypadVersion; } @Override @@ -24,7 +23,7 @@ public class PaypadVersionModify extends ClientConfigModify { @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("paypad_version", paypad_version); + modify.put("paypad_version", paypadVersion); return modify; } } \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundAuditModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundAuditModify.java index 52de0d4be..c68e90989 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundAuditModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundAuditModify.java @@ -1,23 +1,22 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class RefundAuditModify extends ClientConfigModify { +public class RefundAuditModify extends ClientModify { private boolean enable; public RefundAuditModify(JSONObject account, String clientMoniker, boolean enable) { - super( account, clientMoniker); + super(account, clientMoniker); this.enable = enable; } @Override protected String business() { - return (enable?"打开":"关闭")+"refund_audit"; + return (enable ? "打开" : "关闭") + "refund_audit"; } @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundPWDModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundPWDModify.java index 15e252685..2c3bea1aa 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundPWDModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/RefundPWDModify.java @@ -1,13 +1,12 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class RefundPWDModify extends ClientConfigModify { +public class RefundPWDModify extends ClientModify { private String refund_pwd; private String refund_pwd_salt; diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SettleHourModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SettleHourModify.java index 8951f5294..cf963abc8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SettleHourModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SettleHourModify.java @@ -1,30 +1,29 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class SettleHourModify extends ClientConfigModify { - private Integer settle_hour; +public class SettleHourModify extends ClientModify { + private Integer settleHour; - public SettleHourModify(JSONObject account, String clientMoniker, Integer settle_hour) { + public SettleHourModify(JSONObject account, String clientMoniker, Integer settleHour) { super(account, clientMoniker); - this.settle_hour = settle_hour; + this.settleHour = settleHour; } @Override protected String business() { - return "修改商户清算截止时间为:"+settle_hour; + return "修改商户清算截止时间为:" + settleHour; } @Override protected JSONObject getModifyResult() { JSONObject modify = new JSONObject(); - modify.put("settle_hour", settle_hour); + modify.put("settle_hour", settleHour); return modify; } } \ No newline at end of file diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SurchargeModeModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SurchargeModeModify.java index 28cd86c5c..4bd56b6c0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SurchargeModeModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SurchargeModeModify.java @@ -1,6 +1,5 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchAllowSurchargeCreditModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchAllowSurchargeCreditModify.java index 50176f562..a6b676057 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchAllowSurchargeCreditModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchAllowSurchargeCreditModify.java @@ -1,6 +1,5 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchPermissionModify.java b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchPermissionModify.java index 0118080b0..c351fe7df 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchPermissionModify.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/entity/impls/SwitchPermissionModify.java @@ -1,15 +1,14 @@ package au.com.royalpay.payment.manage.merchants.entity.impls; -import au.com.royalpay.payment.manage.merchants.entity.ClientConfigModify; - +import au.com.royalpay.payment.manage.merchants.entity.ClientModify; import com.alibaba.fastjson.JSONObject; /** * Create by yixian at 2018-04-12 16:43 */ -public class SwitchPermissionModify extends ClientConfigModify { - private String key; - private boolean value; +public class SwitchPermissionModify extends ClientModify { + private final String key; + private final boolean value; public SwitchPermissionModify(JSONObject account, String clientMoniker, String key, boolean value) { super(account, clientMoniker); @@ -19,8 +18,7 @@ public class SwitchPermissionModify extends ClientConfigModify { @Override protected String business() { - - return (value?"开启 ":"关闭 ")+key; + return (value ? "开启 " : "关闭 ") + key; } @Override diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 59fae1acf..5ae92e4b2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -990,7 +990,7 @@ public class PartnerManageController { */ @ManagerMapping(value = "/{clientMoniker}/payment_card_permission", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) public void switchInternationalCard(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - clientManager.switchPermission(manager, clientMoniker, "enable_international_card", pass.getBooleanValue("allow")); + clientManager.modifyUPayProfile(manager, clientMoniker, "enable_international_card", pass.getBooleanValue("allow")); } } From 540fa49575f853b11cb18d1e6177d70dec303eef Mon Sep 17 00:00:00 2001 From: dulingling Date: Wed, 13 May 2020 09:24:07 +0800 Subject: [PATCH 2/4] =?UTF-8?q?Upd:=E4=BF=A1=E7=94=A8=E5=8D=A1=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=9B=BD=E9=99=85=E8=B4=B9=E7=94=A8=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../manage/merchants/core/impls/ClientManagerImpl.java | 5 +++-- src/main/resources/application-dev.yml | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index da2c73de3..998ba92f0 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 4.0.0 manage - 2.3.0 + 2.3.1 UTF-8 1.8.0 diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index e16a698f5..62f5b0e71 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -7149,7 +7149,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid info.put("annual_rate", cardAnnualRate);//年费率 info.put("cost_per_transaction", clientRate.getString("transaction_fee"));//每次交易成本 info.put("domestic_fee", cardRate.getString("domestic_rate_value"));//国内服务费 - info.put("international_fee", cardRate.getString("overseas_rate_value"));//国际服务费 + info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card")?cardRate.getString("overseas_rate_value"):"-");//国际服务费 BigDecimal reserve = (upayProfileInfo.getBigDecimal("expected_card_revenue").multiply(new BigDecimal(0.005)).setScale(0, RoundingMode.HALF_UP)); info.put("account_reserve", reserve.compareTo(new BigDecimal(200)) <= 0 ? new BigDecimal(200).toPlainString() : reserve.toPlainString());//账户储备金 //银行账号信息 @@ -7184,6 +7184,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } JSONObject cardRate = clientRate.getJSONObject("ext_rates"); JSONObject legalInfo = sysClientLegalPersonMapper.findRepresentativeInfo(clientId); + JSONObject upayProfileInfo = sysClientUpayProfileMapper.findInfo(clientId); JSONObject info = new JSONObject(); info.put("down_date", convertDateEnglish(new Date()));//下载文件日期 @@ -7194,7 +7195,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid info.put("partner_bussiness_name", client.getString("business_name"));//商户商用名称 info.put("legal_bussiness", legalInfo.getString("representative_person") + " AS " + (client.containsKey("business_name") ? client.getString("business_name") : legalInfo.getString("representative_person")) + " ABN " + client.getString("abn"));//拼接规则:法人名 AS 商用名称 ABD 编码 info.put("domestic_fee", cardRate.getString("domestic_rate_value"));//国内服务费 - info.put("international_fee", cardRate.getString("overseas_rate_value"));//国际服务费 + info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card")?cardRate.getString("overseas_rate_value"):"-");//国际服务费 info.put("promotional_effective_date", promotionalEffectiveDate); info.put("promotional_period", promotionalPeriod); return info; diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 3beef053f..8950b3d8d 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -3,13 +3,13 @@ spring: master: host: 192.168.0.84:3306 jdbc-url: jdbc:mysql://${spring.datasource.master.host}/${spring.datasource.master.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false - password: rpayplus + password: rpayplus123 schema-name: royalpay username: root slave: host: 192.168.0.84:3306 jdbc-url: jdbc:mysql://${spring.datasource.slave.host}/${spring.datasource.slave.schema-name}?useUnicode=true&characterEncoding=utf8&useSSL=false - password: rpayplus + password: rpayplus123 schema-name: royalpay username: root type: com.zaxxer.hikari.HikariDataSource From d42a6fdcf6fbcf9dbef57d4febaf8b548491a2f8 Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Wed, 13 May 2020 23:45:56 +0800 Subject: [PATCH 3/4] [Y] update upay --- pom.xml | 33 +- .../mappers/system/ClientRateMapper.java | 16 +- .../manage/merchants/core/ClientManager.java | 7 +- .../core/impls/ClientManagerImpl.java | 216 +- .../web/PartnerManageController.java | 77 +- .../core/impls/TradeLogServiceImpl.java | 10 +- .../mappers/payment/TransactionMapper.xml | 2 +- .../jasper/austrac_report20171228.jasper | Bin 190629 -> 0 bytes .../jasper/partner_invoice_20171201.jasper | Bin 78873 -> 0 bytes .../jasper/partner_invoice_gst20180409.jasper | Bin 84473 -> 0 bytes .../jasper/partner_invoice_gst20180412.jasper | Bin 80163 -> 0 bytes .../jasper/partner_invoice_gst20200410.jasper | Bin 80864 -> 0 bytes .../jasper/partner_invoice_gst_bak.jasper | Bin 80864 -> 0 bytes .../jasper/trans_excel20161008.jasper | Bin 40950 -> 0 bytes .../jasper/trans_excel20161009.jasper | Bin 42038 -> 0 bytes .../jasper/trans_excel20170516.jasper | Bin 42156 -> 0 bytes .../jasper/trans_excel20170531.jasper | Bin 43575 -> 0 bytes .../jasper/trans_excel20170704.jasper | Bin 44805 -> 0 bytes .../jasper/trans_excel20170822.jasper | Bin 45893 -> 0 bytes .../jasper/trans_excel20180412.jasper | Bin 46009 -> 0 bytes .../jasper/trans_flow20161008.jasper | Bin 73754 -> 0 bytes .../jasper/trans_flow20161009.jasper | Bin 74659 -> 0 bytes .../jasper/trans_flow_new20161107.jasper | Bin 76072 -> 0 bytes .../jasper/trans_flow_new20161202.jasper | Bin 76011 -> 0 bytes .../jasper/trans_flow_new20170302.jasper | Bin 78865 -> 0 bytes .../templates/mail/new_client_notice.html | 18 +- .../static/payment/partner/partner-manage.js | 1945 ++++++++++------- .../partner/templates/add_partner.html | 4 +- .../templates/partner_bankaccounts.html | 122 +- .../partner/templates/partner_compliance.html | 53 +- .../partner/templates/partner_detail.html | 25 +- .../partner/templates/partner_edit.html | 4 +- .../payment/partner/templates/partners.html | 17 - .../payment/manage/valid/CSVTest.java | 13 +- 34 files changed, 1444 insertions(+), 1118 deletions(-) delete mode 100644 src/main/resources/jasper/austrac_report20171228.jasper delete mode 100644 src/main/resources/jasper/partner_invoice_20171201.jasper delete mode 100644 src/main/resources/jasper/partner_invoice_gst20180409.jasper delete mode 100644 src/main/resources/jasper/partner_invoice_gst20180412.jasper delete mode 100644 src/main/resources/jasper/partner_invoice_gst20200410.jasper delete mode 100644 src/main/resources/jasper/partner_invoice_gst_bak.jasper delete mode 100644 src/main/resources/jasper/trans_excel20161008.jasper delete mode 100644 src/main/resources/jasper/trans_excel20161009.jasper delete mode 100644 src/main/resources/jasper/trans_excel20170516.jasper delete mode 100644 src/main/resources/jasper/trans_excel20170531.jasper delete mode 100644 src/main/resources/jasper/trans_excel20170704.jasper delete mode 100644 src/main/resources/jasper/trans_excel20170822.jasper delete mode 100644 src/main/resources/jasper/trans_excel20180412.jasper delete mode 100644 src/main/resources/jasper/trans_flow20161008.jasper delete mode 100644 src/main/resources/jasper/trans_flow20161009.jasper delete mode 100644 src/main/resources/jasper/trans_flow_new20161107.jasper delete mode 100644 src/main/resources/jasper/trans_flow_new20161202.jasper delete mode 100644 src/main/resources/jasper/trans_flow_new20170302.jasper diff --git a/pom.xml b/pom.xml index 998ba92f0..bfb3b872f 100644 --- a/pom.xml +++ b/pom.xml @@ -5,14 +5,14 @@ au.com.royalpay.payment payment-parent - 2.1.41 + 2.1.45 4.0.0 manage - 2.3.1 + 2.3.2 UTF-8 - 1.8.0 + 2.2.0 ${project.version} @@ -247,9 +247,11 @@ ${docker-image.version} - - extra/ - + + + extra/ + + true @@ -277,11 +279,14 @@ hkccr.ccs.tencentyun.com/rpay/serverjre:openj9 - hkccr.ccs.tencentyun.com/cross-payment-dev/manage-dev:${docker-image.version} + hkccr.ccs.tencentyun.com/cross-payment-dev/manage-dev:${docker-image.version} + - - extra/ - + + + extra/ + + true @@ -311,9 +316,11 @@ hkccr.ccs.tencentyun.com/rpay/manage:${docker-image.version} - - extra/ - + + + extra/ + + true diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.java index a6972d809..7b606adc5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientRateMapper.java @@ -20,6 +20,9 @@ public interface ClientRateMapper { List listClientRates(@Param("client_id") int clientId, @Param("rate_name") String rateName); + @AutoSql(SqlType.SELECT) + JSONObject findRateByRateId(@Param("client_rate_id") String rateId); + @AutoSql(SqlType.INSERT) void saveRate(JSONObject rateConfig); @@ -39,23 +42,22 @@ public interface ClientRateMapper { @Param("clean_days") Integer cleanDays, @Param("rate_name") String rateName); - - List latestConfig(@Param("client_id")int client_id,@Param("rate_name") String rate_name); + List latestConfig(@Param("client_id") int client_id, @Param("rate_name") String rate_name); //Task - List maxChannelExpiryTime(@Param("client_id")int client_id,@Param("rate_name")String rate_name); + List maxChannelExpiryTime(@Param("client_id") int client_id, @Param("rate_name") String rate_name); - List getAllExpiry(@Param("expiry_date")Date expiry_date); + List getAllExpiry(@Param("expiry_date") Date expiry_date); List getAllClientRateExpiryMerchants(); void postponeMerchantRateByClientId(int clientId); - JSONObject latestChannelCleanDays(@Param("rate_name")String rate_name, @Param("client_id")int client_id); + JSONObject latestChannelCleanDays(@Param("rate_name") String rate_name, @Param("client_id") int client_id); - JSONObject latestCardChannelCleanDays(@Param("rate_name")String rate_name, @Param("client_id")int client_id); + JSONObject latestCardChannelCleanDays(@Param("rate_name") String rate_name, @Param("client_id") int client_id); - JSONObject latestExpiryConfig(@Param("client_id")int client_id,@Param("rate_name") String rate_name); + JSONObject latestExpiryConfig(@Param("client_id") int client_id, @Param("rate_name") String rate_name); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 0d21c9e23..b52df74a7 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -86,16 +86,11 @@ public interface ClientManager { void checkAndSendInitEmail(JSONObject manager, String clientMoniker); - void sendOpenEmail(final JSONObject client, String username, String pwd); - -// void sendInitEmail(JSONObject account,JSONObject client, String username, String pwd); void markApproveEmailSendStatus(String clientMoniker, JSONObject manager); void checkEmailStatus(); - void newCheckEmailStatus(); - @Transactional void switchPermission(JSONObject manager, String clientMoniker, String permissionKey, boolean allow); @@ -397,7 +392,7 @@ public interface ClientManager { void getAggregateCardAgreeFile(String clientMoniker, JSONObject manager, boolean renewal) throws Exception; - void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal, String promotionalEffectiveDate, int promotionalPeriod) throws Exception; + void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal,String rateid,HttpServletResponse httpResponse); void getNewAggregateAgreeFile(String clientMoniker, JSONObject manager, boolean renewal) throws Exception; diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 62f5b0e71..5645d1efe 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -33,14 +33,20 @@ import au.com.royalpay.payment.manage.gateway.core.GatewayMerchantApply; import au.com.royalpay.payment.manage.kyc.enums.FilesAuthEnum; import au.com.royalpay.payment.manage.management.sysconfig.core.impls.PermissionPartnerManagerImpl; import au.com.royalpay.payment.manage.mappers.financial.FinancialBDConfigMapper; -import au.com.royalpay.payment.manage.mappers.log.*; +import au.com.royalpay.payment.manage.mappers.log.ClearingDetailMapper; +import au.com.royalpay.payment.manage.mappers.log.ClearingLogMapper; +import au.com.royalpay.payment.manage.mappers.log.ClientsOperationLogMapper; +import au.com.royalpay.payment.manage.mappers.log.LogClientSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.payment.CommonSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.redpack.ActClientInvitationCodeMapper; import au.com.royalpay.payment.manage.mappers.risk.RiskAttentionMerchantsMapper; import au.com.royalpay.payment.manage.mappers.system.*; import au.com.royalpay.payment.manage.merchants.beans.*; -import au.com.royalpay.payment.manage.merchants.core.*; +import au.com.royalpay.payment.manage.merchants.core.ClientConfigService; +import au.com.royalpay.payment.manage.merchants.core.ClientInfoCacheSupport; +import au.com.royalpay.payment.manage.merchants.core.ClientManager; +import au.com.royalpay.payment.manage.merchants.core.ClientModifySupport; import au.com.royalpay.payment.manage.merchants.entity.impls.*; import au.com.royalpay.payment.manage.merchants.enums.UPayAuthFileEnum; import au.com.royalpay.payment.manage.notice.core.MailService; @@ -102,6 +108,9 @@ import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.dom4j.Element; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; @@ -109,13 +118,11 @@ import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; -import org.springframework.context.MessageSource; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; -import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; @@ -138,7 +145,6 @@ import java.security.InvalidParameterException; import java.security.KeyPair; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.List; import java.util.*; @@ -195,16 +201,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private OrgMapper orgMapper; @Resource - private LogSettleMailMapper logSettleMailMapper; - @Resource - private CommoditiesMapper commoditiesMapper; - @Resource private ActClientInvitationCodeMapper actClientInvitationCodeMapper; @Resource private MailService mailService; - // todo 作用 - @Resource - private ClientComplyValidator[] validators; @Resource private ClientModifySupport clientModifySupport; @@ -260,8 +259,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private ClientContractService clientContractService; @Resource - private MessageSource messageSource; - @Resource private ClientsOperationLogMapper clientsOperationLogMapper; @Resource private LogClientSubMerchantIdMapper logClientSubMerchantIdMapper; @@ -321,6 +318,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid private RPayMerchantMapper rPayMerchantMapper; @Resource private SysClientUpayProfileMapper sysClientUpayProfileMapper; + DateTimeFormatter formatter = DateTimeFormat.forPattern("dd MMM yyyy"); @Resource @@ -1310,73 +1308,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } - - @Override - public void sendOpenEmail(final JSONObject client, String username, String pwd) { - JSONObject model = new JSONObject(); - model.put("username", username); - model.put("password", pwd); - model.put("client_moniker", client.getString("client_moniker")); - model.put("contact_person", client.getString("contact_person")); - model.put("credential_code", client.getString("credential_code")); - List bds = clientBDMapper.listClientBDInfoAvailable(client.getIntValue("client_id"), new Date()); - // todo Velocity - Context ctx = new Context(); - ctx.setVariable("bds", bds); - ctx.setVariable("short_name", client.getString("short_name")); - ctx.setVariable("password", pwd); - ctx.setVariable("username", username); - ctx.setVariable("client_moniker", client.getString("client_moniker")); - ctx.setVariable("contact_person", client.getString("contact_person")); - ctx.setVariable("credential_code", client.getString("credential_code")); - - final String content = thymeleaf.process("mail/new_client_notice", ctx); - // final String content = VelocityEngineUtils.mergeTemplateIntoString(null, "mail/new_client_notice.vm", - // "utf-8", model); - ctx.setVariable("password", "*****"); - final String contentBd = thymeleaf.process("mail/new_client_notice", ctx); - final List mailTos = new ArrayList<>(); - String mailTo = client.getString("contact_email"); - if (StringUtils.isEmpty(mailTo)) { - throw new EmailException("Client Contact Email is invalid"); - } - mailTos.add(mailTo); - JSONObject clientLegal = sysClientLegalPersonMapper.findRepresentativeInfo(client.getIntValue("client_id")); - if (clientLegal != null && StringUtils.isNotBlank(clientLegal.getString("email"))) { - mailTos.add(clientLegal.getString("email")); - } - - final List emails = new ArrayList<>(); - for (JSONObject bd : bds) { - String email = bd.getString("email"); - if (StringUtils.isNotEmpty(email)) { - emails.add(email); - } - } - new Thread() { - @Override - public void run() { - try { - String emailId = mailService.sendEmail("Your RoyalPay Cross-border Payment has been set up", StringUtils.join(mailTos, ","), "", content); - mailService.sendEmail("Your RoyalPay Cross-border Payment has been set up", emails.isEmpty() ? "" : StringUtils.join(emails, ","), - "", contentBd); - JSONObject clientUpdate = new JSONObject(); - clientUpdate.put("client_id", client.getIntValue("client_id")); - clientUpdate.put("approve_email_send", 3); - clientUpdate.put("approve_email_id", emailId); - clientMapper.update(clientUpdate); - } catch (Exception e) { - JSONObject clientUpdate = new JSONObject(); - clientUpdate.put("client_id", client.getIntValue("client_id")); - clientUpdate.put("approve_email_send", 0); - clientUpdate.put("approve_email_id", null); - clientMapper.update(clientUpdate); - throw new EmailException("Email Sending Failed", e); - } - } - }.start(); - } - public void sendInitEmail(final JSONObject client, String username, String pwd, boolean isUpayAuditPass) { logger.debug("sending email after comply"); JSONObject model = new JSONObject(); @@ -1386,7 +1317,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid model.put("contact_person", client.getString("contact_person")); model.put("credential_code", client.getString("credential_code")); List bds = clientBDMapper.listClientBDInfoAvailable(client.getIntValue("client_id"), new Date()); - // todo Velocity Context ctx = new Context(); ctx.setVariable("bds", bds); ctx.setVariable("short_name", client.getString("short_name")); @@ -1395,10 +1325,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid ctx.setVariable("client_moniker", client.getString("client_moniker")); ctx.setVariable("contact_person", client.getString("contact_person")); ctx.setVariable("credential_code", client.getString("credential_code")); + ctx.setVariable("card_approving", isUpayAuditPass); final String content = thymeleaf.process("mail/new_client_notice", ctx); - // final String content = VelocityEngineUtils.mergeTemplateIntoString(null, "mail/new_client_notice.vm", - // "utf-8", model); ctx.setVariable("password", "*****"); final String contentBd = thymeleaf.process("mail/new_client_notice", ctx); final List mailTos = new ArrayList<>(); @@ -1457,32 +1386,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid }.start(); } - /** - * public void sendInitEmail(JSONObject account, final JSONObject client, String username, String pwd) { - * logger.debug("sending email after comply"); JSONObject model = new JSONObject(); model.put("username", username); - * model.put("password", pwd); model.put("client_moniker", client.getString("client_moniker")); - * model.put("contact_person", client.getString("contact_person")); model.put("credential_code", - * client.getString("credential_code")); List bds = - * clientBDMapper.listClientBDInfoAvailable(client.getIntValue("client_id"), new Date()); // todo Velocity Context - * ctx = new Context(); ctx.setVariable("bds", bds); ctx.setVariable("password", pwd); ctx.setVariable("username", - * username); ctx.setVariable("client_moniker", client.getString("client_moniker")); - * ctx.setVariable("contact_person", client.getString("contact_person")); ctx.setVariable("credential_code", - * client.getString("credential_code")); ctx.setVariable("short_name", client.getString("short_name")); final String - * content = thymeleaf.process("mail/new_client_notice", ctx); // final String content = - * VelocityEngineUtils.mergeTemplateIntoString(null, "mail/new_client_notice.vm", // "utf-8", model); final String - * mailTo = client.getString("contact_email"); if (StringUtils.isEmpty(mailTo)) { throw new EmailException("Client - * Contact Email is invalid"); } final Set emails = new HashSet<>(); for (JSONObject bd : bds) { String - * email = bd.getString("email"); if (StringUtils.isNotEmpty(email)) { emails.add(email); } } new Thread() { - * - * @Override public void run() { try { SendMail sendMail = new SendMail(); Set to = new HashSet<>(); - * to.add(mailTo); sendMail.setFrom("info@mail.royalpay.com.au"); sendMail.setMailTos(to); - * sendMail.setMailCcs(emails); sendMail.setTitle("Your RoyalPay Cross-border Payment has been set up"); - * sendMail.setContent(content); sendMail.setTags(tags); JSONObject mailResult = - * mailGunService.sendMail(sendMail); clientModifySupport.processClientModify(new EmailModify(account, - * client.getString("client_moniker"), 3, mailResult.getString("mail_id"))); } catch (Exception e) { - * clientModifySupport.processClientModify(new EmailModify(account, client.getString("client_moniker"), 0, - * null)); throw new EmailException("Email Sending Failed", e); } } }.start(); } - */ public void sendAuthInitEmail(JSONObject account, final JSONObject client) { logger.debug("sending email after comply about a new partner opening by quick access"); @@ -1587,37 +1490,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } - @Override - public void newCheckEmailStatus() { - List clients = clientMapper.listClientsWithEmailNotVerify(); - for (JSONObject client : clients) { - try { - String emailId = client.getString("approve_email_id"); - JSONObject status = mailSendMapper.find(emailId, client.getString("contact_email")); - if (status != null) { - int statusNo = status.getIntValue("status"); - logger.debug("get mail status:" + emailId + "--" + statusNo); - int mailStatus = 3; - switch (statusNo) { - case 1: - mailStatus = 1; - break; - case 2: - mailStatus = 2; - break; - } - updateClientApproveEmailStatus(mailStatus, null, client.getString("client_moniker")); - } else { - logger.debug("get mail status:" + emailId + "-- none"); - // updateClientApproveEmailStatus(client.getIntValue("client_id"), 0); - } - - } catch (Exception e) { - logger.error("check email status failed", e); - } - } - } - @Override public void switchPermission(JSONObject manager, String clientMoniker, String permissionKey, boolean allow) { JSONObject client = getClientInfoByMoniker(clientMoniker); @@ -1740,7 +1612,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject account = clientAccountMapper.findById(accountId); if (clientMoniker != null) { JSONObject client = getClientInfoByMoniker(clientMoniker); - Assert.notNull(client); //父商户全局管理子商户时候,跳过 if (account.getIntValue("client_id") != client.getIntValue("client_id")) { //登录用户所属商户 @@ -1863,7 +1734,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public void togglePayNotice(JSONObject account, String clientMoniker, boolean enable) { JSONObject partner = getClientInfoByMoniker(clientMoniker); - Assert.notNull(partner); clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account, clientMoniker, "enable_pay_notice", enable)); clientInfoCacheSupport.clearClientCache(partner.getIntValue("client_id")); } @@ -2075,11 +1945,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid config.getDoubleValue("rate_value"), config.getInteger("clean_days"), channel).isEmpty()) { return; } - List existRate = clientRateMapper.listCurrentClientRates(clientId, config.getDate("active_time"), channel); - for (JSONObject rateLog : existRate) { - rateLog.put("expiry_time", DateUtils.addDays(config.getDate("active_time"), -1)); - clientRateMapper.updateConfig(rateLog); - } if (StringUtils.equalsIgnoreCase("rpaypmt_card", config.getString("type"))) { JSONObject extRateParams = new JSONObject() {{ put("domestic_rate_value", config.getBigDecimal("rate_value")); @@ -3112,12 +2977,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override @Transactional - public void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal, String promotionalEffectiveDate, int promotionalPeriod) throws ParseException { + public void getAggregateCardPromotionaAgreeFile(String clientMoniker, JSONObject manager, boolean renewal, String rateid, HttpServletResponse httpResponse) { JSONObject client = clientMapper.findClientByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); } - exportPromotionalOfferPDF(clientMoniker, manager, promotionalEffectiveDate, promotionalPeriod); + exportPromotionalOfferPDF(clientMoniker, manager, rateid, httpResponse); } @Override @@ -7137,7 +7002,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid JSONObject legalInfo = sysClientLegalPersonMapper.findRepresentativeInfo(clientId); //装在数据 JSONObject info = new JSONObject(); - info.put("down_date", convertDateEnglish(new Date()));//下载文件日期 + info.put("down_date", formatter.print(new DateTime()));//下载文件日期 info.put("bussiness_name", (client.containsKey("business_name") ? client.getString("business_name") : legalInfo.getString("representative_person")) + " " + client.getString("abn"));//商圈类型 info.put("partner_address", client.getString("address"));//商家店铺地址 info.put("partner_country", client.getString("country"));//国家 @@ -7149,7 +7014,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid info.put("annual_rate", cardAnnualRate);//年费率 info.put("cost_per_transaction", clientRate.getString("transaction_fee"));//每次交易成本 info.put("domestic_fee", cardRate.getString("domestic_rate_value"));//国内服务费 - info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card")?cardRate.getString("overseas_rate_value"):"-");//国际服务费 + info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card") ? cardRate.getString("overseas_rate_value") : "-");//国际服务费 BigDecimal reserve = (upayProfileInfo.getBigDecimal("expected_card_revenue").multiply(new BigDecimal(0.005)).setScale(0, RoundingMode.HALF_UP)); info.put("account_reserve", reserve.compareTo(new BigDecimal(200)) <= 0 ? new BigDecimal(200).toPlainString() : reserve.toPlainString());//账户储备金 //银行账号信息 @@ -7160,15 +7025,25 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid return info; } - private void exportPromotionalOfferPDF(String clientMoniker, JSONObject manager, String promotionalEffectiveDate, int promotionalPeriod) throws ParseException { - Date date = DateUtils.parseDate(promotionalEffectiveDate, "yyyy-MM-dd"); - JSONObject info = convertPromotionalOfferInfo(clientMoniker, convertDateEnglish(date), promotionalPeriod); - String pdfPath = this.getClass().getClassLoader().getResource("").getPath() + "/templates/pdf/promotional_offer.pdf"; + private void exportPromotionalOfferPDF(String clientMoniker, JSONObject manager, String rateid, HttpServletResponse httpResponse) { + httpResponse.setContentType("application/pdf"); + httpResponse.setHeader("content-disposition", "attachment;filename=" + clientMoniker + "_PROMOTIONAL_OFFER_" + new Date() + ".pdf"); + JSONObject info = convertPromotionalOfferInfo(clientMoniker, rateid); + String pdfPath = Objects.requireNonNull(this.getClass().getClassLoader().getResource("")).getPath() + "templates/pdf/promotional_offer.pdf"; String fileName = clientMoniker + "_Promotional_Offer.pdf"; - publishExcelCardPDFFile(clientMoniker, manager, fileName, pdfPath, info, PROMOTIONAL_OFFER_FILE); + try (ServletOutputStream sos = httpResponse.getOutputStream()) { + File file = new File(fileName); + PdfUtils pdu = new PdfUtils(); + pdu.setTemplatePdfPath(pdfPath); + pdu.setPdfTemplate(info); + ByteArrayOutputStream bos = pdu.templetPdfBos(file); + sos.write(bos.toByteArray()); + } catch (Exception e) { + throw new ServerErrorException(); + } } - private JSONObject convertPromotionalOfferInfo(String clientMoniker, String promotionalEffectiveDate, int promotionalPeriod) { + private JSONObject convertPromotionalOfferInfo(String clientMoniker, String rateid) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); @@ -7178,16 +7053,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new BadRequestException("The merchant failed the audit!"); } int clientId = client.getInteger("client_id"); - JSONObject clientRate = merchantInfoProvider.clientCurrentRate(clientId, new Date(), "rpaypmt_card"); - if (clientRate == null) { + JSONObject currentRate = clientRateMapper.findRateByRateId(rateid); + if (currentRate == null) { throw new BadRequestException("rpaypmt_card rate Not configured"); } - JSONObject cardRate = clientRate.getJSONObject("ext_rates"); + JSONObject cardRate = currentRate.getJSONObject("ext_rates"); JSONObject legalInfo = sysClientLegalPersonMapper.findRepresentativeInfo(clientId); JSONObject upayProfileInfo = sysClientUpayProfileMapper.findInfo(clientId); - JSONObject info = new JSONObject(); - info.put("down_date", convertDateEnglish(new Date()));//下载文件日期 + info.put("down_date", formatter.print(new DateTime()));//下载文件日期 info.put("bussiness_name", (client.containsKey("business_name") ? client.getString("business_name") : legalInfo.getString("representative_person")) + " " + client.getString("abn"));//商圈类型 info.put("partner_address", client.getString("address"));//商家店铺地址 info.put("partner_country", client.getString("country"));//国家 @@ -7195,9 +7069,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid info.put("partner_bussiness_name", client.getString("business_name"));//商户商用名称 info.put("legal_bussiness", legalInfo.getString("representative_person") + " AS " + (client.containsKey("business_name") ? client.getString("business_name") : legalInfo.getString("representative_person")) + " ABN " + client.getString("abn"));//拼接规则:法人名 AS 商用名称 ABD 编码 info.put("domestic_fee", cardRate.getString("domestic_rate_value"));//国内服务费 - info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card")?cardRate.getString("overseas_rate_value"):"-");//国际服务费 - info.put("promotional_effective_date", promotionalEffectiveDate); - info.put("promotional_period", promotionalPeriod); + info.put("international_fee", upayProfileInfo.getBoolean("enable_international_card") ? cardRate.getString("overseas_rate_value") : "-");//国际服务费 + info.put("promotional_effective_date", formatter.print(currentRate.getDate("active_time").getTime())); + info.put("promotional_period", formatter.print(currentRate.getDate("expiry_time").getTime())); return info; } @@ -7236,16 +7110,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } - private String convertDateEnglish(Date date) { - String[] months = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Spt", "Oct", "Nov", "Dec"}; - Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - int year = calendar.get(Calendar.YEAR); - int month = calendar.get(Calendar.MONTH); - int day = calendar.get(Calendar.DAY_OF_MONTH); - return day + " " + months[month] + " " + year; - } - private void importCardAgreeFile(String clientMoniker, JSONObject manager, String sourceFile, String fileLabel) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 5ae92e4b2..516966b08 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -56,7 +56,7 @@ public class PartnerManageController { } - @RequestMapping(value = "/init/merchant_code", method = RequestMethod.GET,produces = "application/json") + @RequestMapping(value = "/init/merchant_code", method = RequestMethod.GET, produces = "application/json") public JSONObject initMerchantCode() { JSONObject result = new JSONObject(); result.put("partner_code", clientManager.initMerchantCode()); @@ -311,7 +311,7 @@ public class PartnerManageController { @ManagerMapping(value = "/{clientMoniker}/selectBillVersion", method = RequestMethod.POST, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER}) public void selectBillVersion(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { - clientManager.selectBillCodeVersion(manager, clientMoniker, pass.getString("version")); + clientManager.selectBillCodeVersion(manager, clientMoniker, pass.getString("version")); } /** @@ -527,10 +527,10 @@ public class PartnerManageController { } @ManagerMapping(value = "/{clientMoniker}/sub_clients/page", method = RequestMethod.GET) - public JSONObject listSubClientsByPage(@PathVariable String clientMoniker,@RequestParam(defaultValue = "1") int page, + public JSONObject listSubClientsByPage(@PathVariable String clientMoniker, @RequestParam(defaultValue = "1") int page, @RequestParam(required = false) String searchText, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { - return clientManager.listSubClientsByPage(manager, clientMoniker,searchText,page); + return clientManager.listSubClientsByPage(manager, clientMoniker, searchText, page); } //创建子商户 @@ -596,8 +596,8 @@ public class PartnerManageController { */ @ManagerMapping(value = "/{clientMoniker}/file/source_card_agree_file", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.BD_USER, ManagerRole.SERVANT}) public JSONObject getSourceCardAgreeAuthFiles(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, - @RequestParam("fileName") String fileName){ - return clientManager.getSourceCardAgreeFiles(clientMoniker,manager,fileName); + @RequestParam("fileName") String fileName) { + return clientManager.getSourceCardAgreeFiles(clientMoniker, manager, fileName); } @ManagerMapping(value = "/auth_file/{fileId}/delete", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER}) @@ -618,13 +618,13 @@ public class PartnerManageController { @ManagerMapping(value = "/{clientMoniker}/mw_file", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.BD_USER}) public void uploadMWAuthFiles(@PathVariable String clientMoniker, @RequestBody ClientMWAuthFilesInfo filesInfo, - @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { clientManager.uploadMWAuthFilesManager(manager, clientMoniker, filesInfo); } @ManagerMapping(value = "/{clientMoniker}/kycFile", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.BD_USER}) public void uploadKycFiles(@PathVariable String clientMoniker, @RequestBody ClientKycFilesInfo filesInfo, - @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { clientManager.uploadKycFiles(manager, clientMoniker, filesInfo); } @@ -646,6 +646,7 @@ public class PartnerManageController { /** * 提交资料,BD提交卡支付最终审核 + * * @param clientMoniker * @param manager */ @@ -661,6 +662,7 @@ public class PartnerManageController { /** * 提交资料,申请卡支付 + * * @param clientMoniker * @param manager */ @@ -686,6 +688,7 @@ public class PartnerManageController { /** * 制作卡支付合同 + * * @param clientMoniker * @param manager * @throws Exception @@ -697,14 +700,18 @@ public class PartnerManageController { /** * 制作促销合同 + * * @param clientMoniker * @param manager * @throws Exception */ - @ManagerMapping(value = "/{clientMoniker}/export/aggregate/card_promotiona_agree_pdf", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.DIRECTOR, ManagerRole.OPERATOR}) - public void exportAggregateCardPromotionaAgreeFile(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, - @RequestParam("date") String promotionalEffectiveDate,@RequestParam("period") int promotionalPeriod) throws Exception { - clientManager.getAggregateCardPromotionaAgreeFile(clientMoniker, manager, false,promotionalEffectiveDate,promotionalPeriod); + @GetMapping(value = "/{clientMoniker}/export/aggregate/card_promotion_agree_pdf") + public void exportAggregateCardPromotionaAgreeFile(@PathVariable String clientMoniker, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, + @RequestParam("rateid") String rateid, + HttpServletResponse httpResponse + ) { + clientManager.getAggregateCardPromotionaAgreeFile(clientMoniker, manager, false, rateid, httpResponse); } @ManagerMapping(value = "/{clientMoniker}/temp/export/pdf", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.DIRECTOR, ManagerRole.OPERATOR}) @@ -724,6 +731,7 @@ public class PartnerManageController { /** * 信用卡合同生成完毕通知BD + * * @param clientMoniker * @param manager */ @@ -755,8 +763,8 @@ public class PartnerManageController { @GetMapping(value = "/{clientMoniker}/lists_settlements/excel") @ReadOnlyConnection - public void excelSettlements(@PathVariable String clientMoniker, TradeLogQuery query, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,HttpServletResponse response){ - clientManager.excelSettlementLog(manager, clientMoniker, query,response); + public void excelSettlements(@PathVariable String clientMoniker, TradeLogQuery query, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, HttpServletResponse response) { + clientManager.excelSettlementLog(manager, clientMoniker, query, response); } @ManagerMapping(value = "/{clientMoniker}/requireCustinfo", method = RequestMethod.POST, role = {ManagerRole.OPERATOR, ManagerRole.BD_USER}) @@ -805,6 +813,7 @@ public class PartnerManageController { public List listRpaySubMerchantIdApplys(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { return clientManager.listRpaySubMerchantIdApplys(manager, clientMoniker); } + @ManagerMapping(value = "/{clientMoniker}/sub_apply", method = RequestMethod.POST, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN}) public String subMerchantApplication(@PathVariable String clientMoniker, @RequestBody SubMerchantIdApply subMerchantIdApply, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { return clientManager.subMerchantApplication(clientMoniker, subMerchantIdApply, manager); @@ -932,51 +941,54 @@ public class PartnerManageController { /** * 获取商户所有增值服务 + * * @param clientMoniker * @return */ @ManagerMapping(value = "/{clientMoniker}/incremental_service", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public JSONObject getClientIncrementalService(@PathVariable String clientMoniker){ - return clientManager.partnerIncrementalService(clientMoniker); + public JSONObject getClientIncrementalService(@PathVariable String clientMoniker) { + return clientManager.partnerIncrementalService(clientMoniker); } /** * 保存/修改增值服务配置 + * * @param clientMoniker * @param incrementalService */ @ManagerMapping(value = "/{clientMoniker}/incremental_service", method = RequestMethod.POST, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public void updateClientIncrementalService(@PathVariable("clientMoniker") String clientMoniker,@RequestBody JSONObject incrementalService, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - clientManager.changePartnerIncrementalService(clientMoniker,incrementalService,manager); + public void updateClientIncrementalService(@PathVariable("clientMoniker") String clientMoniker, @RequestBody JSONObject incrementalService, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.changePartnerIncrementalService(clientMoniker, incrementalService, manager); } /** * 禁用/启用增值服务 + * * @param clientMoniker * @param incrementalService */ @ManagerMapping(value = "/{clientMoniker}/incremental_service/status", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public void switchClientIncrementalService(@PathVariable("clientMoniker") String clientMoniker,@RequestBody JSONObject incrementalService, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - clientManager.changeSwitchIncrementalService(clientMoniker,incrementalService,manager); + public void switchClientIncrementalService(@PathVariable("clientMoniker") String clientMoniker, @RequestBody JSONObject incrementalService, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.changeSwitchIncrementalService(clientMoniker, incrementalService, manager); } @ManagerMapping(value = "/{clientMoniker}/ext_config", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public void changeClientExtConfigs(@PathVariable("clientMoniker")String clientMoniker, + public void changeClientExtConfigs(@PathVariable("clientMoniker") String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, - @RequestBody JSONObject params){ - clientManager.changeExtParams(clientMoniker,manager,params); + @RequestBody JSONObject params) { + clientManager.changeExtParams(clientMoniker, manager, params); } - @ManagerMapping(value = "/{clientMoniker}/applyMWMerchantId",method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public RPayMerchantEntity applyMWMerchantId(@PathVariable("clientMoniker")String clientMoniker, - @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - return clientManager.applyMWMerchantId(clientMoniker,manager); + @ManagerMapping(value = "/{clientMoniker}/applyMWMerchantId", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) + public RPayMerchantEntity applyMWMerchantId(@PathVariable("clientMoniker") String clientMoniker, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return clientManager.applyMWMerchantId(clientMoniker, manager); } - @ManagerMapping(value = "/{clientMoniker}/queryMWMerchantIdStatus",method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public RPayMerchantEntity queryMWMerchantIdStatus(@PathVariable("clientMoniker")String clientMoniker, - @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ - return clientManager.queryMWMerchantIdStatus(clientMoniker,manager); + @ManagerMapping(value = "/{clientMoniker}/queryMWMerchantIdStatus", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) + public RPayMerchantEntity queryMWMerchantIdStatus(@PathVariable("clientMoniker") String clientMoniker, + @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return clientManager.queryMWMerchantIdStatus(clientMoniker, manager); } @ManagerMapping(value = "/{clientMoniker}/query/mw_info", method = RequestMethod.GET, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN}) @@ -986,10 +998,11 @@ public class PartnerManageController { /** * 启用/禁用国际卡支付 + * * @param clientMoniker */ @ManagerMapping(value = "/{clientMoniker}/payment_card_permission", method = RequestMethod.PUT, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public void switchInternationalCard(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager){ + public void switchInternationalCard(@PathVariable String clientMoniker, @RequestBody JSONObject pass, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { clientManager.modifyUPayProfile(manager, clientMoniker, "enable_international_card", pass.getBooleanValue("allow")); } diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 6183230d5..6679d26c9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -12,7 +12,10 @@ import au.com.royalpay.payment.core.exceptions.ParamInvalidException; import au.com.royalpay.payment.manage.mappers.client.ClientCustomersMapper; import au.com.royalpay.payment.manage.mappers.log.ClearingDetailMapper; import au.com.royalpay.payment.manage.mappers.log.ClearingLogMapper; -import au.com.royalpay.payment.manage.mappers.payment.*; +import au.com.royalpay.payment.manage.mappers.payment.AustracDataMapper; +import au.com.royalpay.payment.manage.mappers.payment.OrderMapper; +import au.com.royalpay.payment.manage.mappers.payment.RefundMapper; +import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.*; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.organizations.core.OrgManager; @@ -56,7 +59,6 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; -import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.ui.Model; @@ -88,8 +90,6 @@ public class TradeLogServiceImpl implements TradeLogService { @Resource private RefundMapper refundMapper; @Resource - private RefundAuditionMapper refundAuditionMapper; - @Resource private ClientAccountMapper clientAccountMapper; @Resource private ClientManager clientManager; @@ -116,8 +116,6 @@ public class TradeLogServiceImpl implements TradeLogService { @Resource private ClearingLogMapper clearingLogMapper; @Resource - private StringRedisTemplate stringRedisTemplate; - @Resource private OrgManager orgManager; @Resource private ClientMapper clientMapper; diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index 38e1504a7..b7508e323 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -952,7 +952,7 @@ INNER JOIN sys_org so ON t.org_id = so.org_id AND so.is_valid = 1 AND so.type = 0 AND so.citypartner = 1 AND so.commission = 1 - AND year(t.transaction_time) = #{year} AND month(t.transaction_time) = #{month} + AND year(t.create_time) = #{year} AND month(t.create_time) = #{month} AND t.channel != 'Settlement' AND t.channel != 'System' AND t.system_generate = 0 ORDER BY t.client_id asc ]]> diff --git a/src/main/resources/jasper/austrac_report20171228.jasper b/src/main/resources/jasper/austrac_report20171228.jasper deleted file mode 100644 index bc48e6dab6043c6c78385df334711efa6fc6cf57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 190629 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ⅅt|NSN}!laz|12jI~)&+z#T(gcx9$Ne)iJ853b*{ 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 F{y*}lC@=s3 diff --git a/src/main/resources/jasper/partner_invoice_20171201.jasper b/src/main/resources/jasper/partner_invoice_20171201.jasper deleted file mode 100644 index 5e336bbee6630f49abeaf96508f46e162f1a1a4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78873 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 diff --git a/src/main/resources/jasper/partner_invoice_gst20180412.jasper b/src/main/resources/jasper/partner_invoice_gst20180412.jasper deleted file mode 100644 index 9c01d8c81de50984d1a7c48605a33fa76fc37c03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80163 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 diff --git a/src/main/resources/jasper/partner_invoice_gst20200410.jasper b/src/main/resources/jasper/partner_invoice_gst20200410.jasper deleted file mode 100644 index a5111a4faf1648300d179f1fecb47806aacba7f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80864 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

wNlT+($r`??h&3bDW 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 Q+ofmW#=m-fLv-x_0Y+VKc>n+a diff --git a/src/main/resources/jasper/partner_invoice_gst_bak.jasper b/src/main/resources/jasper/partner_invoice_gst_bak.jasper deleted file mode 100644 index a5111a4faf1648300d179f1fecb47806aacba7f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80864 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

+

I'm + happy to let you know + Congratulations, you have passed the compliance review and be granted a RoyalPay account. + You can start to do IT integration. At the same time, please contact BD regarding the invoice of security + deposit. We will set up your account live in the production environment after receiving the security deposit + from your company. +
+ 恭喜您已通过 CardPayment 合规审核,您可开始做IT对接. 请联系BD沟通支付保证金事宜。我司会在收到贵司提交的保证金后,开启您的 CardPayment 权限。

Please kindly log on the website below to manage your accounts and transactions:
@@ -94,7 +102,7 @@ Store to download APP for IOS,which helps check your payment receiving records.

您可以在APP Store里搜索"RoyalPay"下载royalpay的app,来进行收款和接收到账提醒等。 + href="https://itunes.apple.com/app/royalpay/id1049566852?l=en&mt=8">RoyalPay"下载royalpay的app,来进行收款和接收到账提醒等。


@@ -154,7 +162,8 @@
- +
Tel:
1300 10 77 50
Level 14, 383 Kent Street, Sydney NSW 2000
Tunnel Show Pty Ltd trading as RoyalPay
@@ -173,10 +182,7 @@
- - -
- \ No newline at end of file + diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 3c0d71eb3..21ca834d7 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -147,7 +147,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter controller: 'partnerDeviceCtrl' }).state('partners.detail.files', { url: '/files', - params:{commitType:"cross-border"}, + params: {commitType: "cross-border"}, templateUrl: '/static/payment/partner/templates/partner_auth_files.html', controller: 'partnerAuthFileCtrl' }).state('partners.detail.files.CP_files', { @@ -211,8 +211,447 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter url: '/incremental_service', templateUrl: 'static/payment/partner/templates/incremental_service.html', controller: 'incrementalServiceCtrl' + }).state('partners.edit', { + url: '/{clientMoniker}/edit', + params: {"commitCardPayment": false, "commitCrossBorderPayment": false}, + templateUrl: 'static/payment/partner/templates/partner_edit.html', + controller: 'partnerEditCtrl', + resolve: { + partner: ['$http', '$stateParams', function ($http, $stateParams) { + return $http.get('/sys/partners/' + $stateParams.clientMoniker); + }] + } }); }]); + app.controller('partnerEditCtrl', ['$scope', '$http', '$state', 'Upload', 'commonDialog', 'timezone', 'partner', 'upayIndustryMap', + function ($scope, $http, $state, Upload, commonDialog, timezone, partner, upayIndustryMap) { + $scope.upayIndustrys = upayIndustryMap.configs(); + $scope.timezones = timezone.configs(); + $scope.partner = partner.data; + if (!$scope.partner.client_type) { + $scope.partner.client_type = 'cross-border'; + } + if ($scope.partner.representativeInfo != null) { + $scope.partner.registered_address = $scope.partner.representativeInfo.address; + $scope.partner.registered_suburb = $scope.partner.representativeInfo.suburb; + $scope.partner.registered_postcode = $scope.partner.representativeInfo.postcode; + $scope.partner.registered_state = $scope.partner.representativeInfo.state; + $scope.partner.legal_representative_person = $scope.partner.representativeInfo.representative_person; + $scope.partner.legal_representative_phone = $scope.partner.representativeInfo.phone; + $scope.partner.legal_representative_email = $scope.partner.representativeInfo.email; + $scope.partner.legal_representative_job = $scope.partner.representativeInfo.job_title; + + $scope.partner.marketing_person = $scope.partner.representativeInfo.marketing_person; + $scope.partner.marketing_phone = $scope.partner.representativeInfo.marketing_phone; + $scope.partner.marketing_email = $scope.partner.representativeInfo.marketing_email; + $scope.partner.marketing_job = $scope.partner.representativeInfo.marketing_job_title; + + $scope.partner.legal_representative_wechatid = $scope.partner.representativeInfo.legal_representative_wechatid; + $scope.partner.marketing_wechatid = $scope.partner.representativeInfo.marketing_wechatid; + } + + $scope.enablePaymentType = function (type) { + $scope.partner[type] = !$scope.partner[type]; + }; + + if ($state.params.commitCardPayment) { + $scope.enablePaymentType('enable_card_payment'); + } + + if ($state.params.commitCrossBorderPayment) { + $scope.enablePaymentType('enable_cross_payment'); + } + + function hasRole() { + var rolenum; + switch (sessionStorage.getItem('role')) { + case "administrator": + rolenum = 1; + break; + case "bduser": + rolenum = 4; + break; + case "salesmanager": + rolenum = 8192; + break; + case "accountant": + rolenum = 8; + break; + case "sitemanager": + rolenum = 128; + break; + case "director": + rolenum = 64; + break; + case "developer": + rolenum = 256; + break; + case "compliance": + rolenum = 2; + break; + case "guest": + rolenum = 2048; + break; + case "orgmanager": + rolenum = 4096; + break; + case "riskmanager": + rolenum = 1024; + break; + default: + break; + } + if ((window.currentUser.role & rolenum) > 0) { + return true; + } else { + sessionStorage.removeItem('role'); + return false; + } + } + + if (hasRole()) { + $scope.role = sessionStorage.getItem('role'); + } + + var origin_referrer_id = angular.copy($scope.partner.referrer_id); + var resetClientPayDescByTpey = function (type) { + type = parseInt(type); + if (type == 1) { + removeClientPayDesc($scope.partner.client_pay_desc, '10'); + } + if (type == 2) { + removeClientPayDesc($scope.partner.client_pay_desc, '20'); + } + }; + var compare = function (x, y) { + x = parseInt(x); + y = parseInt(y); + if (x < y) { + return -1; + } else if (x > y) { + return 1; + } else { + return 0; + } + } + $scope.toggleClientPayType = function (type) { + if (!$scope.partner.client_pay_type) { + $scope.partner.client_pay_type = []; + } + var $idx = $scope.partner.client_pay_type.indexOf(type); + if ($idx >= 0) { + $scope.partner.client_pay_type.splice($idx, 1); + resetClientPayDescByTpey(type); + } else { + $scope.partner.client_pay_type.push(type); + $scope.partner.client_pay_type.sort(compare); + } + }; + $scope.toggleClientPayDesc = function (type) { + if (!$scope.partner.client_pay_desc) { + $scope.partner.client_pay_desc = []; + } + var $idx = $scope.partner.client_pay_desc.indexOf(type); + if ($idx >= 0) { + if (type == '203') { + removeClientPayDesc($scope.partner.client_pay_desc, '2030') + } + $scope.partner.client_pay_desc.splice($idx, 1); + } else { + $scope.partner.client_pay_desc.push(type); + $scope.partner.client_pay_desc.sort(compare); + } + }; + + $scope.partner.sameAsContactPerson = false; + $scope.checkboxOnclick = function () { + $scope.partner.sameAsContactPerson = !($scope.partner.sameAsContactPerson); + if ($scope.partner.sameAsContactPerson) { + $scope.partner.legal_representative_person = $scope.partner.contact_person; + $scope.partner.legal_representative_phone = $scope.partner.contact_phone; + $scope.partner.legal_representative_email = $scope.partner.contact_email; + $scope.partner.legal_representative_job = $scope.partner.contact_job; + $scope.partner.legal_representative_wechatid = $scope.partner.contact_wechatid; + } + } + + $scope.partner.marketingSameAsContact = false; + $scope.checkMarketingSameAsContact = function () { + $scope.partner.marketingSameAsContact = !($scope.partner.marketingSameAsContact); + if ($scope.partner.marketingSameAsContact) { + $scope.partner.marketing_person = $scope.partner.contact_person; + $scope.partner.marketing_phone = $scope.partner.contact_phone; + $scope.partner.marketing_email = $scope.partner.contact_email; + $scope.partner.marketing_job = $scope.partner.contact_job; + $scope.partner.marketing_wechatid = $scope.partner.contact_wechatid; + } + } + + $scope.partner.sameAsAddress = false; + $scope.sameAddress = function () { + $scope.partner.sameAsAddress = !($scope.partner.sameAsAddress); + if ($scope.partner.sameAsAddress) { + $scope.partner.registered_address = $scope.partner.address; + $scope.partner.registered_suburb = $scope.partner.suburb; + $scope.partner.registered_postcode = $scope.partner.postcode; + $scope.partner.registered_state = $scope.partner.state; + } + } + + $scope.listReferrers = function () { + $http.get('/sys/orgs/referrer').then(function (resp) { + $scope.referrers = resp.data; + }) + }; + $scope.listReferrers(); + + $scope.loadAlipayCategory = function () { + $http.get('/static/data/alipayMcc.json').then(function (resp) { + $scope.alipayMccCategory = resp.data; + }) + }; + $scope.loadAlipayCategory(); + $scope.loadJDindustry = function () { + $http.get('/static/data/jdindustry.json').then(function (resp) { + $scope.jdindustry = resp.data; + }) + }; + $scope.loadJDindustry(); + + $scope.loadLakalaPayindustry = function () { + $http.get('/static/data/lakalapayindustry.json').then(function (resp) { + $scope.lakalapayindustry = resp.data; + }) + }; + $scope.loadLakalaPayindustry(); + + $scope.loadLakalaPaySettle = function () { + $http.get('/static/data/lakalapaysettle.json').then(function (resp) { + $scope.lakalapaysettle = resp.data; + }) + }; + $scope.loadLakalaPaySettle(); + + $scope.loadLakalaPayGoods = function () { + $http.get('/static/data/lakalapaygoods.json').then(function (resp) { + $scope.lakalapaygoods = resp.data; + }) + }; + $scope.loadLakalaPayGoods(); + + $scope.loadRoyalpayindustry = function () { + $http.get('/static/data/royalpayindustry.json').then(function (resp) { + $scope.royalpayindustry = resp.data; + }) + }; + $scope.loadRoyalpayindustry(); + + $scope.loadHfindustry = function () { + $http.get('/static/data/hfindustry.json').then(function (resp) { + $scope.hfindustry = resp.data; + }) + }; + $scope.loadHfindustry(); + + $scope.onAlipayMccSelect = function (selectedItem) { + $scope.partner.alipay_category = selectedItem.label; + $scope.partner.alipayindustry = selectedItem.mccCode; + }; + $scope.onRoyalPayIndustrySelect = function (selectedItem) { + $scope.partner.royalpay_label = selectedItem.label; + $scope.partner.royalpayindustry = selectedItem.mccCode; + }; + $scope.onHfIndustrySelect = function (selectedItem) { + $scope.partner.hf_label = selectedItem.label; + $scope.partner.hfindustry = selectedItem.mccCode; + }; + + + $scope.updatePartner = function (form) { + if (form.$invalid) { + angular.forEach(form, function (item, key) { + if (key.indexOf('$') < 0) { + item.$dirty = true; + } + }); + return; + } + + if ($scope.partner.company_name.indexOf("Migration") != -1) { + alert("Company Name包含敏感词汇,请检查后重新提交!"); + return; + } + if ($scope.partner.company_phone.indexOf(' ') != -1) { + alert('Company Phone can not contain space character'); + return; + } + if ($scope.partner.contact_email.indexOf(' ') != -1) { + alert('Contact email Phone can not contain space character'); + return; + } + if ($scope.partner.suburb.indexOf(' ') != -1) { + alert('suburb can not contain two and more continuous space characters'); + return; + } + if ($scope.partner.client_pay_type.indexOf('2') >= 0) { + if (!$scope.partner.company_photo) { + alert('Shop Photo1 is necessary'); + return; + } + if (!$scope.partner.store_photo) { + alert('Shop Photo2 is necessary'); + return; + } + } + + if ($scope.partner.acn && $scope.partner.business_structure == 'Company') { + if ($scope.partner.acn.length != 9) { + alert('Acn is not valid'); + } + } + if ($scope.partner.referrer_id) { + $scope.referrers.forEach(function (e) { + if ($scope.partner.referrer_id == e.org_id) { + $scope.partner.referrer_name = e.name; + return; + } + }) + } + var content = ''; + if (!origin_referrer_id && $scope.partner.referrer_id) { + content = 'Update partner info successfully,But You Had add new Referrer,Please Change the BD Commission Proportion!'; + } + if ($scope.partner.client_pay_type.length == 0) { + alert('请选择商户支付场景') + return; + } + if ($scope.partner.client_pay_desc.length == 0) { + alert('请选择商户支付方式') + return; + } + if ($scope.partner.client_pay_type.indexOf('1') >= 0) { + if ($scope.partner.client_pay_desc.join(',').indexOf('10') < 0) { + alert("请检查线上支付场景是否已选择支付方式"); + return; + } + } + if ($scope.partner.client_pay_type.indexOf('2') >= 0) { + if ($scope.partner.client_pay_desc.join(',').indexOf('20') < 0) { + alert("请检查线下支付场景是否已选择支付方式"); + return; + } + } + if ($scope.partner.client_pay_desc.join(',').indexOf('203') >= 0) { + if ($scope.partner.client_pay_desc.join(',').indexOf('2030') < 0 && $scope.partner.client_pay_desc.join(',').indexOf('20399') < 0) { + alert("请检查线下支付是否已选择收银系统类型"); + return; + } + } + $scope.partner.client_pay_type = $scope.partner.client_pay_type.join(','); + $scope.partner.client_pay_desc = $scope.partner.client_pay_desc.join(','); + $http.put('/sys/partners/' + $scope.partner.client_moniker, $scope.partner).then(function () { + if (content != '') { + commonDialog.alert({ + title: 'Warning', + content: content, + type: 'error' + }); + } else { + commonDialog.alert({ + title: 'Success', + content: 'Update partner information successfully', + type: 'success' + }); + } + $scope.updateMerchantLocation(); + $scope.loadPartners(); + $state.go('^.detail', {clientMoniker: $scope.partner.client_moniker}, {reload: true}); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) + }); + }; + $scope.uploadLogo = function (file) { + if (file != null) { + if (file.size > 1 * 1024 * 1024) { + commonDialog.alert({title: 'Error', content: '文件大小不能超过1MB,请压缩后重试', type: 'error'}) + } else { + $scope.logoProgress = {value: 0}; + Upload.upload({ + url: '/attachment/files', + data: {file: file} + }).then(function (resp) { + delete $scope.logoProgress; + $scope.partner.logo_id = resp.data.fileid; + $scope.partner.logo_url = resp.data.url; + }, function (resp) { + delete $scope.logoProgress; + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) + }, function (evt) { + $scope.logoProgress.value = parseInt(100 * evt.loaded / evt.total); + }) + } + } + }; + + $scope.uploadShopPhoto = function (file) { + if (file != null) { + if (file.size > 2 * 1024 * 1024) { + commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) + } else { + $scope.shopPhotoProgress = {value: 0}; + Upload.upload({ + url: '/attachment/files', + data: {file: file} + }).then(function (resp) { + delete $scope.shopPhotoProgress; + $scope.partner.company_photo = resp.data.url; + }, function (resp) { + delete $scope.shopPhotoProgress; + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) + }, function (evt) { + $scope.shopPhotoProgress.value = parseInt(100 * evt.loaded / evt.total); + }) + } + } + }; + + $scope.uploadStorePhoto = function (file) { + if (file != null) { + if (file.size > 2 * 1024 * 1024) { + commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) + } else { + $scope.storePhotoProgress = {value: 0}; + Upload.upload({ + url: '/attachment/files', + data: {file: file} + }).then(function (resp) { + delete $scope.storePhotoProgress; + $scope.partner.store_photo = resp.data.url; + }, function (resp) { + delete $scope.storePhotoProgress; + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) + }, function (evt) { + $scope.storePhotoProgress.value = parseInt(100 * evt.loaded / evt.total); + }) + } + } + }; + + $scope.getMerchantLocation = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/location').then(function (resp) { + $scope.merchant_location = resp.data; + }); + }; + $scope.getMerchantLocation(); + + $scope.updateMerchantLocation = function () { + var params = window.frames['merchant_detail'].merchant_location; + if (params) { + $http.put('/sys/partners/modify/' + $scope.partner.client_moniker + '/location', params).then(function () { + }); + } + } + }]); app.controller('partnerListCtrl', ['$scope', '$sce', '$http', '$filter', '$uibModal', 'businessStructuresMap', 'industryMap', 'stateMap', 'sectorMap', 'countryMap', function ($scope, $sce, $http, $filter, $uibModal, businessStructuresMap, industryMap, stateMap, sectorMap, countryMap) { @@ -239,7 +678,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter var selectAll = { "label": "All", "mccCode": "0", - "children":{} + "children": {} }; $scope.royalpayindustry.unshift(selectAll); }) @@ -271,7 +710,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } return key + '=' + encodeURIComponent(value) }).join('&'); - window.open('/sys/partners/exporting_excel?'+param_str) + window.open('/sys/partners/exporting_excel?' + param_str) }; /*$scope.loadLocations = function () { @@ -419,748 +858,701 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; }]); - app.controller('partnerDetailCtrl', ['$scope', '$http', '$state', '$uibModal', '$rootScope', 'Upload', 'commonDialog', 'partner', '$sce', function ($scope, $http, $state, $uibModal, $rootScope, Upload, commonDialog, partner, $sce) { - $scope.init = {wechat_compliance: false, local_merchant: false}; - $scope.partner = partner.data; - $scope.isComplianceOfCompanyName = false; - $scope.isComplianceOfShortName = false; - $scope.isComplianceOfBusinessStructure = false; - $scope.cardPromotionaparams={} - var website = partner.data.company_website; - if (website != null) { - if (website.indexOf('http') != 0) { - $scope.partner.company_website = 'http://' + angular.copy(website); + app.controller('partnerDetailCtrl', ['$scope', '$http', '$state', '$uibModal', '$rootScope', 'Upload', 'commonDialog', 'partner', '$sce', + function ($scope, $http, $state, $uibModal, $rootScope, Upload, commonDialog, partner, $sce) { + $scope.init = {wechat_compliance: false, local_merchant: false}; + $scope.partner = partner.data; + $scope.isComplianceOfCompanyName = false; + $scope.isComplianceOfShortName = false; + $scope.isComplianceOfBusinessStructure = false; + $scope.cardPromotionaparams = {}; + var website = partner.data.company_website; + if (website != null) { + if (website.indexOf('http') !== 0) { + $scope.partner.company_website = 'http://' + angular.copy(website); + } } - } - $scope.decideCompliance = function (name) { - var keywords = ['education', 'financial', 'train', 'immigrant', 'invest', - '律师咨询', '会计事务所', '移民', '留学', '娱乐', '金融', '地产', '投资']; - for (var i = 0; i < keywords.length; i++) { - if (name.indexOf(keywords[i]) != -1) { - return true; + $scope.decideCompliance = function (name) { + var keywords = ['education', 'financial', 'train', 'immigrant', 'invest', + '律师咨询', '会计事务所', '移民', '留学', '娱乐', '金融', '地产', '投资']; + for (var i = 0; i < keywords.length; i++) { + if (name.indexOf(keywords[i]) !== -1) { + return true; + } } + return false; + }; + if (partner.data.company_name != null) { + $scope.isComplianceOfCompanyName = $scope.decideCompliance(partner.data.company_name); } - return false; - }; - if (partner.data.company_name != null) { - $scope.isComplianceOfCompanyName = $scope.decideCompliance(partner.data.company_name); - } - if (partner.data.short_name != null) { - $scope.isComplianceOfShortName = $scope.decideCompliance(partner.data.short_name); - } - if (partner.data.business_structure != null) { - $scope.isComplianceOfBusinessStructure = $scope.decideCompliance(partner.data.business_structure); - } - $scope.showDBUsers = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/bd_user').then(function (resp) { - $scope.partner.client_bds = resp.data; - }) - }; - $scope.showDBUsers(); - $scope.showFile = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_agree_file').then(function (resp) { - $scope.fileManager = resp.data; - }); - }; + if (partner.data.short_name != null) { + $scope.isComplianceOfShortName = $scope.decideCompliance(partner.data.short_name); + } + if (partner.data.business_structure != null) { + $scope.isComplianceOfBusinessStructure = $scope.decideCompliance(partner.data.business_structure); + } + $scope.showDBUsers = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/bd_user').then(function (resp) { + $scope.partner.client_bds = resp.data; + }) + }; + $scope.showDBUsers(); + $scope.showFile = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_agree_file').then(function (resp) { + $scope.fileManager = resp.data; + }); + }; - $scope.showCardFile = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=letter_of_offer_file').then(function (resp) { - $scope.letterOfOfferFileManager = resp.data; - }); - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=promotional_offer_file').then(function (resp) { - $scope.promotionalOfferFileManager = resp.data; - }); - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=terms_and_conditions_file').then(function (resp) { - $scope.termsAndConditionsFile = resp.data; - }); - }; + $scope.showCardFile = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=letter_of_offer_file').then(function (resp) { + $scope.letterOfOfferFileManager = resp.data; + }); + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=promotional_offer_file').then(function (resp) { + $scope.promotionalOfferFileManager = resp.data; + }); + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/file/source_card_agree_file?fileName=terms_and_conditions_file').then(function (resp) { + $scope.termsAndConditionsFile = resp.data; + }); + }; - $scope.showFile(); - $scope.showCardFile(); - $scope.passClient = function () { - if ($scope.partner.enable_hf) { - if ($scope.partner.hfindustry == null) { - alert("已开启HF支付通道,HF行业不可为空!"); + $scope.showFile(); + $scope.showCardFile(); + $scope.passClient = function () { + if (!$rootScope.complianceCheck) { + alert("please check first"); return; } - } - if (!$rootScope.complianceCheck) { - alert("please check first"); - return; - } - if (!$rootScope.complianceCheck.authFile) { - alert("Compliance Files not checked"); - return; - } - if (!$rootScope.complianceCheck.clientInfo) { - alert("Partner Detail not checked"); - return; - } - if (!$rootScope.complianceCheck.bankAccount) { - alert("Bank Account not checked"); - return; - } - var title = 'Audit Partner'; - var content = 'Are you sure to mark partner ' + $scope.partner.company_name + ' audited?'; - var choises = ''; - var contentHtml = ''; - if ($scope.isComplianceOfCompanyName || $scope.isComplianceOfShortName - || $scope.isComplianceOfBusinessStructure) { - var info = []; - if ($scope.isComplianceOfCompanyName) { - info.push('Company Name'); + if (!$rootScope.complianceCheck.authFile) { + alert("Compliance Files not checked"); + return; } - if ($scope.isComplianceOfShortName) { - info.push('Short Name'); + if (!$rootScope.complianceCheck.clientInfo) { + alert("Partner Detail not checked"); + return; } - if ($scope.isComplianceOfBusinessStructure) { - info.push('Business Structure'); + if (!$rootScope.complianceCheck.bankAccount) { + alert("Bank Account not checked"); + return; } - title = 'Warning'; - contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息'); - choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, - {label: '确认提交', className: 'btn-success', key: '1'}]; - content = ''; - } - commonDialog.confirm({ - title: title, - content: content, - choises: choises, - contentHtml: contentHtml - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit', {pass: 1}).then(function () { - if ($scope.partner.approve_result == 2 && ($scope.partner.source == 1 || $scope.partner.source == 2)) { - commonDialog.alert({ - title: 'Success', - content: 'Comply Passed!', - type: 'success' - }); - } else { - commonDialog.alert({ - title: 'Success', - content: 'Comply Passed! Email will send to contact email address soon.', - type: 'success' - }); + var title = 'Audit Partner'; + var content = 'Are you sure to mark partner ' + $scope.partner.company_name + ' audited?'; + var choises = ''; + var contentHtml = ''; + if ($scope.isComplianceOfCompanyName || $scope.isComplianceOfShortName + || $scope.isComplianceOfBusinessStructure) { + var info = []; + if ($scope.isComplianceOfCompanyName) { + info.push('Company Name'); } - delete $rootScope.complianceCheck; - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }); - }; - $scope.passCardClient = function () { - if (!$rootScope.complianceCheck) { - alert("please check first"); - return; - } - if (!$rootScope.complianceCheck.authFile) { - alert("Compliance Files not checked"); - return; - } - if (!$rootScope.complianceCheck.clientInfo) { - alert("Partner Detail not checked"); - return; - } - if (!$rootScope.complianceCheck.bankAccount) { - alert("Bank Account not checked"); - return; - } - var title = 'Audit Partner Card'; - var content = 'Are you sure to mark partner ' + $scope.partner.company_name + ' audited?'; - var choises = ''; - var contentHtml = ''; - if ($scope.isComplianceOfCompanyName || $scope.isComplianceOfShortName - || $scope.isComplianceOfBusinessStructure) { - var info = []; - if ($scope.isComplianceOfCompanyName) { - info.push('Company Name'); + if ($scope.isComplianceOfShortName) { + info.push('Short Name'); + } + if ($scope.isComplianceOfBusinessStructure) { + info.push('Business Structure'); + } + title = 'Warning'; + contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息'); + choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, + {label: '确认提交', className: 'btn-success', key: '1'}]; + content = ''; } - if ($scope.isComplianceOfShortName) { - info.push('Short Name'); + commonDialog.confirm({ + title: title, + content: content, + choises: choises, + contentHtml: contentHtml + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit', {pass: 1}).then(function () { + if ($scope.partner.approve_result == 2 && ($scope.partner.source == 1 || $scope.partner.source == 2)) { + commonDialog.alert({ + title: 'Success', + content: 'Comply Passed!', + type: 'success' + }); + } else { + commonDialog.alert({ + title: 'Success', + content: 'Comply Passed! Email will send to contact email address soon.', + type: 'success' + }); + } + delete $rootScope.complianceCheck; + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }); + }; + $scope.passCardClient = function () { + if (!$rootScope.complianceCheck) { + alert("please check first"); + return; } - if ($scope.isComplianceOfBusinessStructure) { - info.push('Business Structure'); + if (!$rootScope.complianceCheck.authFile) { + alert("Compliance Files not checked"); + return; } - title = 'Warning'; - contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息'); - choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, - {label: '确认提交', className: 'btn-success', key: '1'}]; - content = ''; - } - commonDialog.confirm({ - title: title, - content: content, - choises: choises, - contentHtml: contentHtml - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/card_audit', {pass: 1}).then(function () { - if ($scope.partner.approve_result == 2 && ($scope.partner.source == 1 || $scope.partner.source == 2)) { - commonDialog.alert({ - title: 'Success', - content: 'Comply Passed!', - type: 'success' - }); - } else { + if (!$rootScope.complianceCheck.clientInfo) { + alert("Partner Detail not checked"); + return; + } + if (!$rootScope.complianceCheck.bankAccount) { + alert("Bank Account not checked"); + return; + } + var title = 'Audit Partner Card'; + var content = 'Are you sure to mark partner ' + $scope.partner.company_name + ' audited?'; + var choises = ''; + var contentHtml = ''; + if ($scope.isComplianceOfCompanyName || $scope.isComplianceOfShortName + || $scope.isComplianceOfBusinessStructure) { + var info = []; + if ($scope.isComplianceOfCompanyName) { + info.push('Company Name'); + } + if ($scope.isComplianceOfShortName) { + info.push('Short Name'); + } + if ($scope.isComplianceOfBusinessStructure) { + info.push('Business Structure'); + } + title = 'Warning'; + contentHtml = $sce.trustAsHtml('本次提交的商户[' + $scope.partner.company_name + '],' + info.toString() + '存在微信渠道不合规信息'); + choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, + {label: '确认提交', className: 'btn-success', key: '1'}]; + content = ''; + } + commonDialog.confirm({ + title: title, + content: content, + choises: choises, + contentHtml: contentHtml + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/card_audit', {pass: 1}).then(function () { + if ($scope.partner.approve_result == 2 && ($scope.partner.source == 1 || $scope.partner.source == 2)) { + commonDialog.alert({ + title: 'Success', + content: 'Comply Passed!', + type: 'success' + }); + } else { + commonDialog.alert({ + title: 'Success', + content: 'Comply Passed! Email will send to contact email address soon.', + type: 'success' + }); + } + delete $rootScope.complianceCheck; + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }); + }; + $scope.pass2GreenChannel = function () { + commonDialog.confirm({ + title: 'Green Channel Audit Partner', + content: 'Are you sure to mark partner ' + $scope.partner.company_name + ' green channel audited ?' + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/aduit/green_channel').then(function () { commonDialog.alert({ title: 'Success', content: 'Comply Passed! Email will send to contact email address soon.', type: 'success' }); - } - delete $rootScope.complianceCheck; + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }) + }; + $scope.showBg = false; + $scope.exportPDF = function () { + $scope.showBg = true; + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/agreepdf').then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Agreement File Generate Succeed! Please notify BD!', + type: 'success' + }); + $scope.showBg = false; $state.reload(); }, function (resp) { + $scope.showBg = false; + $state.reload(); commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }); - }; - $scope.pass2GreenChannel = function () { - commonDialog.confirm({ - title: 'Green Channel Audit Partner', - content: 'Are you sure to mark partner ' + $scope.partner.company_name + ' green channel audited ?' - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/aduit/green_channel').then(function () { + }); + + }; + $scope.exportAgreegatePDF = function () { + $scope.showBg = true; + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/aggregate/agreepdf').then(function () { commonDialog.alert({ title: 'Success', - content: 'Comply Passed! Email will send to contact email address soon.', + content: 'Agreement File Generate Succeed! Please notify BD!', type: 'success' }); + $scope.showBg = false; $state.reload(); }, function (resp) { + $scope.showBg = false; + $state.reload(); commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; - $scope.showBg = false; - $scope.exportPDF = function () { - $scope.showBg = true; - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/agreepdf').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Agreement File Generate Succeed! Please notify BD!', - type: 'success' }); - $scope.showBg = false; - $state.reload(); - }, function (resp) { - $scope.showBg = false; - $state.reload(); - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }); + }; - }; - $scope.exportAgreegatePDF = function () { - $scope.showBg = true; - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/aggregate/agreepdf').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Agreement File Generate Succeed! Please notify BD!', - type: 'success' + //制作卡支付合同 + $scope.exportCardAgreegatePDF = function () { + $scope.showBg = true; + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/aggregate/card_agree_pdf').then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Agreement File Generate Succeed! Please notify BD!', + type: 'success' + }); + $scope.showBg = false; + $state.reload(); + }, function (resp) { + $scope.showBg = false; + $state.reload(); + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }); - $scope.showBg = false; - $state.reload(); - }, function (resp) { - $scope.showBg = false; - $state.reload(); - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }); - }; + } + $scope.Export = function () { + var url = '/dev/' + $scope.partner.client_moniker + '/export/aggregate/agreepdf'; + return url; + } + $scope.uploadAgreeFile = function (file) { + if (file != null) { + if (file.size > 2 * 1024 * 1024) { + commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) + } else { + Upload.upload({ + url: '/attachment/files', + data: {file: file} + }).then(function (resp) { + $scope.agree_file_import = resp.data.url; + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/import/agreepdf', {source_agree_file: $scope.agree_file_import}).then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Succeed Imported! Please notify BD', + type: 'success' + }); + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }, function (resp) { + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) + }) + } + } + }; - //制作卡支付合同 - $scope.exportCardAgreegatePDF = function(){ - $scope.showBg = true; - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/aggregate/card_agree_pdf').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Agreement File Generate Succeed! Please notify BD!', - type: 'success' + $scope.uploadCardAgreeFile = function (file) { + if (file != null) { + if (file.size > 2 * 1024 * 1024) { + commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) + } else { + Upload.upload({ + url: '/attachment/files', + data: {file: file} + }).then(function (resp) { + $scope.agree_file_import = resp.data.url; + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/import/agreepdf', {source_agree_file: $scope.agree_file_import}).then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Succeed Imported! Please notify BD', + type: 'success' + }); + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }, function (resp) { + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) + }) + } + } + }; + $scope.notifyBD = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/notify/completeAgree').then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Notify BD Successed!.', + type: 'success' + }); + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}); }); - $scope.showBg = false; - $state.reload(); - }, function (resp) { - $scope.showBg = false; - $state.reload(); - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }); - } + }; + + $scope.cardNotifyBD = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/notify/cardCompleteAgree').then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Notify BD Successed!.', + type: 'success' + }); + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}); + }); + }; - //制作促销合同 - $scope.exportCardPromotionaAgreegatePDF = function(){ - var title = '确认生成Promotional Offer合同'; - var promotiona_date=''; - var promotiona_period =''; - var contentHtml = $sce.trustAsHtml( - '请输入优惠开始日期(eg:2020-02-01): '+ - '' + - '
' + - '请输入活动周数(unit:week): ' + - ''); - var choises = [{label: '取消', className: 'btn-danger', key: '2', dismiss: true}, - {label: '确认生成', className: 'btn-success', key: '1'}]; - var content = ''; + $scope.downTempPdf = function () { + return '/sys/partners/' + $scope.partner.client_moniker + '/temp/export/pdf'; + } - commonDialog.confirm({ - title: title, - content: content, - choises: choises, - contentHtml: contentHtml - }).then(function (res) { - $scope.showBg = true; - var date = document.getElementById("promotiona_date").value; - var period = document.getElementById("promotiona_period").value; - if(date=='' || period==''){ - commonDialog.alert({title: 'Error', content: '选项不得未空', type: 'error'}); - }else{ - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/export/aggregate/card_promotiona_agree_pdf?date='+date+'&period='+period).then(function () { + $scope.refuse = function () { + commonDialog.inputText({title: 'refuse cause'}).then(function (text) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/refuse', {refuse_remark: text}).then(function () { commonDialog.alert({ title: 'Success', - content: 'Agreement File Generate Succeed! Please notify BD!', + content: 'Audit application has been refused.', type: 'success' }); - $scope.showBg = false; $state.reload(); }, function (resp) { - $scope.showBg = false; + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }) + }; + + $scope.cardRefuse = function () { + commonDialog.inputText({title: 'refuse cause'}).then(function (text) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/card_audit/refuse', {refuse_remark: text}).then(function () { + commonDialog.alert({ + title: 'Success', + content: 'Card Audit application has been refused.', + type: 'success' + }); $state.reload(); + }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }); - } + }) + }) + } - }); - } + $scope.deleteClient = function () { + commonDialog.confirm({ + title: 'Delete Partner', + content: 'Are you sure to delete ' + $scope.partner.company_name + '?' + }).then(function () { + $http.delete('/sys/partners/' + $scope.partner.client_moniker).then(function () { + $state.go('^'); + commonDialog.alert({title: 'Delete', content: 'Partner Already Disabled', type: 'error'}); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }) + }; + $scope.revertClient = function () { + commonDialog.confirm({ + title: 'Revert Partner', + content: 'Are you sure to Revert ' + $scope.partner.company_name + '?' + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/revert').then(function () { + $state.go('^'); + commonDialog.alert({title: 'Revert', content: 'Partner Already Revert', type: 'success'}); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }) + }; - $scope.Export = function () { - var url = '/dev/' + $scope.partner.client_moniker + '/export/aggregate/agreepdf'; - return url; - } - $scope.uploadAgreeFile = function (file) { - if (file != null) { - if (file.size > 2 * 1024 * 1024) { - commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) - } else { - Upload.upload({ - url: '/attachment/files', - data: {file: file} - }).then(function (resp) { - $scope.agree_file_import = resp.data.url; - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/import/agreepdf', {source_agree_file: $scope.agree_file_import}).then(function () { + $scope.commitToCompliance = function () { + commonDialog.confirm({ + title: 'Commit to Compliance', + content: 'Are you sure to commit ' + $scope.partner.company_name + ' to compliance?', + choises: [ + {label: 'Submit', className: 'btn-success', key: 1}, + {label: 'Cancel', className: 'btn-warning', key: 0, dismiss: true} + ] + }).then(function (choice) { + if (choice == 1) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/to_compliance', {}).then(function () { commonDialog.alert({ title: 'Success', - content: 'Succeed Imported! Please notify BD', + content: 'Commit to Compliance successfully', type: 'success' }); $state.reload(); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) - }, function (resp) { - commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) - }) - } - } - }; + } + }) + }; - $scope.uploadCardAgreeFile = function (file) { - if (file != null) { - if (file.size > 2 * 1024 * 1024) { - commonDialog.alert({title: 'Error', content: '文件大小不能超过2MB,请压缩后重试', type: 'error'}) - } else { - Upload.upload({ - url: '/attachment/files', - data: {file: file} - }).then(function (resp) { - $scope.agree_file_import = resp.data.url; - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/import/agreepdf', {source_agree_file: $scope.agree_file_import}).then(function () { + $scope.commitToCardCompliance = function () { + commonDialog.confirm({ + title: 'Commit to Compliance', + content: 'Are you sure to commit ' + $scope.partner.company_name + ' to compliance?', + choises: [ + {label: 'Submit', className: 'btn-success', key: 1}, + {label: 'Cancel', className: 'btn-warning', key: 0, dismiss: true} + ] + }).then(function (choice) { + if (choice == 1) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/to_card_compliance', {}).then(function () { commonDialog.alert({ title: 'Success', - content: 'Succeed Imported! Please notify BD', + content: 'Commit to Compliance successfully', type: 'success' }); $state.reload(); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) - }, function (resp) { - commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}) - }) - } + } + }) } - }; - $scope.notifyBD = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/notify/completeAgree').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Notify BD Successed!.', - type: 'success' - }); - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}); - }); - }; - - $scope.cardNotifyBD = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/notify/cardCompleteAgree').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Notify BD Successed!.', - type: 'success' - }); - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Upload Failed', content: resp.data.message, type: 'error'}); - }); - }; - - $scope.downTempPdf = function () { - var url = '/sys/partners/' + $scope.partner.client_moniker + '/temp/export/pdf'; - return url; - } - - $scope.refuse = function () { - commonDialog.inputText({title: 'refuse cause'}).then(function (text) { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/refuse', {refuse_remark: text}).then(function () { + $scope.apply2makeAgreeFile = function () { + if (!$scope.partner.enable_cross_payment) { commonDialog.alert({ - title: 'Success', - content: 'Audit application has been refused.', - type: 'success' + title: 'Error!', + content: '请完善商户跨境支付基本信息、签约费率、合规文件!', + type: 'error' }); - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; + $state.go('partners.edit', { + clientMoniker: $scope.partner.client_moniker, + commitCardPayment: false, + commitCrossBorderPayment: true + }); + return; + } + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/make_agree_file').then(function () { + commonDialog.alert({ + title: 'Success!', + content: '已提交制作合同!', + type: 'success' + }); + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + } + ); + }; - $scope.cardRefuse = function(){ - commonDialog.inputText({title: 'refuse cause'}).then(function (text) { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/card_audit/refuse', {refuse_remark: text}).then(function () { + $scope.apply2makeCardAgreeFile = function () { + if (!$scope.partner.enable_card_payment) { commonDialog.alert({ - title: 'Success', - content: 'Card Audit application has been refused.', - type: 'success' + title: 'Error!', + content: '请完善商户卡支付基本信息、签约费率、合规文件!', + type: 'error' }); - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - } - - $scope.deleteClient = function () { - commonDialog.confirm({ - title: 'Delete Partner', - content: 'Are you sure to delete ' + $scope.partner.company_name + '?' - }).then(function () { - $http.delete('/sys/partners/' + $scope.partner.client_moniker).then(function () { - $state.go('^'); - commonDialog.alert({title: 'Delete', content: 'Partner Already Disabled', type: 'error'}); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; - $scope.revertClient = function () { - commonDialog.confirm({ - title: 'Revert Partner', - content: 'Are you sure to Revert ' + $scope.partner.company_name + '?' - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/revert').then(function () { - $state.go('^'); - commonDialog.alert({title: 'Revert', content: 'Partner Already Revert', type: 'success'}); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; + $state.go('partners.edit', { + clientMoniker: $scope.partner.client_moniker, + commitCardPayment: true, + commitCrossBorderPayment: false + }); + return; + } + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/make_card_agree_file').then(function () { + commonDialog.alert({ + title: 'Success!', + content: '已提交制作合同!', + type: 'success' + }); + $state.reload(); + }, function (resp) { + if (String(resp.data.message).match("No Rate Config")) { + commonDialog.alert({ + title: 'Error!', + content: '商户卡支付签约费率未配置,请添加商户卡支付签约费率!', + type: 'error' + }); + $state.go('partners.detail.rates', { + clientMoniker: $scope.partner.client_moniker + }); + } else { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + } + } + ); + }; - $scope.commitToCompliance = function () { - commonDialog.confirm({ - title: 'Commit to Compliance', - content: 'Are you sure to commit ' + $scope.partner.company_name + ' to compliance?', - choises: [ - {label: 'Submit', className: 'btn-success', key: 1}, - {label: 'Cancel', className: 'btn-warning', key: 0, dismiss: true} - ] - }).then(function (choice) { - if (choice == 1) { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/to_compliance', {}).then(function () { + $scope.commit2GreenChannel = function () { + commonDialog.confirm({ + title: 'Audit Partner', + content: 'Are you sure to mark partner ' + $scope.partner.company_name + ' Green Channel?' + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/compliance/green_channel').then(function () { commonDialog.alert({ title: 'Success', - content: 'Commit to Compliance successfully', + content: 'Commit to Green Channel successfully', type: 'success' }); $state.reload(); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) - } - }) - }; - $scope.commitToCardCompliance = function(){ - commonDialog.confirm({ - title: 'Commit to Compliance', - content: 'Are you sure to commit ' + $scope.partner.company_name + ' to compliance?', - choises: [ - {label: 'Submit', className: 'btn-success', key: 1}, - {label: 'Cancel', className: 'btn-warning', key: 0, dismiss: true} - ] - }).then(function (choice) { - if (choice == 1) { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/to_card_compliance', {}).then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Commit to Compliance successfully', - type: 'success' - }); + }) + }; + + $scope.markAuditEmail = function () { + commonDialog.confirm({ + title: 'Warning', + content: 'Make sure you have send the email to client.' + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/email_sending_status').then(function () { $state.reload(); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) - } - }) - } - $scope.apply2makeAgreeFile = function () { - if (!$scope.partner.enable_cross_payment) { - commonDialog.alert({ - title: 'Error!', - content: '请完善商户跨境支付基本信息、签约费率、合规文件!', - type: 'error' - }); - $state.go('partners.edit',{ - clientMoniker:$scope.partner.client_moniker, - commitCardPayment:false, - commitCrossBorderPayment:true}); - return; - } - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/make_agree_file').then(function () { - commonDialog.alert({ - title: 'Success!', - content: '已提交制作合同!', - type: 'success' - }); + }) + }; + $scope.resendApproveEmail = function () { + commonDialog.confirm({ + title: 'Warning', + content: 'This operation will reset the password of admin user. Are you sure this email is correct ? Or you may update this information first.' + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/send_email').then(function () { + $state.reload(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) + }) + }; + $scope.editBDUser = function () { + $uibModal.open({ + templateUrl: '/static/payment/partner/templates/bd_user_choose_dialog.html', + controller: 'partnerChooseBDUserDialogCtrl', + resolve: { + bdUsers: ['$http', function ($http) { + return $http.get('/sys/manager_accounts/roles/bd_user'); + }], + partner: function () { + return $scope.partner; + }, + type: function () { + return 'edit'; + } + } + }).result.then(function () { $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - } - ); - }; - - $scope.apply2makeCardAgreeFile = function () { - if (!$scope.partner.enable_card_payment) { - commonDialog.alert({ - title: 'Error!', - content: '请完善商户卡支付基本信息、签约费率、合规文件!', - type: 'error' - }); - $state.go('partners.edit',{ - clientMoniker:$scope.partner.client_moniker, - commitCardPayment:true, - commitCrossBorderPayment: false}); - return; - } - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/make_card_agree_file').then(function () { - commonDialog.alert({ - title: 'Success!', - content: '已提交制作合同!', - type: 'success' - }); + }) + }; + $scope.bindBDUser = function () { + $uibModal.open({ + templateUrl: '/static/payment/partner/templates/bd_user_choose_dialog.html', + controller: 'partnerChooseBDUserDialogCtrl', + resolve: { + bdUsers: ['$http', function ($http) { + return $http.get('/sys/manager_accounts/roles/bd_user'); + }], + partner: function () { + return $scope.partner; + }, + type: function () { + return 'add'; + } + } + }).result.then(function () { $state.reload(); - }, function (resp) { - if (String(resp.data.message).match("No Rate Config")) { - commonDialog.alert({ - title: 'Error!', - content: '商户卡支付签约费率未配置,请添加商户卡支付签约费率!', - type: 'error' - }); - $state.go('partners.detail.rates', { - clientMoniker: $scope.partner.client_moniker - }); - }else { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - } - } - ); - }; + }) + }; - $scope.commit2GreenChannel = function () { - commonDialog.confirm({ - title: 'Audit Partner', - content: 'Are you sure to mark partner ' + $scope.partner.company_name + ' Green Channel?' - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/compliance/green_channel').then(function () { - commonDialog.alert({ - title: 'Success', - content: 'Commit to Green Channel successfully', - type: 'success' - }); - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + $scope.configMasterMerchant = function () { + commonDialog.inputText({title: 'Input Master Merchant Code'}).then(function (text) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/master_configuration', {master_merchant: text}).then(function () { + commonDialog.alert({ + title: 'Success', + content: "Master Merchant Code:" + text, + type: 'success' + }); + }, function (resp) { + commonDialog.alert({ + title: 'Config Master Merchant Failed', + content: resp.data.message, + type: 'error' + }); + }) }) + }; + $scope.getMerchantLocation = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/location').then(function (resp) { + $scope.merchant_location = resp.data; + }); + }; + $scope.getMerchantLocation(); - }) - }; - $scope.markAuditEmail = function () { - commonDialog.confirm({ - title: 'Warning', - content: 'Make sure you have send the email to client.' - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/email_sending_status').then(function () { - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; - $scope.resendApproveEmail = function () { - commonDialog.confirm({ - title: 'Warning', - content: 'This operation will reset the password of admin user. Are you sure this email is correct ? Or you may update this information first.' - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/audit/send_email').then(function () { - $state.reload(); - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); - }) - }) - }; - $scope.editBDUser = function () { - $uibModal.open({ - templateUrl: '/static/payment/partner/templates/bd_user_choose_dialog.html', - controller: 'partnerChooseBDUserDialogCtrl', - resolve: { - bdUsers: ['$http', function ($http) { - return $http.get('/sys/manager_accounts/roles/bd_user'); - }], - partner: function () { - return $scope.partner; - }, - type: function () { - return 'edit'; - } + $scope.complianceCheck = function () { + if (!$rootScope.complianceCheck) { + $rootScope.complianceCheck = {}; } - }).result.then(function () { - $state.reload(); - }) - }; - $scope.bindBDUser = function () { - $uibModal.open({ - templateUrl: '/static/payment/partner/templates/bd_user_choose_dialog.html', - controller: 'partnerChooseBDUserDialogCtrl', - resolve: { - bdUsers: ['$http', function ($http) { - return $http.get('/sys/manager_accounts/roles/bd_user'); - }], - partner: function () { - return $scope.partner; - }, - type: function () { - return 'add'; + $rootScope.complianceCheck.client_id = $scope.partner.client_id; + $rootScope.complianceCheck.clientInfo = true; + }; + $scope.complianceChangeCheck = function () { + if ($rootScope.complianceCheck) { + if ($scope.partner.client_id != $rootScope.complianceCheck.client_id) { + delete $rootScope.complianceCheck; } } - }).result.then(function () { - $state.reload(); - }) - }; + }; + $scope.complianceChangeCheck(); + + $scope.changeWechatCompliance = function () { + if (!$scope.partner) { + return; + } + if (!$state.is('partners.detail')) { + $scope.init.wechat_compliance = false; + return; + } + if (!$scope.init.wechat_compliance) { + $scope.init.wechat_compliance = true; + return; + } + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/wechat_compliance_permission', {allow: $scope.partner.wechat_compliance}).then(function () { - $scope.configMasterMerchant = function () { - commonDialog.inputText({title: 'Input Master Merchant Code'}).then(function (text) { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/master_configuration', {master_merchant: text}).then(function () { - commonDialog.alert({title: 'Success', content: "Master Merchant Code:" + text, type: 'success'}); }, function (resp) { commonDialog.alert({ - title: 'Config Master Merchant Failed', + title: 'failed to change wechat_compliance permission status', content: resp.data.message, type: 'error' - }); + }) }) - }) - }; - - $scope.getMerchantLocation = function () { - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/location').then(function (resp) { - $scope.merchant_location = resp.data; - }); - }; - $scope.getMerchantLocation(); - - - $scope.complianceCheck = function () { - if (!$rootScope.complianceCheck) { - $rootScope.complianceCheck = {}; - } - $rootScope.complianceCheck.client_id = $scope.partner.client_id; - $rootScope.complianceCheck.clientInfo = true; - }; - $scope.complianceChangeCheck = function () { - if ($rootScope.complianceCheck) { - if ($scope.partner.client_id != $rootScope.complianceCheck.client_id) { - delete $rootScope.complianceCheck; + }; + $scope.changeLocalMerchant = function () { + if (!$scope.partner) { + return; } - } - }; - $scope.complianceChangeCheck(); - - $scope.changeWechatCompliance = function () { - if (!$scope.partner) { - return; - } - if (!$state.is('partners.detail')) { - $scope.init.wechat_compliance = false; - return; - } - if (!$scope.init.wechat_compliance) { - $scope.init.wechat_compliance = true; - return; - } - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/wechat_compliance_permission', {allow: $scope.partner.wechat_compliance}).then(function () { - - }, function (resp) { - commonDialog.alert({ - title: 'failed to change wechat_compliance permission status', - content: resp.data.message, - type: 'error' - }) - }) - }; - $scope.changeLocalMerchant = function () { - if (!$scope.partner) { - return; - } - if (!$state.is('partners.detail')) { - $scope.init.local_merchant = false; - return; - } - if (!$scope.init.local_merchant) { - $scope.init.local_merchant = true; - return; - } - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/local_merchant_permission', {allow: $scope.partner.local_merchant}).then(function () { + if (!$state.is('partners.detail')) { + $scope.init.local_merchant = false; + return; + } + if (!$scope.init.local_merchant) { + $scope.init.local_merchant = true; + return; + } + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/local_merchant_permission', {allow: $scope.partner.local_merchant}).then(function () { - }, function (resp) { - commonDialog.alert({ - title: 'failed to change local_merchant permission status', - content: resp.data.message, - type: 'error' + }, function (resp) { + commonDialog.alert({ + title: 'failed to change local_merchant permission status', + content: resp.data.message, + type: 'error' + }) }) - }) - }; + }; - $scope.removeSub = function () { - $http.delete('/sys/partners/unsub/' + $scope.partner.client_moniker).then(function (resp) { - $state.reload(); - }); - }; - $scope.addSub = function () { - $http.put('/sys/partners/unsub/' + $scope.partner.client_moniker).then(function (resp) { - $state.reload(); - }); - }; - }]); + $scope.removeSub = function () { + $http.delete('/sys/partners/unsub/' + $scope.partner.client_moniker).then(function (resp) { + $state.reload(); + }); + }; + $scope.addSub = function () { + $http.put('/sys/partners/unsub/' + $scope.partner.client_moniker).then(function (resp) { + $state.reload(); + }); + }; + }]); app.controller('partnerPaymentInfoCtrl', ['$scope', '$http', '$state', 'commonDialog', '$uibModal', '$sce', function ($scope, $http, $state, commonDialog, $uibModal, $sce) { $scope.convertExtParams = []; $scope.copyHfLink = function () { @@ -1197,7 +1589,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $http.get('/sys/partners/' + $scope.partner.client_moniker).then(function (resp) { $scope.extParams = {}; $scope.paymentInfo = resp.data; - $scope.extParams = $scope.paymentInfo.ext_params?JSON.parse($scope.paymentInfo.ext_params):null; + $scope.extParams = $scope.paymentInfo.ext_params ? JSON.parse($scope.paymentInfo.ext_params) : null; $scope.convertExtParams = $scope.extParamsEditFlags() $scope.ctrl.editSubMerchant = false; $scope.ctrl.editAliSubMerchant = false; @@ -1207,17 +1599,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.ctrl.editRefundCreditLine = false; }) }; - $scope.extParamsEditFlags = function(){ + $scope.extParamsEditFlags = function () { var paramList = [] - if($scope.extParams != null){ - for(var key in $scope.extParams){ + if ($scope.extParams != null) { + for (var key in $scope.extParams) { var obj = {} - if(typeof $scope.extParams[key] != 'boolean'){ + if (typeof $scope.extParams[key] != 'boolean') { obj.name = key; obj.value = $scope.extParams[key]; obj.type = 'string'; - obj.flag =false; - }else{ + obj.flag = false; + } else { obj.name = key; obj.value = $scope.extParams[key]; obj.type = 'boolean' @@ -1934,7 +2326,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }; - $scope.changeBillCodeVersion = function() { + $scope.changeBillCodeVersion = function () { if (!$scope.paymentInfo) { return; } @@ -1949,15 +2341,18 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }; - $scope.extChangeParam = function(name,value){ + $scope.extChangeParam = function (name, value) { var flag = true; $scope.convertExtParams.forEach(function (params) { - if(params.name == name && value=='' && params.type == 'string'){ - flag = false; + if (params.name == name && value == '' && params.type == 'string') { + flag = false; } }) - if(flag){ - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/ext_config',{key:name,value:value}).then(function () { + if (flag) { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/ext_config', { + key: name, + value: value + }).then(function () { $scope.loadPartnerPaymentInfo(); }) } @@ -1993,7 +2388,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.loadSubClients = function (page) { var params = {}; params.page = page || $scope.pagination.page || 1; - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page',{params : params}).then(function (resp) { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page', {params: params}).then(function (resp) { $scope.subPartners = resp.data.data; $scope.pagination = resp.data.pagination; }); @@ -2053,7 +2448,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }]); - app.controller('partnerRatesCtrl', ['$scope', '$rootScope', '$http', '$uibModal', 'commonDialog', '$sce','$state', function ($scope, $rootScope, $http, $uibModal, commonDialog, $sce,$state) { + app.controller('partnerRatesCtrl', ['$scope', '$rootScope', '$http', '$uibModal', 'commonDialog', '$sce', '$state', function ($scope, $rootScope, $http, $uibModal, commonDialog, $sce, $state) { $scope.bankCtrl = {edit: true, rate_name: 'Wechat'}; $scope.init = { skip_clearing: false, @@ -2301,6 +2696,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.getRates(); }); }; + $scope.complianceCheck = function () { if (!$rootScope.complianceCheck) { $rootScope.complianceCheck = {}; @@ -2383,7 +2779,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if ($scope.card_payment_normal) { $scope.cardRateConfig = $scope.card_payment[0]; $scope.card_payment_switch_title = "Direct Debit"; - }else { + } else { $scope.cardRateConfig = $scope.card_payment[1]; $scope.card_payment_switch_title = "Card Payment"; } @@ -2740,9 +3136,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter // $scope.t2city_map = angular.copy(t2city_map); $scope.partner.sameAsContactPerson = false; - $scope.checkboxOnclick = function (){ + $scope.checkboxOnclick = function () { $scope.partner.sameAsContactPerson = !($scope.partner.sameAsContactPerson); - if($scope.partner.sameAsContactPerson) { + if ($scope.partner.sameAsContactPerson) { $scope.partner.legal_representative_person = $scope.partner.contact_person; $scope.partner.legal_representative_phone_a = $scope.partner.contact_phone_a; $scope.partner.legal_representative_phone_c = $scope.partner.contact_phone_c; @@ -2755,9 +3151,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.partner.marketingSameAsContact = false; - $scope.checkMarketingSameAsContact = function (){ + $scope.checkMarketingSameAsContact = function () { $scope.partner.marketingSameAsContact = !($scope.partner.marketingSameAsContact); - if($scope.partner.marketingSameAsContact) { + if ($scope.partner.marketingSameAsContact) { $scope.partner.marketing_person = $scope.partner.contact_person; $scope.partner.marketing_phone_a = $scope.partner.contact_phone_a; $scope.partner.marketing_phone_c = $scope.partner.contact_phone_c; @@ -2768,10 +3164,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } } - $scope.partner.sameAsAddress=false; - $scope.sameAddress = function (){ - $scope.partner.sameAsAddress=!($scope.partner.sameAsAddress); - if($scope.partner.sameAsAddress) { + $scope.partner.sameAsAddress = false; + $scope.sameAddress = function () { + $scope.partner.sameAsAddress = !($scope.partner.sameAsAddress); + if ($scope.partner.sameAsAddress) { $scope.partner.registered_address = $scope.partner.address; $scope.partner.registered_suburb = $scope.partner.suburb; $scope.partner.registered_postcode = $scope.partner.postcode; @@ -2822,8 +3218,8 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } $scope.partner.company_phone = '+' + $scope.partner.company_phone_c + ($scope.partner.company_phone_a || '') + $scope.partner.company_phone_p; $scope.partner.contact_phone = '+' + $scope.partner.contact_phone_c + ($scope.partner.contact_phone_a || '') + $scope.partner.contact_phone_p; - $scope.partner.legal_representative_phone = '+' + $scope.partner.legal_representative_phone_c + ( $scope.partner.legal_representative_phone_a || '') + $scope.partner.legal_representative_phone_p; - $scope.partner.marketing_phone = '+' + $scope.partner.marketing_phone_c + ( $scope.partner.marketing_phone_a || '') + $scope.partner.marketing_phone_p; + $scope.partner.legal_representative_phone = '+' + $scope.partner.legal_representative_phone_c + ($scope.partner.legal_representative_phone_a || '') + $scope.partner.legal_representative_phone_p; + $scope.partner.marketing_phone = '+' + $scope.partner.marketing_phone_c + ($scope.partner.marketing_phone_a || '') + $scope.partner.marketing_phone_p; if ($scope.partner.company_phone.indexOf(' ') != -1) { alert('Company Phone can not contain space character'); @@ -3033,25 +3429,25 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter params.dateto = $filter('date')(params.dateto, 'yyyyMMdd'); } params.page = page || $scope.pagination.page || 1; - if(params.gateway){ - if((params.gateway.sort().toString()!=[0,1].toString()) && (params.gateway.sort().toString()!=[5,6].toString())){ + if (params.gateway) { + if ((params.gateway.sort().toString() != [0, 1].toString()) && (params.gateway.sort().toString() != [5, 6].toString())) { delete params.gatewayChilds; delete params.gatewayChild; } - if(params.gatewayChilds){ + if (params.gatewayChilds) { var exist = false params.gatewayChilds.forEach(function (child) { - if(child==params.gatewayChild){ + if (child == params.gatewayChild) { exist = true } }) - if(!exist){ + if (!exist) { params.gatewayChild = null } - }else{ + } else { delete params.gatewayChild; } - }else{ + } else { delete params.gatewayChilds; delete params.gatewayChild; } @@ -3065,9 +3461,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); }; - $scope.initGatewayChild = function(){ + $scope.initGatewayChild = function () { $scope.params.gatewayChilds = $scope.params.gateway; - $scope.params.gatewayChild=null; + $scope.params.gatewayChild = null; $scope.loadTradeLogs(1); } $scope.gatewaySelected = function (arr) { @@ -3129,7 +3525,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } $scope.loadTradeLogs(); }; - $scope.searchSubClients = function (subSearchText,page) { + $scope.searchSubClients = function (subSearchText, page) { $scope.subClientTable1 = [$scope.partner]; $scope.subClientTable2 = []; var params = {}; @@ -3138,13 +3534,13 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.subSearchText = subSearchText; params.searchText = subSearchText; } - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page',{params: params}).then(function (resp) { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page', {params: params}).then(function (resp) { var clientList = resp.data.data; $scope.subClientPagination = resp.data.pagination; clientList.forEach(function (client) { if ($scope.subClientTable1.length < 11) { $scope.subClientTable1.push(client); - }else { + } else { $scope.subClientTable2.push(client); } $scope.clients.push(client); @@ -3153,7 +3549,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; if ($scope.partner.has_children && !$scope.partner.hide_sub_mch) { - $scope.searchSubClients('',1); + $scope.searchSubClients('', 1); $scope.loadTradeLogs(1); } else { $scope.loadTradeLogs(1); @@ -3518,9 +3914,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.listRedpackLogs(1); }]); app.controller('partnerAuthFileCtrl', ['$scope', '$http', '$rootScope', 'commonDialog', '$state', function ($scope, $http, $rootScope, commonDialog, $state) { - if ($state.params.commitType=='card-payment'){ + if ($state.params.commitType == 'card-payment') { $state.go('partners.detail.files.MW_files'); - }else { + } else { $state.go('partners.detail.files.CP_files'); } }]); @@ -3731,7 +4127,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter commonDialog.alert({title: 'Error', content: '请选择ID Type', type: 'error'}); return; } - if ($scope.file.beneficiary_id_title!="Ultimate beneficiary owner") { + if ($scope.file.beneficiary_id_title != "Ultimate beneficiary owner") { if (!$scope.file.other_id_title_desc) { commonDialog.alert({title: 'Error', content: '请简要告知为何无法提供受益股东的资料', type: 'error'}); return; @@ -3752,7 +4148,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.cancelIdInfo = function () { $state.reload(); - $scope.id_info_form.edit=false + $scope.id_info_form.edit = false }; $scope.downloadAsZip = function () { @@ -4119,7 +4515,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.cancelIdInfo = function () { $state.reload(); - $scope.id_info_form.edit=false + $scope.id_info_form.edit = false }; $scope.downloadAsZip = function () { @@ -4134,8 +4530,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter content: 'Upload Successful', type: 'success' }); - $state.go('partners.detail.files',{clientMoniker:$scope.partner.client_moniker, - commitType: "card-payment"}, {reload: true}); + $state.go('partners.detail.files', { + clientMoniker: $scope.partner.client_moniker, + commitType: "card-payment" + }, {reload: true}); }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) @@ -4155,19 +4553,19 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $rootScope.complianceCheck.authFile = true; $rootScope.complianceCheck.client_id = $scope.partner.client_id; - if($scope.file.upay_application_form==null || $scope.file.upay_application_form ==''){ + if ($scope.file.upay_application_form == null || $scope.file.upay_application_form == '') { commonDialog.alert({type: 'error', title: 'Error', content: '请补充商户申请表合规文件'}) $rootScope.complianceCheck.authFile = false; - }else if($scope.file.client_bank_file==null || $scope.file.client_bank_file ==''){ + } else if ($scope.file.client_bank_file == null || $scope.file.client_bank_file == '') { commonDialog.alert({type: 'error', title: 'Error', content: '请补六个月银行对账单合规文件'}) $rootScope.complianceCheck.authFile = false; - }else if($scope.file.client_company_file==null || $scope.file.client_company_file ==''){ + } else if ($scope.file.client_company_file == null || $scope.file.client_company_file == '') { commonDialog.alert({type: 'error', title: 'Error', content: '请补充当前公司信息摘录合规文件'}) $rootScope.complianceCheck.authFile = false; - }else if($scope.file.upay_driver_license==null || $scope.file.upay_driver_license ==''){ + } else if ($scope.file.upay_driver_license == null || $scope.file.upay_driver_license == '') { commonDialog.alert({type: 'error', title: 'Error', content: '请补充法人身份证明合规文件'}) $rootScope.complianceCheck.authFile = false; - } else if($scope.file.kyc_utility_bill_file==null || $scope.file.kyc_utility_bill_file ==''){ + } else if ($scope.file.kyc_utility_bill_file == null || $scope.file.kyc_utility_bill_file == '') { commonDialog.alert({type: 'error', title: 'Error', content: '请补充家庭住址证明 (一个水电煤网账单)合规文件'}) $rootScope.complianceCheck.authFile = false; } @@ -4306,10 +4704,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }; -/* $scope.downloadAsZip = function () { - var url = '/sys/partners/' + $scope.partner.client_moniker + '/download/complianceAsZIP'; - return url; - };*/ + /* $scope.downloadAsZip = function () { + var url = '/sys/partners/' + $scope.partner.client_moniker + '/download/complianceAsZIP'; + return url; + };*/ $scope.deleteComplianceFiles = function (file_id) { commonDialog.confirm({ @@ -4377,7 +4775,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.isAll = true; $scope.more20ChoseSubClient = false; $scope.choseSubClientNow = 'More'; - $scope.searchSubClients = function (subSearchText,page) { + $scope.searchSubClients = function (subSearchText, page) { $scope.subClientTable1 = [$scope.partner]; $scope.subClientTable2 = []; @@ -4387,31 +4785,31 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.subSearchText = subSearchText; params.searchText = subSearchText; } - $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page',{params: params}).then(function (resp) { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/sub_clients/page', {params: params}).then(function (resp) { var clientList = resp.data.data; $scope.subClientPagination = resp.data.pagination; clientList.forEach(function (client) { if ($scope.subClientTable1.length < 11) { $scope.subClientTable1.push(client); - }else { + } else { $scope.subClientTable2.push(client); } $scope.clients.push(client); }); }); }; - $scope.initClientInfo = function(){ - $http.get('/sys/partners/'+clientMoniker).then(function (resp) { + $scope.initClientInfo = function () { + $http.get('/sys/partners/' + clientMoniker).then(function (resp) { $scope.client = resp.data; $scope.clients = [$scope.client]; if ($scope.client.has_children && !$scope.client.hide_sub_mch) { - $scope.searchSubClients('',1); + $scope.searchSubClients('', 1); $scope.params.dateto = new Date(); var day = new Date(); day.setDate(day.getDate() - 7); $scope.params.datefrom = day; $scope.chooseClient('all'); - }else { + } else { $scope.params.dateto = new Date(); var day = new Date(); day.setDate(day.getDate() - 7); @@ -4422,9 +4820,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } $scope.initClientInfo(); - $scope.exportSettlementLogs = function() { + $scope.exportSettlementLogs = function () { var params = angular.copy($scope.params); - var url = '/sys/partners/'+clientMoniker+'/lists_settlements/excel'; + var url = '/sys/partners/' + clientMoniker + '/lists_settlements/excel'; var connectSymbol = '?'; if (params.datefrom) { params.datefrom = $filter('date')(params.datefrom, 'yyyyMMdd'); @@ -4435,7 +4833,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter params.dateto = $filter('date')(params.dateto, 'yyyyMMdd'); url += connectSymbol + 'dateto=' + params.dateto; } - if (params.client_ids && !$scope.isAll){ + if (params.client_ids && !$scope.isAll) { params.client_ids.forEach(function (i) { url += connectSymbol + 'client_ids=' + i; connectSymbol = '&'; @@ -4652,7 +5050,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; $scope.channelAndDayOfAnalysis(1); }]); - app.controller('managerSettlementDetailOfMergeSettleCtrl', ['$scope', 'detail','client_id','$http', function ($scope, detail,client_id,$http) { + app.controller('managerSettlementDetailOfMergeSettleCtrl', ['$scope', 'detail', 'client_id', '$http', function ($scope, detail, client_id, $http) { $scope.ctrl = {channel: null}; $scope.show = true; $scope.report = detail.data; @@ -4805,21 +5203,21 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.applyMWSubMerchantId = function () { $http.get('/sys/partners/' + $scope.partner.client_moniker + '/query/mw_info').then(function (resp) { commonDialog.confirm({ - title: 'Apply Merchant Warrior Sub Merchant Id', - contentHtml: $sce.trustAsHtml('Are you sure to apply merchant Warrior sub merchant id for [' + $scope.partner.company_name + ']?'), - json: resp.data - }).then(function () { - $http.put('/sys/partners/' + $scope.partner.client_moniker + '/applyMWMerchantId').then(function (res) { - commonDialog.alert({ - title: 'Success', - content: 'Apply Merchant Warrior Sub Merchant ID successfully', - type: 'success' - }); - $scope.partner.cardInfo = res.data; - }, function (resp) { - commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + title: 'Apply Merchant Warrior Sub Merchant Id', + contentHtml: $sce.trustAsHtml('Are you sure to apply merchant Warrior sub merchant id for [' + $scope.partner.company_name + ']?'), + json: resp.data + }).then(function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/applyMWMerchantId').then(function (res) { + commonDialog.alert({ + title: 'Success', + content: 'Apply Merchant Warrior Sub Merchant ID successfully', + type: 'success' + }); + $scope.partner.cardInfo = res.data; + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); + }) }) - }) }); }; $scope.applyRpaySubMerchantId = function () { @@ -5680,48 +6078,45 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }; }]); - app.controller('incrementalServiceCtrl',['$scope', '$http', '$uibModal', '$state', '$filter', 'commonDialog',function($scope, $http, $uibModal, $state, $filter, commonDialog){ + app.controller('incrementalServiceCtrl', ['$scope', '$http', '$uibModal', '$state', '$filter', 'commonDialog', function ($scope, $http, $uibModal, $state, $filter, commonDialog) { $scope.serviceAll = {}; - $scope.channelOptions=[]; - $scope.initData = function(){ - $http.get('/sys/partners/' + $scope.partner.client_moniker+'/incremental_service').then(function(res){ + $scope.channelOptions = []; + $scope.initData = function () { + $http.get('/sys/partners/' + $scope.partner.client_moniker + '/incremental_service').then(function (res) { $scope.serviceAll = res.data.all_service; - $scope.serviceAll.forEach(function(service){ - service.logo_url = '/static/images/'+service.channel+'.jpg' - service.logo_url = $scope.CheckImgExists(service.logo_url)?service.logo_url:'/static/images/royalpay_sign.png' + $scope.serviceAll.forEach(function (service) { + service.logo_url = '/static/images/' + service.channel + '.jpg' + service.logo_url = $scope.CheckImgExists(service.logo_url) ? service.logo_url : '/static/images/royalpay_sign.png' }) - $scope.channelOptions=res.data.incremental_channel; + $scope.channelOptions = res.data.incremental_channel; }) } - $scope.CheckImgExists =function (url) { - var xmlHttp ; - if (window.ActiveXObject) - { - xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); - } - else if (window.XMLHttpRequest) - { - xmlHttp = new XMLHttpRequest(); - } - xmlHttp.open("Get",url,false); - xmlHttp.send(); - if(xmlHttp.status==404) - return false; - else - return true; + $scope.CheckImgExists = function (url) { + var xmlHttp; + if (window.ActiveXObject) { + xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); + } else if (window.XMLHttpRequest) { + xmlHttp = new XMLHttpRequest(); + } + xmlHttp.open("Get", url, false); + xmlHttp.send(); + if (xmlHttp.status == 404) + return false; + else + return true; } $scope.initData(); - $scope.newServiceChannelDialog = function (){ + $scope.newServiceChannelDialog = function () { $uibModal.open({ templateUrl: '/static/payment/partner/templates/incremental_service_dialog.html', controller: 'incrementalServiceDialogCtrl', resolve: { - params: function(){ + params: function () { return { - isCreate:true, - clientMoniker:$scope.partner.client_moniker, - channelOptions:$scope.channelOptions, - serviceChannel:null + isCreate: true, + clientMoniker: $scope.partner.client_moniker, + channelOptions: $scope.channelOptions, + serviceChannel: null } } } @@ -5729,17 +6124,17 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.initData(); }); } - $scope.editServiceChannelDialog = function (serviceChannel){ + $scope.editServiceChannelDialog = function (serviceChannel) { $uibModal.open({ templateUrl: '/static/payment/partner/templates/incremental_service_dialog.html', controller: 'incrementalServiceDialogCtrl', resolve: { - params: function(){ + params: function () { return { - isCreate:false, - clientMoniker:$scope.partner.client_moniker, - channelOptions:$scope.channelOptions, - serviceChannel:serviceChannel + isCreate: false, + clientMoniker: $scope.partner.client_moniker, + channelOptions: $scope.channelOptions, + serviceChannel: serviceChannel } } } @@ -5747,9 +6142,9 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $scope.initData(); }); } - $scope.updateStatus = function(service){ + $scope.updateStatus = function (service) { commonDialog.confirm({ - title: 'Update '+service.channel+ ' Incremental Service Status', + title: 'Update ' + service.channel + ' Incremental Service Status', content: 'Are you sure update ' + service.channel + ' status?', choises: [ {label: 'Submit', className: 'btn-success', key: 1}, @@ -5758,14 +6153,14 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }).then(function (choice) { if (choice == 1) { service.is_valid = !service.is_valid; - $http.put('/sys/partners/'+$scope.partner.client_moniker+'/incremental_service/status',service).then(function(res){ + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/incremental_service/status', service).then(function (res) { commonDialog.alert({ title: 'Success', content: 'Update Service Successful!', type: 'success' }); $scope.initData(); - },function (resp) { + }, function (resp) { commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); $scope.initData(); }) @@ -5774,21 +6169,21 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter } }]); - app.controller('incrementalServiceDialogCtrl',['$scope','$http','params','commonDialog',function($scope ,$http,params,commonDialog){ - $scope.model ={}; + app.controller('incrementalServiceDialogCtrl', ['$scope', '$http', 'params', 'commonDialog', function ($scope, $http, params, commonDialog) { + $scope.model = {}; $scope.ctrl = {sending: false}; - $scope.isCreate = true; - $scope.initData =function(){ + $scope.isCreate = true; + $scope.initData = function () { $scope.isCreate = angular.copy(params.isCreate); - if($scope.isCreate){ - $scope.model.channel= angular.copy(params.channelOptions[0]) - $scope.model.channelOptions= angular.copy(params.channelOptions) - }else{ + if ($scope.isCreate) { + $scope.model.channel = angular.copy(params.channelOptions[0]) + $scope.model.channelOptions = angular.copy(params.channelOptions) + } else { $scope.model = angular.copy(params.serviceChannel); } } $scope.initData(); - $scope.save = function(form){ + $scope.save = function (form) { if (form.$invalid) { angular.forEach(form, function (item, key) { if (key.indexOf('$') < 0) { @@ -5798,15 +6193,15 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter return; } $scope.ctrl.sending = true; - $http.post('/sys/partners/'+params.clientMoniker+'/incremental_service',$scope.model).then(function(res){ + $http.post('/sys/partners/' + params.clientMoniker + '/incremental_service', $scope.model).then(function (res) { commonDialog.alert({ title: 'Success', - content: $scope.isCreate?'Create Service Successful!':'Update Service Successful!', + content: $scope.isCreate ? 'Create Service Successful!' : 'Update Service Successful!', type: 'success' }); $scope.ctrl.sending = false; $scope.$close(); - },function (resp) { + }, function (resp) { $scope.ctrl.sending = false; commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}); }) diff --git a/src/main/ui/static/payment/partner/templates/add_partner.html b/src/main/ui/static/payment/partner/templates/add_partner.html index 952266506..c51dcc45f 100644 --- a/src/main/ui/static/payment/partner/templates/add_partner.html +++ b/src/main/ui/static/payment/partner/templates/add_partner.html @@ -1317,13 +1317,13 @@ diff --git a/src/main/ui/static/payment/partner/templates/partner_bankaccounts.html b/src/main/ui/static/payment/partner/templates/partner_bankaccounts.html index 29eb38502..949c9ecad 100644 --- a/src/main/ui/static/payment/partner/templates/partner_bankaccounts.html +++ b/src/main/ui/static/payment/partner/templates/partner_bankaccounts.html @@ -1,5 +1,5 @@

wNlT+($r`??h&3bDW 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 Q+ofmW#=m-fLv-x_0Y+VKc>n+a diff --git a/src/main/resources/jasper/trans_excel20161008.jasper b/src/main/resources/jasper/trans_excel20161008.jasper deleted file mode 100644 index 4540bd75854750247cf3ebce4ca7898c47b2f527..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40950 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 diff --git a/src/main/resources/jasper/trans_excel20161009.jasper b/src/main/resources/jasper/trans_excel20161009.jasper deleted file mode 100644 index 8f1c479c2e8d19de3e2465fe24eb1a2f2e5d0f84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42038 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�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 diff --git a/src/main/resources/jasper/trans_excel20170516.jasper b/src/main/resources/jasper/trans_excel20170516.jasper deleted file mode 100644 index 92f6d53b83b2e24e8c76ec60aba8dcc6c97c9903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42156 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 Ee?`t#b^rhX diff --git a/src/main/resources/jasper/trans_excel20170704.jasper b/src/main/resources/jasper/trans_excel20170704.jasper deleted file mode 100644 index 6a3088df427ba233f32bc171dbc001844d5dfde5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44805 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 diff --git a/src/main/resources/jasper/trans_excel20180412.jasper b/src/main/resources/jasper/trans_excel20180412.jasper deleted file mode 100644 index 70a83612865fd0d9020cb1d6e66a1c41c22a471e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46009 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 bzBtcw5@((|i8IeVs&rO(dAQy_ZZ!5^bYpa z-p?*r?(BM=c;caF?|SxrwzK>{-jeq z%(}#5Y-DpJksDu_yEq(gjl^P+)|OZzo*QXi6m5>=&XJy#(v!)*5zh-|m9Xx0ElsV_ z#>mWYBAj3YOBRQhh4Z2?&6 zs8!|=UDSY5cO^oWu>b*JYN9-btWo?JMX+DBYoevq&aLP2hDdW+3)Nut%GO8;>$V_V zw`5TaY^YDLJxaj)y!gUAPrJxd?IMrZ-dvA*>!r9gGa8H3QLz$iV%mfWJSnfTt=UOX z)ZEsDd_pQ8#RsbXfa9l_B>m>IU_FW(k0jy=HgbO2C(Ws(H$zm)y*{!q+}4<=N~~;* zB-pSH63S>umQ^1~grkkRI6V|qWxwc%j&e~Ekx$=+EwQF>Vpg~=(Gpwfws5dK+9c(z zDw0UBUP>_9646G;5tTbgLehqsl>$-1dO|o7)Nnj}>fRKNHtUy7u#Sr5awX6Vsnj`V zHOq#eU$wW<(B_33+rYC4Y2Q{>Yq{Gxb*;)K>M5&kwAAeNvwFF$RX=Kc$B(LTTDX2v z_qgIVwd9NntE-XX%Pi)ztT?p}G_2trH7vV*WXF|+%Qu9;(Z# z)+tceT@obtnkoIfvZ)y}xnss0?2&2tW-D45`(Ob&@Ba94)r*TU>Z&}gIgE)a@}VgG z8AgRM8TP!?4XCVWUuNdno3qYLCrS`0X zR3NH3yQ;dfsJd`Ao-)3}rz8(NW?sav!3pR#)s<5J=qufwDN537aZY?mDn!Me0YS40|7BBF;RajvT@Tvt3dZQU4}Toq|Ib=48*iSmzl#!FZr z0Uvq-X@wKg)w7Wo<)YiOo7s-(x+sXxLg+B0t;&aKx(W?E!TK3`YjJZTvM3UR)XM}U z0SVT}h#)mW1ovyePk#19>BBEH` zDUH_QDI4&+x8bGvoPkn9S?YXjhCr!b(k9zG`dcX8vGAf;xV0g{My2I5`UE>F6|fat zYOZUk$0UOah^)wKR#NkewJ3F8ze5k3)-RBk_KC8gRO%db>H93BF|sbTISxz-(9f9E z@iXR`c_u%|X;29^HS?^TR5CkAecCa^kopvf-#MMc7c)mG8HAQgYGrZrtY|ErI2avY zgw&fFHb93!XNy3+tCx(4*RY+mKj|$q z&TBB@EQ>;N5-fdQ&ed!F^pxlJeLVJ_FJalOo`PDfPDn_u-+2=U zm7f!*8&>taF|x=o~KhQKjuJje10r zC?OFrt5fyAVd{2LIY5tTklu^Ek5&_3nTj~&6sMMolj+0|#i^u)sQ*ZLVk~W^?&U(Y z6iZcG)KmRJCP<0S^s&yY!+mVG64q-WDY?{$iZR_%lTvh%a=*djlRT4}inLOY)CLL7 zjj0wO3Vorrsi~0D#5-DwHReQ48tO1*2j?k9D6XEDzYyCi^gtB0hxRLokd~@FLy7Q$ zDs+F2kRoDG`^gqH03D)kIj?}IUSxC`#RC_N~mkKKOvGmfF3AU3*-N-K~DXOZjEiaf; zR9G!DoV#ZJ5%K9o%c}peaaPa9+e@&lrAK?p;1F`=OE$>ZhbbvLGGp0XLm5bCwMvRr zx(vlyCG`<&Ga&YhvRl^KRC-zMDB=XY(P~`Lt*A9Kski8LpT2Kidc`-ZPnwD@)YfsO zHn{|~XtycK;MfEU%6+&T^u*+0RJ@W#Misw`?mJiUlv$Ok+RF}_`C#>NcRpNr$@ts0 zZY=#Py|t`Mit}$*?FE#Jbk6N;)vBaERci)hUbSYb%&S(XO0L>-C5MzlZ-|=eYl>=q z6YU14sk8h3tvb6VUNG}7mp-)Lw)Is%-mrotXid*O{3r z^E%V1lI!gH)H>^L)>&a2;0w)lE7R24_y1O{UDdDp{^|>ghYY#r`z@<>E*X?@t)bwu zP>wS50M(Fm{%F)tJJEbW?RV_}NjDUhCI=Wvq0cU(VpCsp!(#l8(VDnh%4`0DlIXG5i^)X?Ej&x0KKR zDa5H`LNdv@Mo_X!=Jr6MlyR}PGzrG3Bz(w8V=v`Z*h42n@1GAdQo6z z?kC$mI&A%%X}_GqpAd(o^Iee? zlYfiB*PmN{!Mn8wb-(HBxhH=1)*LMQ{3n&2ABpMG`QBiNEbL8S8_Qke#hy03)o^v8ZEqnrZ$&0M%L%rN|L${Rcx6jl zVuj3lOv)azz!Q1z1e@ZYI8q-4UMg4Rk?XEFR<~5 zr@hYIa>Io)7UMyEt8-qA>7Jyyy)L?F$gh_nZ=FxrUuu)CW;b=VI%5sa@jlbr1B3KtAE zpOA$yY`Y+1a-Gr^Ysi9XN@-+4H6^j{Ymb$U{-V{Egg%gjvFVmW z3`vkVxN^`1>o@fgRWDfeAV#73-1gN@E9ohBdt}`j_=~=-Z)GIh=!9SmC&79q+{KmJ zXua;hC?s{tF8eh;6k!A6E8{@w)wY}1SPI2%45ZUd8*Cv|t@l}JqIZo&7NQM%JAB)J2=H2S`;Snck;PPa$eM_t0KWy3RhaM?~w?wJ}?#&Zwl>q=`328jaSJhAF*G zrqB}MFG*%E3##(P#AFHgsWCt9}2yn2*(n@;bTh)p93h&s`jFoH7v9w5^1e&Srkb$5YT>5 zQ?z-u#J5(rKna#_ko(Hsdd)VDaQe%mJvG(z&pp6p0A&n9=byvOkT11Qu>)YJ9$N7=4S@Zcv-@R zv=hZMtd_8WQ2<8q36CsKl3wW@#k)z~nQugjo8qQ^n+!HsEA1ruO**Rv0G*2&C1=>a zNxLCNtjkTREW1Vab-^HA3d`q~Rik6dbZgUPk=sZE#Y{x&p@r8qv^6h*W;m`R&Ct!I zkdlxRyo``DnX5y1dJtW)dQuv7FZoGLhyL}|=z*8dwL4{wcTc+yW+;A1dASS_1wiad zp)!EGtysO$; z`Iq+V0a>WjQNX8US!LywrTHba_m%cFji#VGf0Y^SY>WA<%L1S$(fWsV)cWPOWQdPx zCwv%oYS^HW&kJ2KM{hDg|lw*TZ^&3>5a=D5Vzq=*#yZxpj+bpF% z)@W+oGf%IYT2FgI;kK@`DO1}0WTBhI3=YkuARyoCqa9 zu#=qVk$HN>323%@>f^HF8b4MHPR<#uaOX{Fc;QCsEHip0KeCg|=#_bT#f+WIX@xyw za`|$%A76$fKLmX7o$jS!k#GFYa;tZ8K|0B;KAERi+}gq9mYOHJyn51)S2@X#0Iz)J zw`n-#6T7o~>YH4MPV%W==IIrm20639)F$<+ADebdegfE(I+IVsrPRosWm5m-B6N~T z12Rvqm^9FAOf+V?P3bc~9t}-?0C<$LDv*XnDRDc?p@GQ-=p=^*Wu9JfsGnzL#bJ+- z%lXLz*Y3%=gFW7*nKZodM(iwOc1V77CmFM2=IIq<1~~GS)Cr0Hel2H@chmDQ+1p!*N0mMSN9 z4=HF=y44-^-8+Fj@y(x1C8nty2k0Ct@+8kRF@Qann2nGzB!fo3*s1M>k`g>oG0fVy0|6fh503(lB$Jx*#Jsfuv{1Mq#LNy zRTimttSy*Z1`w|KsynzX2-9<8lhKor&D`qZ(xTcLT1=q6Rkv=nJTJ>Y>+>}&&E8Vj z&3G2gp{r|WJ+FxfntGJ{H zLWpkEIP&4NN4ohF9wE&c%t;kPjqF0GaOY%3XPP?83T^v#dF$ zqlF!r)?U%{8nanJ8%HXGG()hF!Hi4T#`o@?bcHY%gCMIQ=qyiQitp;gsI>JtLb$`wmiw$f{Z3D&(L|A3;}vbm)NkQ15x ziO61c1MU#yS!feLT~iQN%<%I4O7l^a%G$!Ym6iBJu$Jgb zEjjm)vxOW2tMbp`2#cHnJ!oKNrFS%l$2Ir$XGtXClfwH+JC9=T`RIA?dMRO2S zbqEB2*$$gwUAMz#+5zgMF1cvEw*!FBcG!%RI+Cx z8cz8q=q$s2^=-b?4Nq&DACJcR@aVsE!}C|)Xo8>zF+ z;#c3o^V$8iYW&Fad>o^@VoJgHz#;?9l*UQmP+?F9V%jCW`&yN{S;&jY#B6XG- zzxsY$`mJ#5c)vz6&WA6aQOw@|Ov57I_?_j}uf8{zZY$i{;K!@+KD_eT+)l$OpV*z{ z)33f&mu4&6y4sIT6MWc|y1Si*OR14N%cNg@!>--^Olz|rizfQ8D0!1I4TF-Sc9uOU zSh@5oSShP3DG;mn)2lUscJ{%ozxXj{k`HsdbFDP2@kZ<{V^RQ9?Z24sgdqi3)P8!! zm>&8Q3U~B+#g8SEeOO{oBhxU$j?!5+q+ov9e+^$Yq<~@CPp{a}K9a=x)Q=x~`S8QL zhmGCbG>l1!+gT2!Kv~*HBV%BUAi1vQKih z;D}zmO2Y~r!$s3b-AL?>#VlzwUBM3UJh7j>6)JNR`%BUd&i4ivCIuVY?v&X9Nx{Y5 z)CVR7mwJQClY$TO1bYAz^e_X>K;*on)Q5Odi<+chZ9t3QFqHa;q~IgHsTU*#*L#B( zCIvTmgBK?StB)?_qAfkUIVo6gHrhoqciJhs+6H%0FH1^|69Ev*2|g+*_-JqNu}Q(J zyurVSxaIf)}ejN4@ksmklvB$cXx9dqfOC7&iHZT zR1^3;nu2=WxoZaBb><~M&2PDS=G??yR~DAa%r_wO9b~WKY}wK?-3?P2Mthc>+^D5o zE>64kXFNp4yR1{OugEmE^8%gRbfp)#PCg`qeZgOOhn329XIcjQ_wB1v+3wGjZ@=<> zDwXXCSvEOWI+<>*9mp9?&c5W7k#i(DWbV;AfgJiY#-fixEcyb%B51!wz;)|0I03>R z2MB2!AUJ7YDje~Yk~+Q~U<&nJQ5rCX{0?cuE60Ac?uip8yEqf%qXsrceUy8qMOr|i zfdD0Akx4cZ2BiCb8E23!XlYqO<9A79S)>u)Ge_uaK>1ZGVa^IzuLev7=!}FV)i}f~ zlEAmFt`CBw`FR3u!LmFZHfGzUhspSGb6rDAj6k98=X>;qFnQj~eT?~8XFu1Qp02;` z%;1ybB2TH?{XBL@r|9{zY$@d$AAGSLZj{*qR5iXMWEo(wo;0XB-@_2-8T;eA zW!TA)Y^I|M=w3JC^j5$Le~|}FU!!ii?H&$8Pa!k2ba)J%1w%9p;-(y)U>whq@o6xW z*Cf0hgjOFUQ``h8&_}yWOKVF&zQAmsg!+Yy@;DZ4>3NgU7x=ePeHsi!LW}(s4}YO2 zPSKXcVYfNKc2E1}Ff1$$w??`QDt0WcJ}H_Rje zJBR|xrc7QL9B7dw*O{FS<2gu#9)x$xiiPW=ZKP_+_Gq6LqeH!?$B^ef=yl=*q?T<; zN9*PKXfes)M7}B~7u~kZgH3eCojrSol0mTh0uU^ZtT7w@-f62}HhkMyvzts8%_)bc z(eJAbRS+;$^*?D;g_QoMtY+UYkNbRbrK>i?*pzhOE<-^`&P?~K_=*~~^ZPm7qfa*< zxIuRFG`Vp9h;8#-2LZA{m{y%BGGYWaInG@w5@sLDpq>-3Nd=fD*L5-#U>g@S@>2n} zO+h0-mSchWh`R_08fYdEy)LG0eK~+2UCP_!h;<+=z0IwjwdYhFk)}-QtO$zdOfTGh zd?Edg!kR`m`AuIfwF>2j30%M2$kMiOV|?ULdjK4YkN=5neeC?$;{4vO!9P9cuOUPD zfhQ;;naq~2Hpd^UF3+8lrx|5tKybLftgN8pQFC!H7O?S)aue-h z-3e70c;2=JNW=>!@gf@8LTFkm@t4nr+*bC$v)@?9OqzY6-7aOELlhfQ zs#kh=PHUi+;57yrc%2F$o$HLc??h6chN1FQ0U6to)Fn}=GPWaWr_#0VG?wd}rlADo zSlRig-U@ax0cY*l07dGYK&O|dJrXbJ5XQ3dgNa+xCPT`{^JsM5tqx2|jFPER2d>tI zg94mvV_#NqAF87y1(>{4XM+~6-tl-@Yje+kp#QM-2lan++g%ej4`?gBT(uP$wm2Ve zpd$ZUjploLx^%woY@<<0eHx7!ka?pqQ)S+0bgJY=^R;H=*~C%&;Vtpcwa9@koL>Ah zr@m9LN2u?vwwa6xDif8BJhFh&nU$@ZlVexEGnK77h6~TQ`KIa>PygodEf;+A+{n@o zRAuY3|2uWur8f$zoF1L5W1Td$jy(Yx*Rdy6#&v9`N~+^7J?vWXsb3`;M*XIkcR>C6 zKuC-%QzhD{WNC>17gX{eudnJkW%Ky%^RH!jbFVME`#)F7wEEOVI=gqal2uZlN;U&B zuVgb-=9R2dC0Fw9MvdSNJwlvP$tjpQRI)Fk%E&ZrHA~C=zo43Le{O1I^RNT6_P^n} zgPu7ee`7|~j6$idT^~Nwg;pe$v$s*D?L_mbK9ybt$m&a*R901cF_NogZ$z~JI;@ry zlOd=UchlE4IiRwm%sS{{mAU_4P%9^N`PbEd`1ziuvg~(vN%TH2$r8PKzN~>H&DvWl zv_#xRI%@Ne*($bQG@n{g>C@GU8N zSB4qGzcO@;I7lTkHOrJiDFuy-$_UBXf2|FTF|tb|8}bZ;Ur-&_{BXgd7kP8_ z(y~uaS~-;F4f^x~{aDG|v|ZjQR29-WDP2{lXg*b82KZNn8NrIBZ!kD&BNc*FXJ=!FcNm~*`q(IyW{dED_xmCF?ER7PwSwhCTzCj@_83n^tx$hlVM%Pc(4Cm zcFn2aQW%ZV+IX3C!r`n{WES5u0;Nqt3%a^EbjZ8}4iV~ZCrahQ>b9fqXlUM!x>GA_ z!WVUyY#M4_ab@+~{F36DP8hv`rTS%u!s1lhD2P zt&DL@9|bPQL@|w4Qqjnl!=%0fnkXG6-H0R;VTo`-WKpykhIq)#8?56*W|48VwDP3H z29E^vFVbAE(q>UwoYR|GN+fm1HZzU!hT6)t3B zk?VXdn-h)al$BTKkfn=JIWSJI@zYpD5W&AtSDzrc_m)Oc?DUtJx7d95~T<@&DJrUCoxyn6xGY__K60mb|x(<8m;kB8q+eppVbdOP7bzloYd4<-IBn0O~l1ZFn&ub zg1(12>6XX{1z~`jUBer`#r2udrW6%JX_h=GCvF$RXAGqRJ_V=Cm$coS7J*A>kKFPY z8I_mFSpxsqOA>wE6F-7v46!o5SRIruKVXqKUw!-`aokyy8|;87>ygtRY0^$*l`EuK zr>QwU(G_${H+oIpqk|>rBU4uZD4Z<;@6H0bx5& zC&ig6z+UA^NntPUm;p&^I$7)KMeIL%g3Unrdd8++$_LzmBnxqNCUk9|r+h}nJiXwv ziF#c>zASmlet-Kx^bnS`mL^}7%*$m-=OQ1Ts!$)EngJf3ngJf3>VRaP zUSyY$u3nx}PZ0PNa-i(CNol7+FvSveI_^5lX0uY4&A3GEpexxe4Qi)Bo?_LWRZ03V zGwUW}VT<@YL~`2|9wwi|oT9+OuZ&?RqyMR*+>u-q^b2Xt&&qzG0-GU;ayrbfy>0>a zORI}vfHtFUMjwAtjV`C1`~n5gRDmq)@H|F|8=bc8!iW02&?V-6g+MLiwj?eGB$wr$ zk#kJfQO}KfQO|zAep5vn5@8ZLo8B<>02B&e0`M#;t2g^ z#+7sXRUC8li1lk$pZC<*e=eB$WyTHd9pZ{~-tys!3iaWN8Q|fH8Q|fH4oK$8TP9c1 zHMEqI12CM~s-KyMGki?OQkLqihNu^CM;iNcEWEqZ2ljU$f25|-pTYUh)DtLv1>Mq( z?gLN%`&%``12cA+ddoTgy8457I~*|IX+SP@<+3v7#PDtq>DhltNq4u0%8v)fH;2Ay!&kWsAH z{QFMM-?h{1$)-tzbh3U-WseR`WsfJoWREAnWRD$?%$^_B%PAKh|Bv5mN)Bv8N1Ai0 z5@Xxp(WTUW@HZ_Z9$m4358E<57&_~qYtMRfNlBpdJnBw7l1|WvM=I2ZM`nPBM`nPB zM>-&hN7+FykNTBH8W+G&esg4O&b;EnoQdPcjq`A7CudFsbOCPwr?NBR)J4ON`sU4_ z2lQIsd*I5*xg}Yh=hQ&rlyv&}a7u;xaLNquaLNqua7qUxbE==0Q+@L5%&cd$xz{6QHz{6P`kj&Y! zCQq z>6^>?9QO4t8%}?yw7;jl&B&y^%_hD|N83g*mxENmY#+X=WGcYJS2MuFR~?Yd*CLZA zz)ls)BO7yQ6U#fva#;ioj1xpVGZx);_D|dTp7`+J_r9rq+vZU-KI}Y;s)$9>sqkrf zD%6KXW`Ku9W`Ku9Iv|-v6()<)HNBJrGST!ryMks$jwZb9zic5T`$(UKl#ajWk>9Yl zVCyuTX7M9fR<2HHz!&Ce4;QYF#G{LvbLUjr$3!)?;#3&QUG-#ivaChlM8;a;fb17WjCha|?cEW_cCQcof%>rB=%#s&hn723_hmD6=guZ}_=S7;ayB*1+Z`bqYRO+v& zT4J2-Oh=XAY_mvAAASX!Pi6W@DUPpz@m*aQ`c zk;Ga5h0#c3y?IzoZM2@V+)SI2v~>cULobz&gXH6^pYrjXABi_jeV+OffwLYeNZXU- zETm{<+zfA^gK5(n;PzTO*}&8sY1J3Pq5^!+_jU^GY|}eFj_GLU6`VbJvO5PMNGgbJ zUzjt$qR1pYRT6vKKlNo4BpK~J^<~`b`!B^zSWAiOYmh7bM#6T0bWB3$KHElbBTR7(hNviB%w*{Ft z4LQr&H`*LcOy|rRIcgqf0n$RdF^e4#VufsGS19SlA=ZUu(cOU|maXneLoBH7%0sNH zx;rSux~aRW5bLh)=7v~E-5nfaJ=EQyA=Xpf%@46&>hACm^aS~g+7Rob?!qB_%q;!t zLad*h3oomZR>D39;SO-Eko{RNbu(vE9|(@gcT{x;rt%hN-)gLTtFY zTN`2{)ZM8eHd5XFF2qKuyVFB#G#f)DJtM@%s=MEZ*q-WcLx|<7yK_P;Pu-mt!V;}a zaY2ZUS9ceMuwfwmE(x)T>TY9*O;UH4huCCwcV&p}rS7f{u_@~A+7O$n?ye89z17`~ zA-0dY`$LFLQ+Kz7*uLuSwh-G--Q5vl)79NwA-2D|+ZL*#7SNOck%9VwWH14^f*Cr8ce2HrgwVh^#0 zIqOD^xq=jrIA?v6b5e014Y9|ZxU*=Gj#CzY4zVZ5J4ji~3&-L?_9SPi2aI-SPqC-7 z*nMyt_NMFWXo^AhHU=%v z(;XEt$liq#q@U^04TJ1Gj8S%oM=1=l58NQHHW*|d;aNIWk{TFfpP;&Rn4$j#*=J~B z+FvVvLG}g4P211V_=4;!s0lj2N7W0muQ@Z1!3?r*k-OQYN9(iM_nFN-NNtdfFUWr2 z#z|U1_7iH)Grj~lnx_v`DabJ^vOh=&@&Foz>f3`n3!>%>18NWpa^#cpK|+vs1H*lX z`ydaYV9r1u`G%g6&EYqkOr;-uaT7r+77UV<0@YItLgM1IXvqv=x z^5M{@?bbvG1P1v?^h2&X7UZK5!&JnAd~DKt*(z9&=R!sFtqnDf2l+TOIh$*?-vsc^ zsVCcWl4L01wlMFoJ@-u9-O z0p5F>xt*qf+Eqgs2R1j_UNa&2W(i!?DadCfhdD}5kk2+BZ>mc{J_nC?itQ>&L0*E| z@~TKdZMhMn)qs)3KHWI#yJ$sS1ZR-9G{>{~LC9JT4YK#IZiuxkr?D=ZS3x}701asG z#w$70q(VLq+846Nc=jDXB*YKpH4qStCenHs8q7$aCuj4+AX{#p>ht7megxu6UqT<| z6+{=!jMPN|P|W5>qGihv9GaR}4PJpQO|6h7`z6a8>!}2FAzn`<=#CP=OBbS#9jhn~ zo?(Ng9`CM>wMK^)fs%v~5NkHmm>{JQcY;(#d4<9#uTU4|70RN#LRFMkD2nn5HBnxn zB+4sPM0tgRD6dcto5Or=FaJ&Q8cob}|KNzPg1oK4QTlSVuI2SQx(m=vtXbYKH=J0DYkOQ8H;0k!{H zDEv1e_uHW4Z$i25gJS<6RQkv8v?p0Ul-mOK9BTe0)cxyt`a5hE`v6;FpR(EPD^|?D zLur0u2Xc#*@E|MYJy;p<%gXs6R>5~+2l3rlB_GbJ_!zt|XMbY%!$k{1X$0OM%fzF{ z+{GRkJ@zj4$ml)qVvoCABK|N|i~i(DOfbWkGA=+GsQW4h-hv(nYsS3S=rMi&vYBlW z$op^9636s?)+OhF{JTq*fPBFv%Rs*5k`*9damh-MueoG3$TwVa9>}*`@(_^kxMU5; zf4JmfAm4Y%BS3!Wl1GC4*d-T${M04uL4NL%3qgMAk_{mL>5_|G29}{wF}4_tTY^T_ zC>zJVteG9iT38KhWl;c1R-mz*#NzC1d>wTqYh$;wWnl4g_6$PaU@O^Y>?rm#`wj1j z#w2L|q?sSp%`LhfA*_x|d7;mgqh%eFD+_TzU=B16=xKq6fM3DMat+((7E- z&mntk>;$m>M6iAhSbq}a>tt5K*0RIcDX5H7!O(U1_d9kWJB{7IPG|Q*KA&V~u$S4H z>?8Jj_5(YMhaj(l=BJwN-)Xk5rbq9r9?f^9{tWaGmtIfwZZ3T$(Yw3!Sws(W>9dI* z;nL?4J<6reCwh!aUr6+xE`2f4c`kh^(c@kEGNLEC^c6%;cIm5#p5oHi5WTlcUq|#b zm%f4M{apGcqW5>{n~BbM>05~|bm`lPE^_HRi9W!kHxXUz(svVmpi3K_`9em+`$bsC zx)@#dCFpi9Mc28JRj|v@aa|5MyMnEPY^`TkA>?XyGrI;I)wS$tb{#s@>mgw`U?jbf z_hvWo9QFr3j@`^>uv>TqyOkfwZsV=&cD{<;0Z?8kFT;LVIi3~(RYBcomuJx+pmH!}Vo^(jVX$=$aYtf?pr}05{{K@SBWZK7OV69g1HBzoqycgWp>GU>1~b#P3G@ zHskjQep~T-1;6+4`zHo}6j$`X5AQ98;Wr*X3}~Vlzq$B@@x#`-Sc%_>_?>~@MfhEd z-yQfpfZrDUUcm1i{65F;XOtazTKLe?8in5!{EG0a!VmdbE%>2~)~WcNhac<{TFA?K z2*0iO@XA92ck$}dtHq1P{Zq#MgLH4HICmQU*BSm78~$e+{%Z{XqYVFM!+(L{KhN-= zWB5-u{3jUx!wvtP4F8^nzi|Ee*RDVR!0><7@PEeef7I~5+wi~1@W0IPKilv>#qdAY z@Q)e(3l0Ao!@tb%FEIS~GW(9P-{n;m@Z)c5n@`LZ^m8Dm+*FhaE zsrjIu0d=xNJq+qtC+3}?Ryou)pqibS=Yv}3Q0qX&By~9QJQmamPFO3b6;9X!P^}JC z4JzTpoCWGAhnfm%jihRk=V(x;NQ&NJ7f`=-!g_*QrqhkR83HY}NB$;;W(GY?K%4r3 zJp>Vd7@F7P5c5Ct{%i|G{VASrUwj?=nQy={)VWw?+Q_@`D|lCaBbJVC z#-h+>-izPM`|(Gx&ht3daklau`8K{Qe+6qYuVW?UeZD*Yh>zg^#KOq8e5~MnPZ8kb zMGrnf^yYhs9r+Zo3!f&2@qNWeK0}P>`C<|;68rI4Vg{chiur+}gqMrCyh0qpt3{a4 z74`g3(Zp*+D?dW4qx55LJO;(xGa^V_T{e!De~Z?eLCvsKUUvs(Bctr&mM zI)*=Ft>TYar}D?G)A*Ctd3=j?A>V3U&7ZNZik;DY4nen>!w(aC@Cdrw z1~G~+6{C4V;5UjwezQ1$Zx*xpz37e~ z5vBZbaS-1sD)}}skG~=g=C6zS{C#m4|41Ck|A}t;TM-dlEEEB;So9D}L~qd|b`-5* z7m*OdM4K2XR*LcBC^1Rkj5~3hm?4fA#o`1}B2E@_#aeNQ_?-xg(?q>EQ#6U+Bjq_r zajrO8TqsTy7a`V0afY}|oF%RTb+x!uTraK_H{jpR;tp|(*aY_hai@4#+%2|H|EJn^{|7GGHP;%lo#d}GDLzpP`#57sKE;-^~NI?d{0 zoo8iP7h2t{tF7+VbyhFy4y(7d$?9)CWDT$$wRW_&T02?Wtijf6)^K$8k?o!R_RfBL zXK&BY?9TrGOU>TOW5OEGey}Fb=xtpicC@Y)yI41hVb)Dzq;;zpZ`~#)S$B#3 ztW9Eub+0J4?h_@}17fcApg6>ORD`X^M7{MF(PTX-TCJzWN^7e)+Im);Xgw!Rwq6ux zSTBjQtk=Xv*6ZR@>uqtZ^^Ul~dSBdOeIPbjpNI#nPsPL5mtu?cm3Z3v7G3yv;$`bc z@s9PAcrPHt=K)K6704Dp2ZELegsdKc9#-!_A8Y48Uu$q+pfxHm$Qm2i*_smA#o8y3 zV-*E4=BT#H@3Y1z81H+o_&$V+d;PX(NKU&rWd~5xK3aGNVMF&L z6l;Nl7M|&#g=aZv;n@yac#eY>E^*MpWe!@n!a)mHI%wf)2Q56$K?@(^poME3wD4gL zTKEVDEqtVd7GB_>h3g%(@InVI+~A;v7dvR-Mh7k2?4X5P9kg)FK?^5BOrwRDIcVV( z4qEsq2Q7TGgBCv4K?|>P(89lU(84D;XyG*uTKHrKEqscD7GCF|g->(P!s{Kh@R<%; z_$&u4e71uYKG#7DpYNcBFLcnt7dvR-OC7ZEWe!^S3I{EGm4g<(MxuoQGW##W`2v@G z6ZXb3!ubNPe5(`J#rfVI!X_HBFmS$i`Qv;yvwO1H-9V#Byp)Ucy_enBX`Jt$ei6?1 z0R!jz5DMZ!+6LJp@Y2vj^|e@#J?5fxozKLA*bs2hzqYCrWPfpe9UUo%jRPmHqZ|bZ z?%XcUcPqeVx)@0~-@gGdXNM%=e4llLl5xI&$Fp>*6rAr1?cjW0^1=DO0vw*sr_h7* zeXRqW?;FWD-?w~lzVCDz=lc&Y&i8%Po~NGyL#I8QFZ;%W^9A_N#Q9?PCmH9EU}IA?UICtb#cDg z$vEGxzXa#o9WB8Z=i8$loNq6@a}v(CPYTYrUlPuDKnl)xP)BIq9evQeJ4+5F0e5%p z0HZr3Ek<{@bQs;;lL54jMiJ!0z&KAEwGp`^(3*U;h#()8oS&gTbQVerIJ7^M7BFZ( zC~Y2}08NBXbfC0v^T{E;7oU;|ly+}4-&80qKEZ4UO1oc1P};Zoj1bSK68thKEdk`V zLur9A0U!QnLTL#S3+)%~bcu{nkl3z(#O_ak&wO$U$tfb|0CI}SIgp%Ea>~g$h@2{N z=8|(TIfs%npPa+VsU;^&P8~TBau$&jC1(jaP2{wYvy_}TIc?-DCub!&zai%sa*iWs zH95zVb0Rq>k+YVZQ_1-qIj56z206bcX9GFskaHe67m#xiIhT;Lk(|rPxssf#Z$Z^@ z0G$|n5t!5en|N2kv|a}gmuv!FOzRDVX}y^+t+%<3;CwW1sJ6Nh znV8l)H?vKIY5gNLr7?Z)cgaGK54vO#$cJ6>0FaNmWHHFcUGhMXPq<_$$R}O09OP3j zc@W5_U9t+~GcGw7z_;11R?Y0ZKJ@4;^=KZXZU}TYmtISB$fZvux~EJ3j_BSleLB&7UHS~7 z`@8h-i5}?E8;IV)rOzRHCzn2t=v`d;0-^`I^hHGHxb!7N4|VB{MDO9!mlHkQrLQD< zq)Qv!regisK$f0^6^3(xEIkj%(({2Vy#UD43(=x4LSz-!S~H#E+W6 zefa$uzi07#1HX^)`wl&O7ySC*w<~@?Z2m`(rBoK=DTd&;Cw@54M50O$#x;Up{2rc1 zNYC-uD}CCyf7rO+ME3xVP@EeK|4R-3vkd=}4gaGJ|5n4l-ta%f@Gmj^XBhsI4F8da z|1O4qZ^J*}`m=9cfA*2#|GMG7&G3KR@W0pazuEA=!tg)W@F&Pi+ns#U{d}s%H?DRl zg1oGhR35?z@^YdRMv#{!lG+Dh1bI2e2_wi$+@T2H7pOVCu4d&6*K94d>A|vn8#Ag zhbu7aJrqD2d|d}n2Ima`+$_acwFzJzkKx_+6!HNZp82LPv59L$dtHNZSZ0On}`<}uC} zi)Fw(uI9@i*weR*xg-AD#awoS_~cEB`Tia;*OV4>P==W6FfHbw3^CVXTFf=2#azeK zVy-DI=Acr=oF9iVX*IispNKCW*5FHrQ?SN*D!ZSbj`F#+$2QU?X zkk90g;wy^Bcm@9pzO#K2V*WJ5d@IEKS%~>_5c3xy<}X3aUxS#x4l#clV*U=q{C$Y| z2N3g5@T5;6=3he0ze4WcLd?H|nE!}eegYy+01;;a5tj`_To8!35D;-afQaiOEYVkF ziGjEqB>Ib;#Sq}(hKd}qr`S!511@fw7%rxZ(LlnD0TM1x91PzYVB{iVvS<){i@4ZF zEJKXdViv@_V7r)a7julg|2sx=QO<-oh+TuvgKiP?*zKZ*-6!U=`$aALvpAAHDeBp? zQ1G4?QTB#d%-$Bw>|@cwJ`-{Fok*}B#0uU8c>ka{2Ef;20et-}fUn2%9B~qWuO|ce zx(>kC-vRh~2FBAf0en3hz}IsyhF$>R>xBTmUW&1DBY>}00{D6rfUnm9_%#!PJ`UjPp8XV*Vk-{3D3@XAtwxA<+MXn12l+{vKlfFNpci z;$VElT4M!7#Ofj%tga$%brZ|1o?^8HlgGRenh>x;E855|CvZYTUv+Ro4H73bL@xN( zO5=$CgKZ)j#`0h`&px^jtJAI#JR-^^wfafGqVj)_H`4$DyTdV zlK)CzDWmxG=<1eV!=PiTMM>jWPw+3*kl_DNyN=p&q-`w*R$~6Yu=LnhRgm1B(#I`A z-cxJM-eiQ77=iLgOVqN1l`*Ug{ok_)>DrHUkFUe_qx16WB)Rr+KZRuVZ3f|fiX7a} z0S@k`*unk4a-g;nSnA+@U^!4*2|UQb{lIddwh{=FINC}eEC*^Ufv_B?tpvhyptceS z%YoWTAS?%JD}iAL_fzNKej*O;XOV;Zi4yK7i%Jj6fjc^u19wt)upGFvx?4&JAQ=yq z19w$-ZG-@ley|)kMBTx1U=G`j@`L5Tq3RBn19w+!u`m*6AAYt z?@l7zkGxw;xF2~3%YmcS9V`cqQFpK$2*V)sv@-|+B=2B3Fjw7eAOw)~gXO?+>JF9z z$E!P74xFIwU^#H2x`XAwN$PGRA%OOxoG&NbkG#8*a6j_yYQp`GIO@{t{PmSg=71`7X3-Uce@et%TZ zgY4mKd~KV83VMV++G$kKHdS*XO zM;an@Od`IEY+T(&nj1{UNqvB-wzU~$S5 zBtmH?4?<}dKZMd?V0%oBLfQ^&$2Q?mG(R;RBRh4{XrR|t;qYIAVS-gbe+<)TREeLh z!m;2=5{3zInj~9=z|nYY6+%f&vQ-E>g56x@AP6vxeaaZP7FiZ;MN9&9h@5R) zQ#aTTEDiB8UXE9eEX9HGaeB{GGp?g*q|ra)4GLOXU`@Tb8&(*h((KQx=?!W|&C4b$ ze?Ip2g8UE&-=5ug5w8jH`Lyp4OtdI#es~R!=|AN=tsB5u1?V5`Dv);je&k1nU@`#w zF~LR@^+<5oj_Mfiqku?=FQf#0VCc^Y(B}U9O#4m2Ld5?(JW`fiAb}1iuh8J+75baJ zLVJ@}=x*`~%}rjRx5+ECHhG24Ca=)g~yZYHnL%;Xh%nY=~VGKwkNVjy{z0Ljw`Bu^8NJk7xH zv;fJ|3INDbG>aIJJaHg-64+;N!~Xg*K&O@iI<*4(=_|31eiWa^e#7Umqp@#(4D1LU z%a^m`u$8w8jRF%c)hKYRoU+w89i@YPKv~!y$$FrY7zDIwY0wV_0d0C6if6YhlvWzqgMC0d zSQ^;u}gG_nVyeKswP?Ct8((#Rf+_}Sso$lh))eX(1Y^Vk5? z<;keawW!NeF!?_fQ|)y?PW%qycp7T)bl|nt z{m9PcJ=l4u$MXRPx`6KoNRgn~u;^F6Mr@``0o+4y>eC4UwGWMk)-HHS3!`F=MnI8>&>vl4 zZw~BbU>Rc@@w*Yf&GG7jr(Kh9>^w&v()g982*PE{-uV0J|F;;x*-c^8gvCDsXxBw z83ahuP@Fa}3`mD@`1)odAW0>do|glXRKv6R;eaGHz+C?lOq!Pg0kIO0q!Ta)J_(Sd zGx^TIE(`%iA&377kfbM|^KStv;&~teUjiiQU7iP2!$hDMCh>2ubqdK4UHE>mAv9g| z10-oMI(5#E*e)}*?aK^;ev!-|UAr=aFhgc2CfcHw8Bo+Rwan-+Ei*cdus)Ck3R6;< zBr_DvBQrV|Ei;exnJ&#pjUc_WX)`e_r}%$wQ0JcbV)<1lQvoNeVRur7Htzo3;E%&0M`Hu za7zF{T?PwqD`5fd1XzGONzCJC0+6}^7U1rM1-L(nBl#1s0JjC;)aS)QNXBCRu2=$) zObh=CMmxWO1vmip9mm VSDovb>l}PK2PZSt>BCE7{}0H^!TtaM diff --git a/src/main/resources/jasper/trans_flow_new20161107.jasper b/src/main/resources/jasper/trans_flow_new20161107.jasper deleted file mode 100644 index 781826752eb3eb1ae15ae89913aedd2264c53b2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76072 zcmeHw37izg^?z0MusgtTABqC5CpQZSh~UAVu(+3dAS~)K><;X}?#?nZ%V88j1aG6p zJE(XcQKRv`67OiD@jl}njfv4j6VLpN{=cuPy1RO&cXrkof4|@V$L?pU`_px<>5^*-RJ(8T9SU!1WIMES_$0HrFcrr0L(!L_v9+|vAde%r!CjZ8~ESOc! z`ZmSdI-;$S;&3vYWW&o>hS!Aiqp|$jNIV*DjUE+V)*6{p&IajdmEpEXZRhgk(RE2S zSVe9Px39>rO~#|`D-f}tjuW)wFONhXqP?2?R6T2Mo8hNzT#b7XnAvo%?p zT;Cc=vc0=WD5D`+PIDv~j<)LJ^ix!={i0*K%SA;*K7*IX;%(t%X}BpFi?4Sj94wEv z$@W$oNha9<)i64f(N?r0DtC|?NhfMnHi&Z8AB`hPg5%*+-?nhHUB7ISbyqBxD}i>j zN}Y2~yA%Zdssjx{TNrNb1ka{rd|O$qRjzdET9qQ|DXSJ*5_|ou0j{*_M@{YiQPqxw z>nHV1C~lJ^XH{5TjTB#Iv4rI$NID=``*bH*wtVC!R124HvV`?cM%p@B!%4~`zq>qC zmsO`zpssr*so`s;4Dq&2&6pY8Gv+W)o0f03u7j};mZ9?=iXT_KxY%7?85@BcYXM`T zmVAgB!7wUJ$g=09Zh#UpMgv1IbHAI@5~0qhfuWnL?P!fA3tC%aYa`9&Y={&BDtyVh zj(8-IkX_06jPJXk#*GX9_3MboFn}eakwitfBgrOplepT9j`X2;B-t5nm#jtw4m28L zc{D+-v3G*XtRzea%R#JgeUiqy{!Xy2t|=KyAe)Tjf+K?%@%GJ0Jt{&%#@N~bxsJdw-hsajaW*;ATM;8Bdl*5P(BEL>6=(fr0f^I+ zNuE`Z3Pd&M*4EXO)D_LgQ>J$Nl+=O8%!~LnItksTu14w~gQdGGMM-%r&WSG>TgZYM zk9eu)Xw@k|iVHn$C}hSJTH>p&vs6(w2L{MC>ZQXe9G8XTNwzyQD6PaLV#}e@B|Dp= zvB{n7(d1;+?$)8ygWTGjA5OF&w_drgKJd`+rO#MQltSHzg`3ql1)U<c_i#L!#I+LMtLkvLkt zOh7Fl$p#q_q(+F~AuSk6k3yc|)`C{(j?`!=>*3{WXP+S5bIi=xN@dS6-P5CQM|7sg_(k#IY`e>72smy0&hTg^l_98FX=FE43Z7HMvd zG;7ZR=ybYB>QNOY&$l&gp+ zR$oe^b$H4K{2pj{X+CG6)KHc>ADbai>Q{A2c}IT>#XBBe5f68?B-yx(d`6#ON2LOG zfJ^O7v1Uv%sDQ|dyh>BVFCJ6szJ7;(HmzSEKjRanpw#Fbbm<4Jp)s;4T^xs}1?Xo? z@BSGJ%{)^dEUTbNZS;qJ}{MJLdXiA2u5$5E!MiO3|%*RwSMxD=4 zb6$fHXH66>C&@C`7$!!>Y{*W9+&roR3ET)208^KUEC6{NRL-nbk@Z?$18uQp*+$X0 zdeglYmWVD)?QXJwN+Q+P zNQDOsG$cneA&dSD{je==ng@Z-P6(YXUUK$Xk7W{Q8G7C@+MYGAlhioMXojHFGDzcO zDUJNfoi-2r@xGmc^(tjK%fqc5En&#>8k#+pGtq?C+*OT_B*0Rllo(Uz8kvLH)AIO= zWion_i6y0&k1dxJajs0Mm*2kl{PR#K$!8EblcE1H(l5tl(g>&*oNNo6{Q{&~QWnto za;mBe4y`YdifTqRMP`&LL_Qe~FD+ZtSW{A7P*=9Fq_M85v9PMHuBt-o!c)2}Yf2UQ zJfTk|7Pge$>(qqQ(5d3?y}i~eV)4Y{%1N5Dtn3Qn@UM6oz-nIT@A$3SNjwLZ|uB66MKcz0ORfs3^;u~Ms z_RqgU&1=x&vaUnU8%W8{w$rCR78-(jHtCFg(E!ydUv;?I9%H9bhbou;s?p=H%>5J% zDYVWNTZhQhJ1&c@Dk3t{Y-9!rMoY+X+m)7yTMah+3YNB>TIm_+v6x8Z)LPBy0 z&zm@?{G2#_u(0QikwZQ@oF)v}&n;2(LYqr2M`-}IqA71L}i$9sd*{7NV(M-&=dwkb5pY+N5s2ZjWwo4P8#YkWe4XeMkt}4SFjvAEc8GWwx9MZjF6(LJwwUx zvRZV1P9sIcp!SmzH4Gi17M)UgryLA>Gc$EdveDUdoo)xcin8M3@{%O$jTQGueqFRJ zBA-3Q)vEMj?1`uqsaY9~AWhRzf(|8u-m#j>yMgX%l57`K)u<~dFE6RBYpg0#gNj($d2`Ww3~xCG!1c?88;_TAFpE+)5cpXOl{b6}l|j zvr6jIp3Q*xcgk)}PgCh7wWEj=^hTR-MfaxG%cR1h*L()Qv;B%MHk~jFeW$J8N=BW}`I1A*p*Msy^eT=lgAz`Z(FYiEa6wPyKuM~urW5i?XWnwwtf$s&{^Kc! z?O$-!_ghW3P_dcjlWe5_>U?W>eXKLNPG+6nCiZJRY&hLEBPix zXK*Ivy@6q!xdL;mLblUdESA+o60y#BQ=}q_y}xm^h8huVY2a&&(+b^$QqA{OxOj&C;aUMq(`WPt^q zJ_)R1%8JPP+lrX_Q58&(dqrkpMeHCHD66+IyO*D3$+L)DMVGMnNn>ZLFj8n?fGQ{s4k1U6TrzFT!yxvW%gt+QS ziss0gXj3F5MTSBRHDA4{69~Naru8QKGNc`BrVY0dfXz%fR5BjOqn62q(G|s!rf3`1 zWn~QF{h%f+4iZNjd-&J^PQo5PvtMLglUzw}j1y3X# zi-P)9wU>mOBtEi%4WclB_z3i-7Nr!lG8v910g}XGAF!GVP^7&mW&;bYibOi=_O5zM39e zvVd(VjGWC9z0lZKDk&cL++f2?BiQKCL5u)0#K1~oF~;!nMs~*rd*D*FCpUKTvmAwN zp1Bo2D09X4#jbNxCjfF_SRsG{?M;wj^sc1bH88>m$gu#slUR~!E@bGgQS%fEMb1d8 z*_y>>SCRWb&C~Qc>+h6f9_fU{&O-3c@ulbMCuZJPrCuh#%zP>R%w3(lB5@M~>I|Ue zY_~3=c*fasHarS65AfBpJSj@8cf{`_d1t;6DS3*U`fajU`mV8)=r`%9UI6ISUkP)F zg|&=JmBhNqDV1eQq_I=itEj5JvJM?nwu{a#i(DZMlra%)#uT8brL%n%w8$ylX_0O& zMU;dT<~6jfnZ165rw7p$t0!ep4O5@gw)m+xqK8~wZ+FTZ@1Ajm(ohmp@^Tp<3IV5* zjmkh(bpS!Ob9-cMUYf2pcIr5cwSuq#=EX~OSQhk?qfO6;}LxWy+Symu$vVL^m( z={K$Gf=od{u#4=gF*Zukpse;nQ8Ug_Wl=qn?NiKN^J=QF*RHV#O>Y0Y9_02xL61D#J z{KA#4O3L&ga^|`+JSsI~2!b;=k&AR3du5ae+;DD;I5MmUoCu{pu!o%JmwkH02`IOE z9^|rOsUIswr{)Y+xRa<1yl^A+lo|a~AK61@49GscV#Y4!+`^tZxqP9msWcJUE%hPb zi|@=Y1B-m)_mo=$Qw!2VZVk#lz2er+Cb!gl(dE_ge!R*{eFS*rGt#X?kSUorWT=xOd6Jbdc~ySrZCZ% z>59@demvSE^#R~f+R{J<7Ny1QDTjuq7NCb5+9~_=ibF#@3oI^s?)GEPo~gNmJ>C_X z47~A1>?vb*PJMI_88agL^olXVoc5L42|eM*n!Qr<2W#9V9+gD~=A=gLDSLKFeS8nu zvupP0{aO}QqFm8=!;e3Er#>L9Wg(9Y4Dz-t#DzMf_cW$rs-$*RGE9}AW~wciIeW0s zY2zPSy1P9|8jML&#@VJZNpf;=b>lvAHK{Zf$JR<4w(i?kq_0h2Ca#g!{xfl(<@o*) znls9^4_Z7-0-lC-mM%ZArM@lSDP4&tt)7g#i#V8&VoMXi^g5(6Ruz19n|eNX#n(=x z!uPK!sjjN2gH!;@xu{NRv2y7a+c23HjMR6IgzUjL9!mH9ht6`C&a%3orl6t(0MXjU zih^o0=YDcFDv_=DQpuZo_=1Ak>XI4&ZK+(feg(@Y1?H#i3E%Sd^E|;USJvOmdy72C z)ti2xPG3>5NVQHkIWYpt#G7!qPFPc-UbC^Vz7o(Y^KEx_B?(i1W3$tnlg;6}vWk+%23o10 zj$6yQTK<=%peEb^9Dz5rEzqSjL$7NrEhwt1s#$Dik#S){=8TTV{Z!nW{Sf_{Mdbyx zwTg8^$E4W?JzDjW=_rPD(1OfvGR4H8WPb zMluKN1+@CLn!dHvZ{yxPhHY$_@dv z9H_|N{z#5ySSpxIEgv97xwAbfLp(k5P?~TvzI2YnGvPGKZ* zgA~Rg1B2{sm^sV-xcTVwC*I+Jbp}bD(^*R+xG2X5yE(OsYwJoBkkqq0#!@x9%ql0~ zjnxJ7N*XKcD+T3t6>|K=FSi%%NdmO!v zr;e=b(<`+;WRDrNbCQueMkxc?KgD;UwO97(RVn*ONs>$WvW)cIuwVTfWz5O`8NOxA z%|5;6q^@{XN=Mw4uPQIOuivG=)D811KS>50)*06cy@qwY{=Aq z0<1$_!ftj$?a9tqF#FETw=?YVCah;GBHHY%6^W3)FQ+)X18O7{f*9<~w0XgEMuVUNNSh{(Qq7y?ik(GkjQLfBBJt8FrMOvLOv=)b(rl zvLOwE({*~qhOY4|mM?x~rVl^7JLlN(&A^znxIN`i8i1zjH}vID8p5RO^nM(|Hk&Ik zz7UrEy5$h^$eKfl+fxpu0Y$ogLthT10V%ppuQ=p(!RkXJmqETjmRUXwa{E=4MF#$) zM(rtk_DOww*RSWxo-x^{SL_+$;CyI_#%0bMep=!FsksvX%9B9`)_5cKlrdvdAKgR7 zjLSZ~Vhju%(-&hdM?UuB$n4Z?!4dtfSq4_<7%qlK=|-Pm@kiRxejU#EtD;|UimC0qz^cpx=A#~U6@4e#R#x0kV;@{4|+a4{e?{UC4nkks&D z-te7L!$)|-cTEi+=`2WSQ^H`8$yh17CH2}EA*`iOaG&|@?20Oz$v+oH+5 zsZ*xN#vsbwt>CSr?>Os{ZBgmOR&Vl66?yE(+uK-uTq1{)Dc3&;peYI%!)uP>3 z>rHY#fg?_^zsdpNLVe(r0dOHdh&t!>4IiHRn=Lb3EDG{bW1Z}zT+8PfL5KzvmF$V7 z73dq7RI@A=TSY^9d1Otb6(3f6A*O|FKnrFEWJ!Bf9gez*B=OO$>w_R^q?piM zus=*k(%9CEVOTia-qaF{6PDEdj*#9EA2|hxRbesgnCRrBWKKp`O)4$Ul z;S{|4^}7)wt^ zJJMpf1*RSTv|xM?EloyKU}a~kJcb4a*88~iNfiQ1A3^DZa%viIuOuK!@}qPF57K1H z1J+UOsru`?vFRp$skKQnyMZHt7zo-*F4tq!VbUfTDvjy;KYIo=}0BJpGP<6g0v*{TJ;{$3~3zBRmgVuDf zg*daJSP9hz@UKQ9mS|=AR zTc-JYopDc3D4=9$*n*p>X$9ow&&?4(?xU2;Su@+w8abpud4nhgQ}3$ z|5P>{@Q-6ZnNj1a4RN+#CIFbBAf#rd`&E3-4fD!FobJ)5n-4@}H&2rb_m9}N#B~rL z1;VudNs$pFu-b8Sq&CXW8>&)=y9$u@{rpl$6Mo(RS&n69P6*eA`*0_NZQFeTN~%iP zDo3nCVDGNJu5{8Y9q}BniN0V_f0R~!yYFt`3h6fu%N%{=$Ayg~70M42xFM4xt2@K3 ziLraw1K=L8LO^UAL^;Z`tSlI)j5d?^BIVb>h-aJ0hm5Prcz&!U%{Cw%ZJ5c!S{15N zdsu4*cvx!&cv!0fWH~&n1^U=wtuf5Yhz^q_M48^#WiCd3c1z_0FMMGgGkyLxTP|gsMT!S$)hj(b2EB<*UUSxg3#b6nX;M`z z>%Ip`eFQ`0sRFXLsi{k%Qe|yZ(@v#p-4T{1#S>RJh-0d=qGkffYxkBg(&q$r28KBp ztFr1a;+AaCY2RBz=)Aihn3NbLQ>6|p)rErs%+(_tYs{*ZQyrx!z~rSmn`+7sB-<=& zt^UFXhVFgFp+g^i{*GyP4ePA9T*--bT-R($GLH4USFUDE&oS?4rBd)u=)Ob>E~X=!A6k8uY(iQEk=*H|GZ zD?@?VdraEHC{lWlUctcMokR~K9mMR+|8SDs&GVc5xrNl9rH}=2FCUh@I z@4sOax)-yRo^^`ZXbbe|s1k@LNkqBaKagLI45OB`%tk@jYtIENDBV5;nr zQo&qveP$x#Elo@B;67A0q@qRdB#zH3!ttMGx~^Um$>@Yfum>OAgYk{aVb$3vWY;5+ z^T`k1kp`${3kSNd^Tj628G6jRvyUW@; zIuCMP>zzvV>}d6iXldGsm!xICDt$umRy=}giVal(vK0{+SZ=%>4-i|N8E{mpq~X-!o{nl+QWq!UhUC2wUc z+Abr>w@&26@?!0Ic81aByaVytHbdk>or!+C^X_#r6B}KeebRN{&3iBViZAM+c<>o&cxU;k5gd5s*h?#^kCvDSy&dBVhr+ zSovpcJq5{#T1`QjI$={n+)ZpUaopK$aF0)KMmE31Z>Y17oHGhs#~;-utHO43>e1nK zRn-(u!Ft=_R~P5BpZE6%4?MDP!rqsCGjFrAqD=AdN6%(HTg^FpB0xC`GtT68BPDSH z6j+>@Tg^I|%2uuk`=yY}z9|7IE4w+nQMmm_rB+pd3j1A6}ZMR$R#@g>Lb#=tIfn+XRW(5eXaX@I(0M$2I_isMAt>I z?cPCkA{TrNC@qtd7UmQMDg?YV5gGSxu( z@uWC{o3}!E`p6m@gh)BCFf^kUWwx~e?< zPR-NveloM7?N7G`54k352GQZ`Inp`8he0aThe2k5he2k5he0|Zl|e_C4D$9jD4EfR zr}b~1O}qfN7)x#zB9)?IYz9#3zYyDn>%65uySIxBrx zszQBOY6f^%Y6f^%ssmD4y3%9?*74$Ua-M)WP+uK_I6{Bfapn9W)yEt?=8UbIF8JNV z&z2QqwNanltRE^_@24!RA+AVA8AkOg3o6uyD`tR)D`tR)D>@*RD@l_pnFKA(0s@9J zTO%~{aE6Z=5)FvgV_FSz`@jKmq#59m$Ds}~z8Xz@DL8+)+Xrq^Pas~Q50vSQQOU9T z`n`bPyemJJT=@y0ICMyG&Q^QiBH{#_@Zi`k+WV+4-uZUefHMXTUmrQYJV%LwEc42O zJh=?5-lj{LIE^xw&SsyMqC$OS!VK`pgc;zG2_29s6PwNY#DZ3lJS;PrSE!akW!LPC zT_c=&E7$cF>Z;y6s^Gn^O`H177ncn>{PU6L{P>}Yp&mBP&4x|q6Pu)Sjt`qus1KXW z01unY01umVKq{Ng@vv zU^xEhJg(81K8*QZKJ>yD8Rg-l))%tAvG$U9JQgSQ@_YNv3)LA2<0FAc+JTtv_bA`X zr!4fKmU8x=_!f+^UiJfh+7*f>>gibXBAjy?!Gq~5nOuCu6)B9ZBNCsmbpM&xK%*x0 z7Z_O_iHXBi?dsRxIduPN2eD=)J|wfhut=@S;b{S~JoG01A7)U7tJcNY41YLxJN9iN zlZ{Uw=EcJuEzzcuR(W2i+iq}{l};oICNZ%DLI-c6*T2r%zUSssPz1_c%M*VfQ3e zmWy~^LDx0O1~Vordo+}!lA4;T8p&1pczX)ss(g>>RQqRD|2IB-?4?`wJMW@v#!erV zw{hOSYFu<{O+Lg=+5Roni*z10>V*C5_|BSX6 z8FoR}ccuSw;?aw~D(_ETduj2JizmLj*L62MHvZlP4`*E=uTq}UdCsRoRH#pdm;oOB z#0>CMhz>}tkmtM=GNqufGH>e4yqQy`=FObCf8NYlGq8tCXHTnT>NSzP*z&xB(%SO8 z>Ccc%Vz{5Q=z{5Qqkjgz1Lfm2YwW(cg+A)~4NMYbbbS>a@mZvBM%+(+qz@<>W2%*WzANyRFET`zxfEI3iV;D8Q@{78Q@{74oGF|-%O#* z#MU&kxnOGwpvI50&eY8n*hPBkHZCj9p1JC`f7$bdKYsMyhB0~lzQPB%*)Dc`L!6b) z*FKz8p+1~713a8H13aA70jZq*+T<(_ajeDOlhkzbsw44etl2wlbJ-Kq)3)r`bMe^Q zNB!mbkKZ`BvgN~t%?mEgmOZ&autzyL>Fm*=>Fn_YnC$TcnC!6wQrMH5W3nfc;H919 z3c)h~S!Om}4EVIh(}-TOFe`z(XZ;5+Pdjq_<|hYRe;o3M(ivHEbQp0|IzxOoszQA@ zY6f^XY6f^XssmCvI>clJX0&CAL}w(Az<{$ciJg$8R$dM*U5zL-hqW^4;)SS(C{{Mf zeglr!aqjiJWqS9YY16}s?JVTXh19s5o3uP|TW1$}dXT#{t17&EpG&@Y>EOWdqpa9T zCtp^2daBMYthBxl)cY7Uo$C z)}cPqs*46`MGVVhm9W))<`pI^=#pPYBrW9!F$ zdG*NS?wgNgu=j`wxmxb8~)0MgDsH$+vJ6pPf96{uLhC<%+mRpFD5j<=>uN zwCK;jfA)fnpWj@(OV*4oBt}a|op9)tKNaf3XfwdWXfwdWXdRHs=(#pi=$eVqX=h_& z{BeM~IupE$QYM`Zi3k2;``Niblz6w+$#~DqOx=5PBoSTFK6ycneQsx42M*?gcmTgZ zf3l}1a})7c0$+kGD+1tLN1!(w13Mf9B2Gk-=^?}0!V<3T6Ur4%lubBzu6zu0fUV3s z?{g8a0?!Kw?1GCWh1dUMr!RAYb#Dnw?omS%|M;74?k1qkWWFMo3C_kUm?wQ#(n#-u z;!SIuI(@(WW=@~B@4nNf??1J1>I~dZ%Vh!1CW1j-9?VK+f$|sB=nvFman5$7lj3lq zYb37EB87#`N`1a3hk=zWawF?Ou6-%a2D(|Qa|k)x$@TIaOX>;HA2+B2G&$SFO`}7c zb1i)X?E@D50-ZBQ{Q{lCKsn2EpXn*5b3iL+qunUFSe|nuIX31}IqE%8(=Uei5Lr(- z^g~ik2jy&J+GC8PQaRf>Em)s@%h{;(AmdC<&h|Ex)Y&h?;PI+qhGvQFinC+w?i)*qu^lJRiQ@=eYBrXh z>(_@n@=dqKIj?T&0d<$wzcG50lK*a4BK7~`FZAWkm=e(e6JKK~A(}FZ-IR`}B zqsfCfv&N2F$XS4PnENn`%?q(2R@@tEVp)jwVmWkoNQmXCyNVDCs=KNX>#gn%4Y5Az zt~SK_s=N9S3#q%qLad*^i8e+rM-Kr4VN!_)D*v@POl{pq-yQsU>A)tGuUn0ats=Lk*8>Q~nhS+Fz zw?4#nQ+GcKu{?EmOo;8S?v4$yJ=EQ%5ZhDTZ4R-$)ZLa4+gsh85MukNyOTm}jJi7| z#Kx+-(?V>Vy8Cg6jb{_6q-TcMM0NL*5Syg#&Iz%}>h8P{%U5?7gs{jaQ~Wf*}`>i*}c;TMvmO=I++O5(lgY0D# z#G|AI*{kr<>bzF(G-L1T?|^Dr#mWQ zko^%#kbb5|Hw>~rp+B-iJjbjD*#~ZrR~rnn5AiIWDn$(pvcICbb(o?51=+`tFzv4u zzaaZN#!cJL(D;JvQ>Y0#z(>^!vd=j)&mj-8FOj?1rAM1{**~+Jdyv{7g)hjy=2%#Z ztcf;7pc@6*H>f?&_!6XbF`v&qf*i9V`_z;m4?rkX-yY;SXll+dpa!uZM?PuBcY?eR z816gV2YCnua|ZGt?+?-$yn}oo%IQ3VhMFKBj0WR)*~4p)4^4frj657|%~l|Sd}p)7 zYGe!YT_8awf88ucqAH}yqfV~Q<)gU-d3QJEGqtrK&x0iRsA)mI2N<4yFm;gcg?IL- zWPdf3Y zn+x81#N19(NOIK@rrm4Xs~9ccEP<;!1$k*|n4>fW`F!*7rn(g53-EZS*sh`! zuZk4ZMzJwk4I5kL(~YCPOV;5tZdw>m2CMnJ6D%wd9*M%)Qf8RZoUqr5_0lvgN=@(NW^UZE(;E7U}J zg_0<*P!Z)73ZlG1J(O1{hw=*5P+p-J$}7}Dd4*CauTTl)6$+ueLLHP>D1-6}RZw1` z2+AweKzW4{D6dcf!w)INEI(kHJ_`Q#M}pS(idlUFEv z@(NW?UZLp8E7UxBg_0+)Q1Rpy3ZA?|y^~icck&9=PF|td$t%=4d4*CZuTbga6$+ia zLY3h=Tve|C+7@u&LZb*a?T~^d~z-%XB#;e zle3+i%gDKcoU6#WhMeojxt^RG$+?M~UyySvIk%H@CpmYMb1#r%;2EuKehxL7j(rb6 zGJ0d0(jOC)A()!%j7iBTOh@*>L}U!6AQRE9rh=M@3CA2vHRfWHQG)5k0)$p!N>PW& z#9~Y%jzkSLA$AL<4{ew@;JYWb7L$dek$Mv*2wO2VI0ch}GcX-E2f1B{DZnLA{;z=A ze=QXL8AwRN?8V$HAI0A25Ex;NRZG zo)pOYIg-Q)gI{pT1t4E?$#RgdxMU^B-@9Zr$k$!62IQMASqJiMms|+)4=%X~s=fbSqm8_H9%GQ9zYuU31d7G_gAG4#_x9mr} zKZHrp{7ExEs+r#pPya$c{VQs$69)g6OSXgjmrHhl{MIGo<0lN^+@+I5TQ0qZ=w2?p zj_6#MK8onxE`2o7eO-D3(fwR{Bhdp~`Z%Hox%BZw4{_`gWq{x%8bxm$~%aL?7bPMrXd9(eQo| z*0C-|mwgGk-RNY?_js`jqEmwo3%^J3dj`MP@%uA=pJDJvaYaA;@ZMr?{HEfE0Zo+QSC3y9zc&2V{hH@Y@f+68viMLw**}QWnZ+or2#5_+5=3 z^0FSn@0oje&EmivysqME@v3qEJLCRAy0=uE+YSHg4F8J_|FaDLt%mU4Q<8;s1u=|E%HvsNsLN;eVsyf0^NbuHk>O z;lIJ~j~o8W4gUtiztZq8H2h~8{^Je*(T4wE!#~IMXa98l*Dz0X4 zfjU}JOF%sf>O_Zn7}N$Q=Ix+1I@C3w+MSpef;!cqP6ZX0)Dg&Y1E}Mjunth`oUmn} zIvlDFRMLrA3hF3_ngwdBq#BXucu*%xir!%)sNpYKP9p@Q7f=B}AM!E$Gc1gJ$tMcV zCy4-`D*EwhVj!O>M)3W_NIpmG%?}V``CKuT7l`S+L>$OV#azBXl<`AEIj<7+yjm>c zbt25`MKfP4+IWNL;75w}yipv@o5U90EKcMt;!GYDXY)335pNgUd0bq}6XJTlR@}zd zi97kx;sJh)c$jYzPx9l$(|oIVg`Xf^xjpJ8Z6Zy5)e*8LXHows-;Xk+L^INQ1eyg>R-)V*UT~;%{&x-M1 zT5ffjlX2w$$xJ>#9y->K&cE8no@sewnAU2W52jn$n%Uj;T9)P3g{F$JCv@ zrgUcy%INHMnC|R#nC|Q~r8|2aQ+M{7(w#jhqq7HPboM$-clI(}YG=hL41}NhOTrtFBZG-3b8A?&)v{%=JCVD zUOa;CwndENtHpSp6qC^<=JSnWUw#t0-c!XabbtHv^U(!gDh}dTh(dmYDB?HaG}ODq ze10#w<3~gVe@q<8pAj|ud9jecE)L^wi6#8c;&A?7H5ez z@e`yx4=K(UM~iJ@i?|4}E){2r%f#8@Do|I8?c!(RT5&!8ZxXkOo5h`Q9}u^ThsE9E zNpX*OTKr19BJLNj!RI~ki1?FuTzn#aBR&SbMEXx0iR`6@&c=h7ef!Nu|)UDhUkueF6gVr_-)dNOp@Q~2}NkNNA? z8PHSD=6|-%;U7Yu{micDK4_!65FkJ#kJOZ;(F`P;x_98ai{fH@qqO=@v!v|@uc;sc-s0B zUHDhxHS1sEJ?k6sr+^Tj1T67sAXj`F2wEZ#vib%3Spx%utX%_xtz;x@Fzzl0+V1MhBz-;UE zz(LjpfrG7Wfgh3sI(pp)L731YOUu3hgok18qwJ=$Lvi= z%P;)nPC~~oWNfcd4(PeKE6_7w&O1QQUaWSV4PNoXH9Hsh07hZaHWG5 zu6EGEH4a+1&Or+=bkM?!9JFwQgBCvAK?@)0poNz@XyIiJTDaLk3om!j!YvM3c%_3D zZgtSY?G9SF!$Awj9kg&V#57uXje{0m=b(j;a?rv@J80nz4qAAlgBCu{K?@)6poO)H7w3Cx2%Big!od07;g9pZ zi`|pU?gko7;-y@i@4f849^-s}^__6O4;VP#hfoj?(l*E*ftQ9J+Bn}|yC_`)=li(f zYpY5@_FLE2(UF4KIB<}{j&c+vxO0~{-)8_e)5S=^`9254oE?&a^L@b$O2zrUglFkg zX*l0ky1@DV-UsLVI&gS8pCS*=_swo_zHg`EeE;Bs^L?+!IN$fZINv{`_B{P`5SuW* zIA8XWf%9d5b8)`dsY%EAG91*Cj`PKaPFFZz_Js%M3-F(b^TqB@D$bYv%NOU1J))Ec zOPnwF;CwB!#5T^iR|+21#rfu@;(U957o2ZjNP>@M66F25!1)fqJE!1$2c_YBhoshmKxy}f_@+Z?q26`@ zr9Ch!DDAs^Zip993BDVYmH=`)ptQi4fDivOp|k{vh4u^gAZ*KjhH`RTdjk@CFabUb z$SESHgq(Tgl#z1?IThqok#i_HwdB;3a~L^`$yq|q5#%(I6DFsLoCrB9$cd7(ikvob zV&tqQCqYgpIcv#TPtK3XIfk5L$=O8CW^%TWa{@Uhk#h<;r;+nxa?T{@C*+(%&Uxfq zK+aFexrm%g$hnl9%gMQtoU3m})o}ow7<(0%)Biv5u7qj54j?Wm0$xn(^@M4?i7>6V zxSUX!)e0r?x3tN{6hOICsWol71H@@bc>1^KK?)`NWBB@YAnqDw9Y`Latc0r{#+ z9s%+-muv+2hD(M)zU7ilE&~;&wF!)C2Cy;$VC8bO!4<%?wt$^c{I3K&W)CF@#aOo{B!xfVC7%+ST7=A1mz7Y)H1co06hHnPLj|aoI zfZ{Rx5b{ZEzxeA(rX=b-+W)GrA=cq^XAaz5a`?&N; zM2B4Z6r%gP^l3y7bm<=xJ=mqsBzmYz|Agq_E`1KsJG=CGMDOC#7Z5$trGHBFXqUc- z=scIcgy=n7`ck6za_P&7-p8e{Bzmk%8{MX2{kcGvo`)5N^MNeA0Lan{fh_$gkfqxo z(HEgIE(Wsn61E-xH?d36U0eoa>E%F{UI9735(CmzK$c#OZHMuI;0rzx9dQ8EBpS1< zr%(w%kBZF-Jt{UJl>YX{?@Ihg4DQ44ar|Du?``}(!tX2e?7i?Cgx@IqfY|(Akfl@> zo7(rf+al#1ll5i-( zH%6V9gl}B!Py~57R#FF4Xvhn+1wNZqLd1TK-r{CJrEi0KJ9?D6A&B=tynh8@yq`S* zMEncv5u9=VIE3;y>|K1E{SkW#BL5tO^LgMRUxt9b0$k+l5Yjh*i+l%y`Ujo|%;PwG zhCC6N#~GMj&%#W)03QYy1M^sc`EWI6y^8^~!Pj*FWpLgCz|CrWRhtCn@fhBhZv^J? zBzysTDlm`d@L|A3jsPxl7vLgC0~fg)aFKfg7r7U3kz;|290y$FB;X<^0~a|BxX68h zi`);m$XUQe9speAfxtx;2#Xg2$Wsd7&O9*`n8)3Cx!41sok{#qF$I{%Iea0&I1Ru< zE&%|iQ5?pXiUwdFBLMTX0P~pOE5#aM9yjqdXxInsXy#7y-_guvH;7N(WHUe5)66xc zn>i?>nd>m!%t0B=T!-mqt|{HjbxhsNHKm(5sPtyekHwg@iCx3D;ERW?_|oBItg)WL z?&m)Sm>HkL@Uz(q_$J|HegS~X7sBem#b~sb0IYmDR;#W+L%jwK^jdu3eghxGZ$zW~ z1pvsm@H~D88sD9KA{ychejgg#1DJ|G$cy=-_=@7!yqfzdFQA#f zh-UsOn)&b1%-=*ae+$k0T{QFe(9HjgX8r-1`Csv*zoD7`1I_$X|3WU` z01+pEh_ir*%LO7X2t-^6h`4@0#0?Ub7%XzcaNO-AhKgOqZotFsA@al|vAdW8T-+S7 zk2pw-2NG@qkZ}3pF!(kABNq`fM2py8B*bj71~E2?QZ)0z9nE}4GsoEbzhg8PRZNIO z*){k)=w`8y-6|T`ePRi_Uo^7E#ZvZ!Xl5@!!FyRm+1p|zdsnoxk3@`pEE4Q1kz`+s zb-Wkw{y}jJfUg?>d_4}p*UdanoB-hKi2%Ny3gGK$0KT4y@$@VJU(W^b^*oHBKLzl0 z8-TCdF;-p*;OmtDzFr03>vaIW{tUp^p9A=M6M(O`0{D6xfUkD}_hufGKF^;ZDC zJ_O+F!vMZM2H@-C0KPs6;Op_9v#_BIN zS;NuHi=YVsE40qR3BBXsgiet-q1~i;ghpu`@qaKp$S{@%vw6w(NSy3VVTIK-qNg_5 zD*^Dq+OO*kgOrgPSkr-T*H#q&L$(r)2ddH)G&jR;f1(>ekx_aFIe=wr_nnrhGp~La zONjm5=eEXH#5_D-+Y*UKw223!iahoV4TFzmwT)%-DywQr$Xs4oWkDSdYr)#N`v7H| z$n%J>JcY4wdBj_RdVkI~b~)J1gDSi<9&6)25HQOqK0Ue)9Qw~2k4(2-xv;FJuD+nW ztbx#2|9fmmYNL;~Wg1wd>9JMG!OB9T%0eAhkL@$%>1z@P`(!HAv3=wC813zcH#MnW zL~f5Ysx40R6soAE6&rh(6HUhmY*aQj|BslYbPZU#XOW{8U8GX1vptE9wktD*Wg&e2 zT&j%|YBPlu4)6%Z3ALHRLml7|j1y`zg|ND#%@o2op*B+pe4&n3h9C{BJC)`Ed zbrJ+g`oTEiNOcF}grn3Qj1!JlcQ8)4o4SK>!aQ}ii6BTa?Ph`?$-6BCL6UbcPPmu4 zJBc7j`_OY?oN$b~JB@%x(htT7$EmwB33w#^V4QG*x;uv;NYW3+2`8yL7$=;p?qHlS zU){kt;S_ZTQ*EeP*jW7$=;=4xl%>jm#9vI~XTCNZr9W;lb(-#tG-DI~XS{PAFgG(8bwPdaf+9n*zRg|OC(EDT7~v;L5#=h=(7m`SHW znqI=xx~HZKU;R#yrq{3!jzQj5{iF>-oIa3{7J^u4O->pYw38dKr@wlkFdqYlqm?#kM$iT~r6QPMNU%!;6O0J@ zS}KGsL3u)45T9JLKCVV4?E`wv4t@j8z)uH*fj{(=O8Jt;0gc0&rG3B@v>2HQ4BC2@ zv=7)7#tX}yU0}S(NTAIIuYqrAFfd2yQqo#rsv$-)7w8Mn!um}{LyR1z18p7}`jRvv zm}-xaYzSs!3!V_ovPA{?NRmLu9wSzCQ*l~YSMtSa@jVQj7FK^MTKChw5(9+DcDhPK&#OIW6&rIW=(TBqe0!PgxAa?!(d$ zOa&~<2Ika^3i7iJ*a!P0OLO@Oh(bCFDr%Q78p|(h@90dz(qJUqmdjTG!RF#)i_vlS z;VW5LE^qhbQylAr3B(}pKnZOj>cf}wc!(#k+{$tyt2@K3Q1piRSkROZOi{g>yXtED4BKwCPQ-@&P z<`6%gSZCt1DC%ZBGO{Mz+KHEP>>X0Ti6N{CBf%ipMsx!7^x4lE;(=JZ`JV^j%8_eI z&^qN6I;XrsD>OxUg`Oy{&=TbpIwGzF1;cy< z?mR5mm7?CU^Uh}i3bw;AVz-772`%a+9VlBgb75OBm;>sfoPLtAQ2`IZITQm!UUpCl7U2+K(t9RkO-TEHc18&zjDcy zAYr1=4ke3)Fi~ieWU&w?3T+Y=3#Exdo0cXEVWQBcrOCoxE-g(K=DM^rSqKw_c6@2F z5GD$3TAD0`i9(x}CJSMr(59uyLYOGDX=$<$CJJp@nk}s~6Tq!C!27HP%wipYTk8SbIts9g9|2BrG>~$~ z04cWt@QGsqo7l(!{^I5AIGB#w%v;&<{AjiXW}>$8ZR`YoJv$MHx1GeFU?=m}0R9p* zZB^n2e`T%{A|$OSQjz%xvdjt^rVMRbT2&n7(x*~5OdHza($wMZE`0`t!?d9tE=?Wo z?b6cJ;TV^erVe4+(2g%n9m2GsO-oaUFl}hl($pbL8`?BX9om9Q#kVaT+QGJ^Lz}iO z9on>Q>CmQaONTaXTROC9+tQ&;+m;S(`X;x=8?eyCU^sFhI~#R>4i;a|#Zt$4z>A&F zmI6E00qodDV8_k?c5FMaV>baic0aIVPl0-qT?&(~m!Y;V=L6Ukd^cdn@_`*Ym|YEv zgV&%YvC^Qsq9;{N0vHU=7ii8Dk?C8|B`z(EEY5RjX=D*b6=l&8Um972QAL}UMiwhv z`d-Sf%B6ov^r0?&Khd==ZHye_(E~EP;6R{<@&NIi0{gaeA>P%%6D zd(b_+f#7b31Il)xaeumTe;nNd?nZIe82&2_|050m8pEG}Tc_X78}H{$NIlC!P(!22 zY65~_KMz3-2pR>d{B|C>pDzbB091>lT0n77m3A2W2dD;zdJj~!L%nnlU%B`W-imGO zClIhy2DE|tC8(R^!vD^9Tdw3@mWG%ujL)cX+4Aj}6&UUD+pw73`!NT6^3t&$8 zR(7uRYPy=`4B@B2t8*sMw z5bKX8V_yL8BCtZ#3&%tZ#0OU}l#2z50N)+hmx(aSmyb`H zX2U4ofmmFbkI+N-PB1&aGmOiR#Qbm+Y`X7`dC?v~w(P@C;bZved;-4!DYxNZf&2MX z{t$37@8g4+50J}ed=79e2Ls147r?Y)0MkkUOe+I0?NBt9P5-wW%W+*d76kopjRgBh3f(^xd++gM~+YGdII=ywliNAsmnBEnD} zBJ51Q9CnXavWxgCwjJL?TnhuZ*TXL5ZM>7+$=9<7_))NTxdET69?PEQo3VCrJZxK@ z2wdk$>;rxp`;?y!9Oqd$BIPH5hMfnj=J{w2+t64pLKC;RR=KDA{bL$%ug3b@C(F|e4ALt?-xz{A+dtL z51{e~q7@*iHh`p710)p(NNNp0QfmQ{`Vl}09UpuP5=M^ diff --git a/src/main/resources/jasper/trans_flow_new20161202.jasper b/src/main/resources/jasper/trans_flow_new20161202.jasper deleted file mode 100644 index cbb4e4e8acab2f0c0f484ec58935baa3e8f69ac0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76011 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 diff --git a/src/main/resources/jasper/trans_flow_new20170302.jasper b/src/main/resources/jasper/trans_flow_new20170302.jasper deleted file mode 100644 index aeccc6c99eed0e7dddea5a140fbcaa3123db6055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 78865 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≦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'm happy to let you know that your RoyalPay Cross-border Payment account has been set up.
很高兴通知您,贵司RoyalPay跨境全支付已经开通