diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 034423728..4a0514ac4 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -2561,9 +2561,7 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject result = new JSONObject(); boolean lessKycFiles = true; JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(client.getIntValue("client_id")); - if(kycFilesAuth != null - || !("PINE".equals(client.getString("client_moniker")) - || "LEOH".equals(client.getString("client_moniker")))){ + if(kycFilesAuth != null){ lessKycFiles = false; } result.put("help_confirm", messageSource.getMessage("client.auth.file.help_confirm", null, RequestEnvironment.getLocale())); @@ -2602,23 +2600,21 @@ public class RetailAppServiceImp implements RetailAppService { JSONObject complianceFilesNotice = new JSONObject(); JSONObject complianceFileStatus = signInAccountService.checkAuthFileStatus(client); - /*if(!complianceFileStatus.getBoolean("client_less_file")){ - return null; - }*/ JSONObject compliance = clientComplianceCompanyMapper.findFileByClientId(account.getIntValue("client_id")); complianceFilesNotice.put("auth_type",FilesAuthTypeEnum.COMPLIANCE.getAuthType()); complianceFilesNotice.put("type", messageSource.getMessage("client.auth.file.compliance.type", null, RequestEnvironment.getLocale())); - /*complianceFilesNotice.put("deadline","2020-01-31");*/ - /*complianceFilesNotice.put("root_url","111");*/ complianceFilesNotice.put("client_less_file",complianceFileStatus.getBoolean("client_less_file")); if(compliance != null){ complianceFilesNotice.put("client_refuse_reason",compliance.getString("description")); complianceFilesNotice.put("status",compliance.getString("status")); complianceFilesNotice.put( "status_type", FilesAuthStatusEnum.STATUS.getAuthStatus(compliance.getIntValue("status")) ); + }else if( !complianceFileStatus.getBoolean("client_less_file")){ + complianceFilesNotice.put( "status_type", FilesAuthStatusEnum.STATUS.getAuthStatus(1) ); }else{ complianceFilesNotice.put( "status_type", FilesAuthStatusEnum.STATUS.getAuthStatus(-1) ); } + complianceFilesNotice.put("status_type_description", messageSource.getMessage("client.auth.file.status."+ complianceFilesNotice.getString( "status_type").toLowerCase(), null, RequestEnvironment.getLocale())); return complianceFilesNotice; } @@ -2634,8 +2630,6 @@ public class RetailAppServiceImp implements RetailAppService { kycFilesNotice.put("auth_type",FilesAuthTypeEnum.KYC.getAuthType()); kycFilesNotice.put("type", messageSource.getMessage("client.auth.file.kyc.type", null, RequestEnvironment.getLocale())); - /* kycFilesNotice.put("deadline", "2020-01-31");*/ - /* kycFilesNotice.put("root_url","111");*/ kycFilesNotice.put("client_less_file",kycFileStatus.getBoolean("client_less_file")); if(compliance != null){ kycFilesNotice.put("client_refuse_reason",compliance.getString("description")); @@ -2644,6 +2638,7 @@ public class RetailAppServiceImp implements RetailAppService { }else{ kycFilesNotice.put( "status_type", FilesAuthStatusEnum.STATUS.getAuthStatus(-1) ); } + kycFilesNotice.put("status_type_description", messageSource.getMessage("client.auth.file.status."+ kycFilesNotice.getString( "status_type").toLowerCase(), null, RequestEnvironment.getLocale())); return kycFilesNotice; } @@ -2964,7 +2959,7 @@ public class RetailAppServiceImp implements RetailAppService { res.put("base_info_lack", true); } clientLegalInfo = sysClientLegalPersonMapper.findRepresentativeInfo(res.getIntValue("client_id")); - if (StringUtils.isEmpty(clientLegalInfo.getString("representative_person")) || StringUtils.isEmpty(clientLegalInfo.getString("job_title")) + if (clientLegalInfo == null||StringUtils.isEmpty(clientLegalInfo.getString("representative_person")) || StringUtils.isEmpty(clientLegalInfo.getString("job_title")) || StringUtils.isEmpty(clientLegalInfo.getString("phone")) || StringUtils.isEmpty(clientLegalInfo.getString("email")) || StringUtils.isEmpty(clientLegalInfo.getString("address")) diff --git a/src/main/java/au/com/royalpay/payment/manage/kyc/core/impls/KycServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/kyc/core/impls/KycServiceImpl.java index 14c39c7cf..6a4925cb5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/kyc/core/impls/KycServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/kyc/core/impls/KycServiceImpl.java @@ -226,6 +226,9 @@ public class KycServiceImpl implements KycService { if (clientAllAuthFiles == null || clientAllAuthFiles.size() == 0) { throw new BadRequestException("Please check the information is uploaded completely"); } + if( !"passport".equals(account.getString("id_type")) && !"driver_license".equals(account.getString("id_type"))){ + throw new BadRequestException("Please check the Id Type is selected"); + } String[] fileKeys = {"client_company_file", "client_id_file"}; String[] fileNames = {"ASIC File", "ID"}; if(StringUtils.equalsIgnoreCase("passport",account.getString("id_type")) ){ diff --git a/src/main/java/au/com/royalpay/payment/manage/kyc/enums/FilesAuthStatusEnum.java b/src/main/java/au/com/royalpay/payment/manage/kyc/enums/FilesAuthStatusEnum.java index 708dc3b9e..17da2bfb2 100644 --- a/src/main/java/au/com/royalpay/payment/manage/kyc/enums/FilesAuthStatusEnum.java +++ b/src/main/java/au/com/royalpay/payment/manage/kyc/enums/FilesAuthStatusEnum.java @@ -22,13 +22,12 @@ package au.com.royalpay.payment.manage.kyc.enums; public String getAuthStatus(int status) { switch (status) { case 0: + case 9: return "WAIT_AUTH"; case 1: return "PASSED"; case 2: return "REFUSED"; - case 9: - return "BD_HELP"; case -1: return "NOT_SUBMITTED"; default: diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.java index 72a00bb45..751499b2e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.java @@ -43,6 +43,8 @@ public interface ClientFilesMapper { List findRepetitiveFiles(@Param("client_id") int clientId,@Param("file_name") String fileType); + List findRepetitiveFilesForDelete(@Param("client_id") int clientId,@Param("file_name") String fileType); + @AutoSql(type = SqlType.SELECT) JSONObject findFileById(@Param("file_id") String file_id); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientAuthFilesInfo.java b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientAuthFilesInfo.java index 64d6e6787..654900d18 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientAuthFilesInfo.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/beans/ClientAuthFilesInfo.java @@ -19,6 +19,8 @@ public class ClientAuthFilesInfo { private String file_apply_info; + private String utility_bill_info; + private int authStatus=0; public JSONObject toJson(){ @@ -73,6 +75,14 @@ public class ClientAuthFilesInfo { this.file_id_info = file_id_info; } + public String getUtility_bill_info() { + return utility_bill_info; + } + + public void setUtility_bill_info(String utility_bill_info) { + this.utility_bill_info = utility_bill_info; + } + @Override public String toString() { return "ClientAuthFilesInfo{" + @@ -81,6 +91,7 @@ public class ClientAuthFilesInfo { ", file_id_info='" + file_id_info + '\'' + ", file_agreement_info='" + file_agreement_info + '\'' + ", file_apply_info='" + file_apply_info + '\'' + + ", utility_bill_info='" + utility_bill_info + '\'' + ", authStatus=" + authStatus + '}'; } 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 dd65e8846..6c15d021e 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 @@ -519,6 +519,8 @@ public interface ClientManager { boolean isPartnerKycfilesComplete(String clientMoniker); + JSONObject isLessFiles(JSONObject partner); + /** * 保存/修改增值服务配置 * 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 59daf634f..a47edf539 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 @@ -918,17 +918,31 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } clientMapper.update(info); if (StringUtils.isNotBlank(info.getString("representative_person"))) { - JSONObject legal = new JSONObject(); - legal.put("client_id", client.getIntValue("client_id")); - legal.put("representative_person", info.getString("representative_person")); - legal.put("job_title", info.getString("representative_job_title")); - legal.put("phone", info.getString("representative_phone")); - legal.put("email", info.getString("representative_email")); - legal.put("address", info.getString("registered_address")); - legal.put("suburb", info.getString("registered_suburb")); - legal.put("state", info.getString("registered_state")); - legal.put("postcode", info.getString("registered_postcode")); - sysClientLegalPersonMapper.update(legal); + JSONObject legalInfo = sysClientLegalPersonMapper.findRepresentativeInfo(clientId); + if(legalInfo != null){ + legalInfo.put("client_id", client.getIntValue("client_id")); + legalInfo.put("representative_person", info.getString("representative_person")); + legalInfo.put("job_title", info.getString("representative_job_title")); + legalInfo.put("phone", info.getString("representative_phone")); + legalInfo.put("email", info.getString("representative_email")); + legalInfo.put("address", info.getString("registered_address")); + legalInfo.put("suburb", info.getString("registered_suburb")); + legalInfo.put("state", info.getString("registered_state")); + legalInfo.put("postcode", info.getString("registered_postcode")); + sysClientLegalPersonMapper.update(legalInfo); + }else{ + JSONObject legal = new JSONObject(); + legal.put("client_id", client.getIntValue("client_id")); + legal.put("representative_person", info.getString("representative_person")); + legal.put("job_title", info.getString("representative_job_title")); + legal.put("phone", info.getString("representative_phone")); + legal.put("email", info.getString("representative_email")); + legal.put("address", info.getString("registered_address")); + legal.put("suburb", info.getString("registered_suburb")); + legal.put("state", info.getString("registered_state")); + legal.put("postcode", info.getString("registered_postcode")); + sysClientLegalPersonMapper.save(legal); + } } saveOrUpdateMailList(info, client); clientInfoCacheSupport.clearClientCache(clientId); @@ -1105,6 +1119,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientModifySupport.processClientModify(auditModify); sendCommissionWechatMessage(client);// wxMessage if (pass == 1) { + createKycAuthStatus(manager,client); clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "skip_clearing", false)); if (client.getIntValue("source") == 4) { List accounts = clientAccountMapper.listAdminAccounts(client.getIntValue("client_id")); @@ -1126,6 +1141,18 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientInfoCacheSupport.clearClientCache(client.getIntValue("client_id")); } + public void createKycAuthStatus(JSONObject manager,JSONObject client){ + JSONObject fileComp = new JSONObject(); + fileComp.put("client_id", client.getIntValue("client_id")); + fileComp.put("submit_time", new Date()); + fileComp.put("status", 1); + fileComp.put("source", 2); + fileComp.put("commit_by_id", manager.getString("display_name")); + fileComp.put("type", 2); + fileComp.put("is_valid", 1); + clientComplianceCompanyMapper.save(fileComp); + } + @Override public void auditClientGreenChannel(JSONObject manager, String clientMoniker) { JSONObject client = getClientInfoByMoniker(clientMoniker); @@ -3404,6 +3431,25 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid for (JSONObject file : clientFiles) { fileJson.put(file.getString("file_name"), file.getString("file_value")); } + String[] fileKeys = {"kyc_utility_bill_file"}; + if (clientFiles.size() > 0) { + for (String fileKey : fileKeys) { + List clientFileUrl = clientFiles.stream() + .filter(json -> (fileKey.equals(json.getString("file_name")))) + .sorted((log1, log2) -> log2.getDate("last_update_date").compareTo(log1.getDate("last_update_date"))) + .map(json -> { + JSONObject params = new JSONObject(); + params.put("file_id", json.getString("file_id")); + params.put("file_value", json.getString("file_value")); + return params; + }) + .collect(Collectors.toList()); + if (clientFileUrl != null && clientFileUrl.size() > 0) { + fileJson.put(fileKey, clientFileUrl); + } + } + } + return fileJson; } @@ -3423,7 +3469,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Override public JSONObject getAllAuthFiles(JSONObject manager, String clientMoniker) { JSONObject client = getClientInfoByMoniker(clientMoniker); - String[] fileKeys = {"client_bank_file", "client_company_file", "client_id_file", "client_agree_file", "client_apply_file"}; + String[] fileKeys = {"client_bank_file", "client_company_file", "client_id_file", "client_agree_file", "client_apply_file","kyc_utility_bill_file"}; if (client == null) { throw new InvalidShortIdException(); } @@ -3541,9 +3587,10 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid try { updateSysClientFiles(manager, clientId, CLIENT_AGREE_FILE, filesInfo.getFile_agreement_info()); updateSysClientFiles(manager, clientId, CLIENT_APPLY_FILE, filesInfo.getFile_apply_info()); - updateSysClientFiles(manager, clientId, CLIENT_BANK_FILE, filesInfo.getFile_bank_info()); - updateSysClientFiles(manager, clientId, CLIENT_COMPANY_FILE, filesInfo.getFile_company_info()); - updateSysClientFiles(manager, clientId, CLIENT_ID_FILE, filesInfo.getFile_id_info()); + updateSysClientFilesWithoutRepeat(manager, clientId, CLIENT_BANK_FILE, filesInfo.getFile_bank_info()); + updateSysClientFilesWithoutRepeat(manager, clientId, CLIENT_COMPANY_FILE, filesInfo.getFile_company_info()); + updateSysClientFilesWithoutRepeat(manager, clientId, CLIENT_ID_FILE, filesInfo.getFile_id_info()); + updateSysClientFiles(manager, clientId, KYC_UTILITY_BILL_FILE, filesInfo.getUtility_bill_info()); } catch (Exception e) { logger.error("上传合规文件失败", e); } @@ -3987,6 +4034,29 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } + public void updateSysClientFilesWithoutRepeat(JSONObject manager, int clientId, String fileType, String fileValue) { + List repetitiveFiles = clientFilesMapper.findRepetitiveFilesForDelete(clientId,fileType); + if (fileValue != null) { + JSONObject fileJson = new JSONObject(); + fileJson.put("client_id", clientId); + fileJson.put("last_update_date", new Date()); + fileJson.put("last_update_by", manager.getString("display_name")); + fileJson.put("file_name", fileType); + fileJson.put("file_value", fileValue); + fileJson.put("status", 1); + fileJson.put("is_valid", 1); + clientFilesMapper.save(fileJson); + logger.info(clientId + "的fileType文件上传成功"); + if(repetitiveFiles != null){ + for(JSONObject repetitiveFile : repetitiveFiles){ + clientFilesMapper.deleteByClientAndFileId(repetitiveFile.getString("file_id")); + } + } + } + + + } + public void updateSysClientFilesForWaitCompliance(JSONObject manager, int clientId, String fileType, String fileValue, List fileResult) { if (fileValue != null) { String[] values = fileValue.split(","); @@ -5659,6 +5729,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new BadRequestException("The Partner's Bank Account is not config!"); } JSONObject representativeInfo = sysClientLegalPersonMapper.findRepresentativeInfo(client.getIntValue("client_id")); + if (representativeInfo == null) { + throw new BadRequestException("The LegalPersonInfo is not config!Please upgrade the RoyalPay App version"); + } for (String str : representativeInfo.keySet()) { if (representativeInfo.getString(str) == null || !(representativeInfo.getString(str).length() > 0) || !(client.getString("contact_job") != null && client.getString("contact_job").length() > 0)) { throw new BadRequestException("The LegalPersonInfo is not config!Please upgrade the RoyalPay App version"); @@ -6273,6 +6346,20 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid }}; } + @Override + public JSONObject isLessFiles(JSONObject partner){ + JSONObject client = clientMapper.findClientByMoniker(partner.getString("client_moniker")); + if (client == null) { + throw new InvalidShortIdException(); + } + if(client.getIntValue("approve_result") == 1){ + boolean lessKycFiles = isPartnerKycfilesComplete(partner.getString("client_moniker")); + partner.put("lessKycFiles", lessKycFiles); + partner.put("lessComplianceFiles",signInAccountService.checkAuthFileStatus(partner.getJSONObject("client")).getBoolean("client_less_file") ); + } + return partner; + } + @Override public boolean isPartnerKycfilesComplete(String clientMoniker) { boolean lessKycFiles = true; diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 9861b78cd..356a8ec45 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -622,6 +622,12 @@ public class PartnerViewController { clientManager.deleteAuthFiles(fileId); } + @PartnerMapping(value = "/auth_file/{fileId}/deleteByAdmin", method = RequestMethod.PUT, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) + @ResponseBody + public void deleteAuthFilesByAdmin(@PathVariable String fileId, @ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account) { + clientManager.deleteAuthFilesByAdmin(fileId); + } + /** * 获取商户所有增值服务 * @param clientMoniker diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java index 9d693d12b..21d597852 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/core/impls/SignInAccountServiceImpl.java @@ -751,9 +751,7 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati JSONObject result = new JSONObject(); boolean lessKycFiles = true; JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(client.getIntValue("client_id")); - if(kycFilesAuth != null - || !("PINE".equals(client.getString("client_moniker")) - || "LEOH".equals(client.getString("client_moniker")))){ + if(kycFilesAuth != null){ lessKycFiles = false; } result.put("client_less_file", lessKycFiles); diff --git a/src/main/java/au/com/royalpay/payment/manage/signin/web/SignInController.java b/src/main/java/au/com/royalpay/payment/manage/signin/web/SignInController.java index b100a9380..4be5f282c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/signin/web/SignInController.java +++ b/src/main/java/au/com/royalpay/payment/manage/signin/web/SignInController.java @@ -186,9 +186,7 @@ public class SignInController { @PartnerMapping(value = "/current_partner", method = RequestMethod.GET) public JSONObject partnerLoginStatus(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject partner) { partner.put("has_incremental_setvice",clientManager.partnerIncrementalService(partner.getString("client_moniker")).getJSONArray("all_service").size()>0); - boolean lessKycFiles = ("PINE".equals(partner.getString("client_moniker")) || "LEOH".equals(partner.getString("client_moniker"))) && clientManager.isPartnerKycfilesComplete(partner.getString("client_moniker")); - partner.put("lessKycFiles", lessKycFiles); - partner.put("lessComplianceFiles",signInAccountService.checkAuthFileStatus(partner.getJSONObject("client")).getBoolean("client_less_file") ); + partner = clientManager.isLessFiles(partner); return partner; } diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.xml index 5ce894dbc..2fec0585a 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientFilesMapper.xml @@ -38,6 +38,17 @@ AND is_valid = 1 + + + + + + +

+ If client have already attached surcharge in their own system, ignore this choice.
+ It is recommended to notice customers about they will pay addition money as surcharge in the payment page.
+ 请选择上传ID的文件类型.
+ 上传护照文件需要您上传水电煤账单文件.
+ 上传驾照,水电煤账单文件可以不填. +

+ + + +
@@ -94,6 +115,51 @@
+
+ +
+
+ +
+ + + + + + + + +
1 + + + +
+
+
+
+
+

Example:请提供水电煤账单文件图片,如示例 + 水费.png +
电费.jpg +

+

+ 煤气.png +

+
+
+
+
+ - \ No newline at end of file + diff --git a/src/main/ui/static/payment/partner/templates/client_compliance_to_perfect.html b/src/main/ui/static/payment/partner/templates/client_compliance_to_perfect.html index 81ac7f635..0ea1fab61 100644 --- a/src/main/ui/static/payment/partner/templates/client_compliance_to_perfect.html +++ b/src/main/ui/static/payment/partner/templates/client_compliance_to_perfect.html @@ -17,12 +17,12 @@ }
-

商户合规文件补充 +

2019-10月KYC材料认证补充(1) ({{file.client_refuse_reason}})


-

前去补充KYC文件:点击前往

+

前去补充2020-01月KYC材料认证补充(2) :点击前往

diff --git a/src/main/ui/static/payment/partner/templates/compliance_files_advice.html b/src/main/ui/static/payment/partner/templates/compliance_files_advice.html index 30a1ebcdc..bfa4864ce 100644 --- a/src/main/ui/static/payment/partner/templates/compliance_files_advice.html +++ b/src/main/ui/static/payment/partner/templates/compliance_files_advice.html @@ -76,13 +76,13 @@ Refused ({{file.file_company.description}})

-

+

Pending examination and approval

-

+

Done

-

+

Not Submitted

@@ -98,7 +98,7 @@ Refused ({{kycFile.file_company.description}})

-

+

Pending examination and approval

@@ -136,13 +136,13 @@ 打回 ({{file.file_company.description}})

-

+

待审核

-

+

已完成

-

+

未提交

@@ -158,7 +158,7 @@ 打回 ({{kycFile.file_company.description}})

-

+

待审核

diff --git a/src/main/ui/static/payment/partner/templates/partner_auth_files.html b/src/main/ui/static/payment/partner/templates/partner_auth_files.html index 2d629f4d2..efcf40da3 100644 --- a/src/main/ui/static/payment/partner/templates/partner_auth_files.html +++ b/src/main/ui/static/payment/partner/templates/partner_auth_files.html @@ -209,6 +209,52 @@

+ +
+ +
+
+ + +
+ + + + + + + + +
1 + + + +
+
+
+
+
+

Example:请提供水电煤账单文件图片,如示例 + 水费.png +
电费.jpg +

+

+ 煤气.png +

+
+
+
+
diff --git a/src/main/ui/static/payment/partner/templates/partner_detail.html b/src/main/ui/static/payment/partner/templates/partner_detail.html index fae0946e3..c24de99b6 100644 --- a/src/main/ui/static/payment/partner/templates/partner_detail.html +++ b/src/main/ui/static/payment/partner/templates/partner_detail.html @@ -277,9 +277,9 @@
  • Compliance Files
  • -
  • +
  • Settlement