|
@@ -24,6 +24,42 @@ export class KycOpenService extends BaseService {
|
|
|
@Logger()
|
|
|
logger: ILogger;
|
|
|
|
|
|
+ async validGetCustomer(payload) {
|
|
|
+ if (_.isEmpty(payload.mchId)) {
|
|
|
+ throw new Error('商户编号【mchId】不能为空');
|
|
|
+ }
|
|
|
+ if (_.isEmpty(payload.userId)) {
|
|
|
+ throw new Error('商户平台用户ID【userId】不能为空');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async getCustomer(payload) {
|
|
|
+ try {
|
|
|
+ this.logger.info('获取客户信息', JSON.stringify(payload));
|
|
|
+ await this.validGetCustomer(payload);
|
|
|
+ const merchant = await this.payService.validMerchant(payload.mchId);
|
|
|
+ await this.payService.validSign(payload, merchant);
|
|
|
+ const kyc = await this.kycEntity.findOneBy({
|
|
|
+ mchId: payload.mchId,
|
|
|
+ userId: payload.userId,
|
|
|
+ code: 'SUN_CARD',
|
|
|
+ })
|
|
|
+ if (!kyc || !kyc.customerId) {
|
|
|
+ return {};
|
|
|
+ }
|
|
|
+ return {
|
|
|
+ mchId: kyc.mchId,
|
|
|
+ userId: kyc.mchId,
|
|
|
+ kycUserId: kyc.userId,
|
|
|
+ country: kyc.country,
|
|
|
+ level: kyc.level
|
|
|
+ }
|
|
|
+ } catch (err) {
|
|
|
+ this.logger.error('KYC高级认证提交失败', JSON.stringify(payload), err.message);
|
|
|
+ throw new CoolCommException(err.message);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async validPremiumParam(payload, files) {
|
|
|
if (_.isEmpty(payload.mchId)) {
|
|
|
throw new Error('商户编号【mchId】不能为空');
|
|
@@ -45,7 +81,7 @@ export class KycOpenService extends BaseService {
|
|
|
async createOpenPremium(payload, files) {
|
|
|
try {
|
|
|
this.logger.info('KYC高级认证', JSON.stringify(payload));
|
|
|
- if(!files) {
|
|
|
+ if (!files) {
|
|
|
throw new Error('参数错误,请提交正确参数');
|
|
|
}
|
|
|
const fileObj = {};
|
|
@@ -56,8 +92,8 @@ export class KycOpenService extends BaseService {
|
|
|
const merchant = await this.payService.validMerchant(payload.mchId);
|
|
|
await this.payService.validSign(payload, merchant);
|
|
|
const kyc = await this.kycEntity.findOneBy({ kycUserId: payload.kycUserId });
|
|
|
- if (!kyc.customerId || !kyc) {
|
|
|
- throw new CoolCommException('KYC user does not exist');
|
|
|
+ if (!kyc || !kyc.customerId) {
|
|
|
+ throw new CoolCommException('KYC用户不存在');
|
|
|
}
|
|
|
const data = await this.sunPayService.createPremium({
|
|
|
customerId: kyc.customerId,
|
|
@@ -103,7 +139,7 @@ export class KycOpenService extends BaseService {
|
|
|
async createOpenAdvanced(payload, files) {
|
|
|
try {
|
|
|
this.logger.info('KYC进阶认证', JSON.stringify(payload));
|
|
|
- if(!files) {
|
|
|
+ if (!files) {
|
|
|
throw new Error('参数错误,请提交正确参数');
|
|
|
}
|
|
|
const fileObj = {};
|
|
@@ -115,8 +151,8 @@ export class KycOpenService extends BaseService {
|
|
|
await this.payService.validSign(payload, merchant);
|
|
|
|
|
|
const kyc = await this.kycEntity.findOneBy({ kycUserId: payload.kycUserId });
|
|
|
- if (!kyc.customerId || !kyc) {
|
|
|
- throw new CoolCommException('KYC user does not exist');
|
|
|
+ if (!kyc || !kyc.customerId) {
|
|
|
+ throw new CoolCommException('KYC用户不存在');
|
|
|
}
|
|
|
const data = await this.sunPayService.createAdvanced({
|
|
|
customerId: kyc.customerId,
|