fix 优化获取文件接口

master
luoyang 5 years ago
parent bbcdf0f0ac
commit 2d3e1709a1

@ -14,8 +14,6 @@ public interface ClientComplianceApply {
JSONObject complianceAuthFile(JSONObject client);
JSONObject kycAuthFile(JSONObject client);
void passComplianceFile(JSONObject manager,int clientId,JSONObject passInfo);
void passKycFile(JSONObject manager,int clientId,JSONObject passInfo);

@ -9,6 +9,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapp
import au.com.royalpay.payment.manage.mappers.system.ClientFilesMapper;
import au.com.royalpay.payment.manage.mappers.system.ClientMapper;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.signin.core.SignInAccountService;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import au.com.royalpay.payment.tools.permission.enums.ManagerRole;
import au.com.royalpay.payment.tools.utils.PageListUtils;
@ -37,6 +38,8 @@ public class ClientComplianceApplyImpl implements ClientComplianceApply
private ClientManager clientManager;
@Resource
private ClientMapper clientMapper;
@Resource
private SignInAccountService signInAccountService;
@Override
public JSONObject listClientComplianceApply(JSONObject manager, ClientComplianceQuery applyQuery) {
@ -79,36 +82,6 @@ public class ClientComplianceApplyImpl implements ClientComplianceApply
};
@Override
public JSONObject kycAuthFile(JSONObject client) {
String[] fileKeys = {"client_bank_file", "kyc_utility_bill_file", "client_id_file"};
if (client == null) {
throw new InvalidShortIdException();
}
List<JSONObject> clientFiles = clientFilesMapper.findAllClientFile(client.getIntValue("client_id"));
JSONObject fileJson = new JSONObject();
if (clientFiles != null && clientFiles.size() > 0) {
for (String fileKey : fileKeys) {
List<JSONObject> 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("status", json.getString("status"));
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;
};
@Override
public void passComplianceFile(JSONObject manager, int clientId, JSONObject passInfo) {
JSONObject complianceDetail = clientComplianceCompanyMapper.findFileByClientId(clientId);

@ -1,5 +1,6 @@
package au.com.royalpay.payment.manage.complianceAudit.web;
import au.com.royalpay.payment.core.exceptions.InvalidShortIdException;
import au.com.royalpay.payment.manage.complianceAudit.bean.ClientComplianceQuery;
import au.com.royalpay.payment.manage.complianceAudit.core.ClientComplianceApply;
import au.com.royalpay.payment.manage.mappers.system.ClientMapper;
@ -57,14 +58,17 @@ public class ComplianceAuditController
@RequireManager(role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.OPERATOR, ManagerRole.SERVANT})
public JSONObject searchCompliances(@PathVariable String clientMoniker) {
JSONObject client = clientMapper.findClientByMoniker(clientMoniker);
return clientManager.getComplianceFilesForBD(client);
return clientManager.getComplianceFilesForClient(client);
}
@RequestMapping(value = "/kyc/clientViewFiles/{clientMoniker}",method = RequestMethod.GET)
@RequestMapping(value = "/kyc/clientViewFiles/{clientMoniker}", method = RequestMethod.GET)
@RequireManager(role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.OPERATOR, ManagerRole.SERVANT})
public JSONObject searchKycFiles(@PathVariable String clientMoniker) {
public JSONObject searchKycFiles(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) {
JSONObject client = clientMapper.findClientByMoniker(clientMoniker);
return clientManager.getKycFilesForBD(client);
if (client == null) {
throw new InvalidShortIdException();
}
return clientManager.getKycFilesForBD(client, manager, "operator");
}
}

@ -212,7 +212,7 @@ public class KycServiceImpl implements KycService {
if (kycInfo == null || kycInfo.getIntValue("status") != 9) {
throw new BadRequestException("This Partner is not application submitted");
}
return clientManager.getKycFilesForBD(client);
return clientManager.getKycFilesForBD(client, manager, "client");
}
@Override

@ -1,8 +1,12 @@
package au.com.royalpay.payment.manage.kyc.web;
import au.com.royalpay.payment.manage.kyc.core.KycService;
import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapper;
import au.com.royalpay.payment.manage.merchants.beans.ClientKycFilesInfo;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
import au.com.royalpay.payment.manage.permission.manager.PartnerMapping;
import au.com.royalpay.payment.tools.CommonConsts;
import au.com.royalpay.payment.tools.exceptions.BadRequestException;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;
@ -13,10 +17,24 @@ import javax.annotation.Resource;
public class KycController {
@Resource
private KycService kycService;
@Resource
private ClientManager clientManager;
@Resource
private ClientComplianceCompanyMapper clientComplianceCompanyMapper;
@PartnerMapping(value = "/notifyBd", method = RequestMethod.PUT)
@ResponseBody
public void clientKycBdIntervention(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account) {
kycService.kycNotifyBd(account, "web");
}
@PartnerMapping(value = "/update/wait_kyc_file", method = RequestMethod.PUT)
@ResponseBody
public void updateWaitKycFile(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody ClientKycFilesInfo filesInfo) {
JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(account.getIntValue("client_id"));
if (kycFilesAuth != null) {
throw new BadRequestException("已通过审核,暂不能提交和修改");
}
clientManager.uploadKycFilesForWaitCompliance(account, account.getString("client_moniker"), filesInfo);
}
}

@ -6,7 +6,6 @@ import cn.yixblog.support.mybatis.autosql.annotations.AutoSql;
import cn.yixblog.support.mybatis.autosql.annotations.SqlType;
import com.alibaba.fastjson.JSONObject;
import org.apache.ibatis.annotations.Param;
import org.springframework.core.annotation.Order;
import java.util.List;
@ -38,6 +37,10 @@ public interface ClientFilesMapper {
List<JSONObject> findAllClientFile(@Param("client_id") int clientId);
List<JSONObject> findKycClientFileByClient(@Param("client_id") int clientId);
List<JSONObject> findKycClientFileByAudit(@Param("client_id") int clientId);
List<JSONObject> findRepetitiveFiles(@Param("client_id") int clientId,@Param("file_name") String fileType);
@AutoSql(type = SqlType.SELECT)

@ -503,9 +503,9 @@ public interface ClientManager {
JSONObject getClientInfoByAggree(JSONObject account);
JSONObject getComplianceFilesForBD(JSONObject account);
JSONObject getComplianceFilesForClient(JSONObject account);
JSONObject getKycFilesForBD(JSONObject client);
JSONObject getKycFilesForBD(JSONObject client, JSONObject manager, String sourceType);
/**
*

@ -2182,7 +2182,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
if (client == null) {
throw new InvalidShortIdException();
}
JSONObject file = signInAccountService.checkKycFileStatus(client);
JSONObject file = signInAccountService.checkKycFileStatus(client, account, "client");
JSONObject compliance = clientComplianceCompanyMapper.findKycFileByClientId(account.getIntValue("client_id"));
file.put("file_company", compliance);
return file;
@ -2276,7 +2276,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
}
@Override
public JSONObject getComplianceFilesForBD(JSONObject account) {
public JSONObject getComplianceFilesForClient(JSONObject account) {
JSONObject client = getClientInfo(account.getIntValue("client_id"));
if (client == null) {
throw new InvalidShortIdException();
@ -2289,11 +2289,9 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
}
@Override
public JSONObject getKycFilesForBD(JSONObject client) {
if (client == null) {
throw new InvalidShortIdException();
}
JSONObject file = clientComplianceApply.kycAuthFile(client);
public JSONObject getKycFilesForBD(JSONObject client, JSONObject manager, String sourceType) {
JSONObject file = new JSONObject();
file.put("file", signInAccountService.checkKycFileStatus(client, manager, sourceType));
file.put("file_company", clientComplianceCompanyMapper.findKycFileByClientId(client.getIntValue("client_id")));
file.put("client", client);
return file;
@ -3616,7 +3614,6 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
@Transactional
public void commitAuthFilesToCompliance(String clientMoniker, JSONObject account, String source) {
JSONObject client = getClientInfoByMoniker(clientMoniker);
String clientPayType = "";
String companyPhoto = "";
String storePhoto = "";
String webSite = "";

@ -4,7 +4,6 @@ import au.com.royalpay.payment.core.exceptions.ParamInvalidException;
import au.com.royalpay.payment.manage.kyc.core.KycService;
import au.com.royalpay.payment.manage.mappers.system.ClientComplianceCompanyMapper;
import au.com.royalpay.payment.manage.merchants.beans.ClientAuthFilesInfo;
import au.com.royalpay.payment.manage.merchants.beans.ClientKycFilesInfo;
import au.com.royalpay.payment.manage.merchants.beans.ClientRegisterInfo;
import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean;
import au.com.royalpay.payment.manage.merchants.core.ClientManager;
@ -581,19 +580,6 @@ public class PartnerViewController {
}
}
@PartnerMapping(value = "/update/wait_kyc_file", method = RequestMethod.PUT)
@ResponseBody
public void updateWaitKycFile(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody ClientKycFilesInfo filesInfo) {
JSONObject KycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(account.getIntValue("client_id"));
if (KycFilesAuth == null) {
JSONObject manager = new JSONObject();
manager.put("display_name","client");
clientManager.uploadKycFilesForWaitCompliance(manager, account.getString("client_moniker"), filesInfo);
}else {
throw new BadRequestException("已通过审核,暂不能提交和修改");
}
}
@PartnerMapping(value = "/update/wait_compliance_file", method = RequestMethod.PUT)
@ResponseBody
public void updateWaitComplianceFile(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @RequestBody ClientAuthFilesInfo filesInfo) {

@ -3,7 +3,6 @@ package au.com.royalpay.payment.manage.signin.core;
import au.com.royalpay.payment.manage.signin.beans.ChangePwdBean;
import au.com.royalpay.payment.manage.signin.beans.LoginInfo;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.servlet.ModelAndView;
/**
* Created by yixian on 2016-06-29.
@ -69,6 +68,6 @@ public interface SignInAccountService {
JSONObject checkAuthFileStatus(JSONObject client);
JSONObject checkKycFileStatus(JSONObject client);
JSONObject checkKycFileStatus(JSONObject client,JSONObject account, String sourceType);
}

@ -44,7 +44,10 @@ import org.thymeleaf.spring5.SpringTemplateEngine;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@ -744,71 +747,39 @@ public class SignInAccountServiceImpl implements SignInAccountService, Applicati
}
@Override
public JSONObject checkKycFileStatus(JSONObject client) {
public JSONObject checkKycFileStatus(JSONObject client, JSONObject account, String sourceType) {
JSONObject result = new JSONObject();
boolean lessKycFiles = true;
JSONObject KycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(client.getIntValue("client_id"));
if(KycFilesAuth != null){
JSONObject kycFilesAuth = clientComplianceCompanyMapper.findKycFileComplete(client.getIntValue("client_id"));
if(kycFilesAuth != null){
lessKycFiles = false;
}
result.put("client_less_file", lessKycFiles);
List<JSONObject> clientFiles = clientFilesMapper.findAllClientFile(client.getIntValue("client_id"));
boolean clientFilesIsLess = false;
for (int i = 0; i < KYC_FILE_KEYS.length; i++) {
String fileKey = KYC_FILE_KEYS[i];
if (clientFiles != null && clientFiles.size() > 0) {
List<JSONObject> clientFileUrl = clientFiles.stream()
.filter(fileJson -> (fileKey.equals(fileJson.getString("file_name")) && (fileJson.getIntValue("status") == 0 || fileJson.getIntValue("status") == 2|| fileJson.getIntValue("status") == 3)))
.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) {
JSONObject fileJson = new JSONObject();
fileJson.put("key", KYC_PUT_KEYS[i]);
fileJson.put("name", KYC_FILE_NAMES[i]);
fileJson.put("file_value", clientFileUrl);
result.put(fileKey,fileJson);
} else {
List<JSONObject> clientBackToFileUrl = clientFiles.stream()
.filter(fileJson -> (fileKey.equals(fileJson.getString("file_name")) && (fileJson.getIntValue("status") == 1)))
.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());
JSONObject fileJson = new JSONObject();
fileJson.put("key", KYC_PUT_KEYS[i]);
fileJson.put("name", KYC_FILE_NAMES[i]);
if (clientBackToFileUrl != null && clientBackToFileUrl.size() > 0) {
if ("client_agree_file".equals(fileKey)) {
List<JSONObject> agreeFile = new ArrayList<>();
agreeFile.add(clientBackToFileUrl.get(0));
fileJson.put("file_value", agreeFile);
}else {
fileJson.put("file_value", clientBackToFileUrl);
}
}
result.put(fileKey,fileJson);
}
if (lessKycFiles || account.containsKey("manager_id")) {
List<JSONObject> kycFiles = new ArrayList<>();
if ("client".equals(sourceType.toLowerCase())) {
kycFiles = clientFilesMapper.findKycClientFileByClient(client.getIntValue("client_id"));
}else {
for (int c = 0; c < KYC_FILE_KEYS.length; c++) {
String key = KYC_FILE_KEYS[c];
JSONObject fileJson = new JSONObject();
fileJson.put("key", KYC_PUT_KEYS[c]);
fileJson.put("name", KYC_FILE_NAMES[c]);
result.put(key,fileJson);
}
kycFiles = clientFilesMapper.findKycClientFileByAudit(client.getIntValue("client_id"));
}
for (JSONObject file : kycFiles) {
result.put(file.getString("file_name"), file.getString("file_value"));
}
List<JSONObject> clientFileUrl = kycFiles.stream()
.filter(json -> ("kyc_utility_bill_file".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("status", json.getString("status"));
params.put("file_value", json.getString("file_value"));
return params;
})
.collect(Collectors.toList());
if (clientFileUrl.size() > 0) {
result.put("kyc_utility_bill_file", clientFileUrl);
}
}
return result;
}

@ -43,6 +43,18 @@
and client_id = #{client_id}
order by last_update_date asc
</select>
<select id="findKycClientFileByClient" resultType="com.alibaba.fastjson.JSONObject">
select * from sys_files where is_valid = 1
and client_id = #{client_id}
and (status = 0 or status = 1 or status = 3) and file_name in ('client_bank_file','client_id_file','kyc_utility_bill_file')
order by last_update_date asc
</select>
<select id="findKycClientFileByAudit" resultType="com.alibaba.fastjson.JSONObject">
select * from sys_files where is_valid = 1
and client_id = #{client_id}
and (status = 1 or status = 2) and file_name in ('client_bank_file','client_id_file','kyc_utility_bill_file')
order by last_update_date asc
</select>
<update id="confirmAgreeFile">
update sys_files
set state = 2

@ -254,11 +254,11 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
})
};
$scope.clientComplianceViewCommit = function () {
if (!$scope.file.client_bank_file && !$scope.file.file_company.bd_handle) {
if (!$scope.file.file.client_bank_file && !$scope.file.file_company.bd_handle) {
commonDialog.alert({title: 'Error', content: '请提交* ASIC File', type: 'error'});
return;
}
if (!$scope.file.client_id_file && !$scope.file.file_company.bd_handle) {
if (!$scope.file.file.client_id_file && !$scope.file.file_company.bd_handle) {
commonDialog.alert({title: 'Error', content: '请提交ID护照或驾照信息', type: 'error'});
return;
}
@ -267,7 +267,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
return;
}
if ($scope.file.id_type == "passport" && !$scope.file.file_company.bd_handle) {
if (!$scope.file.kyc_utility_bill_file) {
if (!$scope.file.file.kyc_utility_bill_file) {
commonDialog.alert({title: 'Error', content: '请提交Utility Bill FIles(水电煤账单)信息', type: 'error'});
return;
}

@ -127,7 +127,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
}
$scope.updateFile = function () {
$http.put('/client/partner_info/update/wait_kyc_file', $scope.file).then(function () {
$http.put('/sys/kyc/partner/update/wait_kyc_file', $scope.file).then(function () {
commonDialog.alert({
title: 'Success',
content: 'Upload Successful',
@ -157,11 +157,11 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
})
};
$scope.clientComplianceViewCommit = function () {
if (!$scope.file.client_bank_file.file_value) {
if (!$scope.file.client_bank_file) {
commonDialog.alert({title: 'Error', content: '请提交* ASIC File', type: 'error'});
return;
}
if (!$scope.file.client_id_file.file_value) {
if (!$scope.file.client_id_file) {
commonDialog.alert({title: 'Error', content: '请提交ID护照或驾照信息', type: 'error'});
return;
}
@ -170,7 +170,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
return;
}
if ($scope.file.id_type == "passport") {
if (!$scope.file.kyc_utility_bill_file.file_value) {
if (!$scope.file.kyc_utility_bill_file) {
commonDialog.alert({title: 'Error', content: '请提交Utility Bill FIles(水电煤账单)信息', type: 'error'});
return;
}
@ -185,7 +185,7 @@ define(['angular', 'static/commons/commons', 'uiBootstrap', 'uiRouter', 'ngBootS
content: 'Commit Successful',
type: 'success'
});
$state.reload();
$state.go('partner_dashboard');
}, function (resp) {
commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'});
})

@ -70,18 +70,10 @@
</button>
</div>
<uib-progressbar value="bankFileProgress.value" ng-if="bankFileProgress"></uib-progressbar>
<table>
<tbody>
<tr>
<a target="_blank" ng-href="{{file.client_bank_file[0].file_value}}">
<img ng-src="{{file.client_bank_file[0].file_value}}" class="col-sm-8"
onerror="this.src='/static/images/file_close.png'">
</a>
</tr>
</tbody>
</table>
<a target="_blank" ng-href="{{file.file.client_bank_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.file.client_bank_file}}"
class="col-sm-8"
onerror="this.src='/static/images/file_close.png'"></a>
</div>
<div class="col-sm-3">
<div class="form-control-static">
@ -123,16 +115,10 @@
</button>
</div>
<uib-progressbar value="idFileProgress.value" ng-if="idFileProgress"></uib-progressbar>
<table>
<tbody>
<tr>
<a target="_blank" ng-href="{{file.client_id_file[0].file_value}}">
<img ng-src="{{file.client_id_file[0].file_value}}" class="col-sm-8"
onerror="this.src='/static/images/file_close.png'">
</a>
</tr>
</tbody>
</table>
<a target="_blank" ng-href="{{file.file.client_id_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.file.client_id_file}}"
class="col-sm-8"
onerror="this.src='/static/images/file_close.png'"></a>
</div>
<div class="col-sm-3">
<div class="form-control-static">
@ -160,7 +146,7 @@
<uib-progressbar value="billFileProgress.value" ng-if="billFileProgress"></uib-progressbar>
<table>
<tbody>
<tr ng-repeat="file_src in file.kyc_utility_bill_file track by $index">
<tr ng-repeat="file_src in file.file.kyc_utility_bill_file track by $index">
<td ng-bind="$index+1+'.'" class="btn">1</td>
<td><a target="_blank" ng-href="{{file_src.file_value}}">
<img ng-src="{{file_src.file_value}}" class="col-sm-8"

@ -36,20 +36,10 @@
</button>
</div>
<uib-progressbar value="bankFileProgress.value" ng-if="bankFileProgress"></uib-progressbar>
<table>
<tbody>
<tr ng-repeat="file_src in file.client_bank_file.file_value track by $index">
<td ng-bind="$index+1+'.'" ALIGN="left" VALIGN="top" class="btn">1</td>
<td><a ng-if="bankIsImage" target="_blank" ng-href="{{file_src.file_value}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file_src.file_value}}"
class="col-sm-8"
onerror="this.src='/static/images/file_close.png'"></a>
</td>
</tr>
</tbody>
</table>
<a ng-if="bankIsImage" target="_blank" ng-href="{{file.client_bank_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.client_bank_file}}"
class="col-sm-8"
onerror="this.src='/static/images/file_close.png'"></a>
</div>
<div class="col-sm-3">
<div class="form-control-static">
@ -91,18 +81,10 @@
</button>
</div>
<uib-progressbar value="idFileProgress.value" ng-if="idFileProgress"></uib-progressbar>
<table>
<tbody>
<tr ng-repeat="file_src in file.client_id_file.file_value track by $index">
<td ng-bind="$index+1+'.'" class="btn">1</td>
<td><a ng-if="idIsImage" target="_blank" ng-href="{{file_src.file_value}}">
<img ng-src="{{file_src.file_value}}" class="col-sm-8"
onerror="this.src='/static/images/file_close.png'">
</a>
</td>
</tr>
</tbody>
</table>
<a ng-if="bankIsImage" target="_blank" ng-href="{{file.client_id_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.client_id_file}}"
class="col-sm-8"
onerror="this.src='/static/images/file_close.png'"></a>
</div>
<div class="col-sm-3">
<div class="form-control-static">
@ -130,7 +112,7 @@
<uib-progressbar value="billFileProgress.value" ng-if="billFileProgress"></uib-progressbar>
<table>
<tbody>
<tr ng-repeat="file_src in file.kyc_utility_bill_file.file_value track by $index">
<tr ng-repeat="file_src in file.kyc_utility_bill_file track by $index">
<td ng-bind="$index+1+'.'" class="btn">1</td>
<td><a ng-if="billIsImage" target="_blank" ng-href="{{file_src.file_value}}">
<img ng-src="{{file_src.file_value}}" class="col-sm-8"

@ -62,60 +62,41 @@
<div class="panel-body">
<div class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-4" style="text-align: center;">* bank statement
<span ng-if="file.client_bank_file[0].status == 0" class="small text-dark">(未提交)</span>
<span ng-if="file.client_bank_file[0].status == 1" class="small text-success">(已通过)</span>
<span ng-if="file.client_bank_file[0].status == 2" class="small text-danger">(待审核)</span>
<span ng-if="file.client_bank_file[0].status == 3" class="small text-danger">(已驳回)</span>
<label class="control-label col-sm-4" style="text-align: center;">bank statement
<span ng-if="file.file_company.status==0" class="small text-danger">(待审核)</span>
<span ng-if="file.file_company.status==1" class="small text-success">(已通过)</span>
<span ng-if="file.file_company.status==2" class="small text-danger">(已驳回)</span>
</label>
<div class="col-sm-6">
<table>
<tbody>
<tr ng-repeat="file_src in file.client_bank_file track by $index">
<td ng-bind="$index+1+'.'" ALIGN="left" VALIGN="top" class="btn">1</td>
<td><a target="_blank" ng-href="{{file_src.file_value}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file_src.file_value}}" class="col-sm-8" onerror="this.src='/static/images/file_close.png'">
</a>
</td>
</tr>
</tbody>
</table>
<a target="_blank" ng-href="{{file.file.client_bank_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.file.client_bank_file}}" class="col-sm-8" onerror="this.src='/static/images/file_close.png'">
</a>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" style="text-align: center;">* ID
<span ng-if="file.client_id_file[0].status == 0" class="small text-dark">(未提交)</span>
<span ng-if="file.client_id_file[0].status == 1" class="small text-success">(已通过)</span>
<span ng-if="file.client_id_file[0].status == 2" class="small text-danger">(待审核)</span>
<span ng-if="file.client_id_file[0].status == 3" class="small text-danger">(已驳回)</span>
<label class="control-label col-sm-4" style="text-align: center;">ID
<span ng-if="file.file_company.status==0" class="small text-danger">(待审核)</span>
<span ng-if="file.file_company.status==1" class="small text-success">(已通过)</span>
<span ng-if="file.file_company.status==2" class="small text-danger">(已驳回)</span>
</label>
<div class="col-sm-6">
<table>
<tbody>
<tr ng-repeat="file_src in file.client_id_file track by $index">
<td ng-bind="$index+1+'.'" class="btn">1</td>
<td><a target="_blank" ng-href="{{file_src.file_value}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file_src.file_value}}" class="col-sm-8" onerror="this.src='/static/images/file_close.png'">
</a>
</td>
</tr>
</tbody>
</table>
<a target="_blank" ng-href="{{file.file.client_id_file}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file.file.client_id_file}}" class="col-sm-8" onerror="this.src='/static/images/file_close.png'">
</a>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-4" style="text-align: center;">Utility Bill Files
<span ng-if="file.kyc_utility_bill_file[0].status == 0" class="small text-dark">(未提交)</span>
<span ng-if="file.kyc_utility_bill_file[0].status == 1" class="small text-success">(已通过)</span>
<span ng-if="file.kyc_utility_bill_file[0].status == 2" class="small text-danger">(待审核)</span>
<span ng-if="file.kyc_utility_bill_file[0].status == 3" class="small text-danger">(已驳回)</span>
<span ng-if="file.file_company.status==0" class="small text-danger">(待审核)</span>
<span ng-if="file.file_company.status==1" class="small text-success">(已通过)</span>
<span ng-if="file.file_company.status==2" class="small text-danger">(已驳回)</span>
</label>
<div class="col-sm-6">
<table>
<tbody>
<tr ng-repeat="file_src in file.kyc_utility_bill_file track by $index">
<tr ng-repeat="file_src in file.file.kyc_utility_bill_file track by $index">
<td ng-bind="$index+1+'.'" class="btn">1</td>
<td><a target="_blank" ng-href="{{file_src.file_value}}">
<img class="col-sm-6" style="border: 1px solid #ddd" ng-src="{{file_src.file_value}}" class="col-sm-8" onerror="this.src='/static/images/file_close.png'">
@ -126,8 +107,16 @@
</table>
</div>
</div>
<div class="form-group" ng-if="file.file_company.bd_handle">
<label class="control-label col-sm-4" style="text-align: center;">无法提供材料原因
<span ng-if="file.file_company.status==0" class="small text-danger">(待审核)</span>
<span ng-if="file.file_company.status==1" class="small text-success">(已通过)</span>
<span ng-if="file.file_company.status==2" class="small text-danger">(已驳回)</span>
</label>
<div class="col-sm-6">
{{file.file_company.bd_handle}}
</div>
</div>
</div>
</div>
</div>

@ -52,11 +52,6 @@
<li ui-sref-active="active" ng-show="partner.source==4">
<a ui-sref=".compliance_files">Compliance files</a>
</li>
<li ui-sref-active="active">
<a ui-sref=".kyc_files_perfect">KYC files</a>
</li>
</ul>
<div class="tab-content" ui-view>
<div ng-show="(partner.source == 4 && (partner.approve_result ==3 || partner.approve_result == 1) ) || partner.source != 4">

Loading…
Cancel
Save