/// <summary> /// /// </summary> /// <param name="req"></param> /// <returns></returns> public async Task <ScpChainRsp> ScpChain(ScpChainReq req) { #region 参数验证 req.NotNull("贷款申请请求参数"); req.ScpChainLoanApp.NotNull("贷款信息"); req.ScpChainReqPersonInfo.NotNull("个人信息"); if (req.ScpChainReqPersonInfo.UserSubjectType == SubjectType.企业) { req.ScpChainReqCompanyInfo.NotNull("企业信息"); } req.ScpChainReqBankAccountInfo.NotNull("银行信息"); req.AdditionalInfo.NotNull("补充信息"); req.ExtendTradeId.NotNull("外部交易id"); #region loanApp var loanApp = req.ScpChainLoanApp; loanApp.LoanMaturityDaily.RegexValid("(^[1-9]$)|(^[1-2]\\d$)|(^30$)", "贷款期限天"); #endregion #region PersonInfo var personInfo = req.ScpChainReqPersonInfo; personInfo.UserSubjectType.EnumValueValid("用户主体类型"); personInfo.BankAccountNo.NotNull("银行卡号"); if (req.ScpChainReqPersonInfo.UserSubjectType == SubjectType.个人) { personInfo.UserRealName.NotNull("真实姓名"); personInfo.UserCardNum.RegexValid("(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)", "身份证号码"); personInfo.PersonAnnualIncome.RegexValid("^([1-9]\\d{0,9}|10{10}|0)(\\.\\d{1,4})?$", "年收入"); personInfo.PersonMobilePhone.RegexValid("^1[34578][0-9]{9}$", "手机号码"); personInfo.PersonResidenceAddr.NotNull("居住地址"); var redisenceAddr = personInfo.PersonResidenceAddr; redisenceAddr.Province.NotNull("省"); redisenceAddr.City.NotNull("市"); redisenceAddr.District.NotNull("区"); redisenceAddr.DetailedAddress.NotNull("街道"); personInfo.PersonMaritalStatus.EnumValueValid("婚姻状况"); //写个默认值,以后改掉 req.ComplianceInfo = new ComplianceInfo() { PersonComplianceInfo = new PersonComplianceDetail() { UserBorrowProperty = "自然人", PersonAnnualIncome = "100000", FinanceAllDeptAmt = "0.00", } }; } else if (req.ScpChainReqPersonInfo.UserSubjectType == SubjectType.企业) { personInfo.TrusteeName.NotNull("受托人姓名"); personInfo.TrusteeCardNum.RegexValid("(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)", "受托人身份证号码"); var trusteeAddr = personInfo.TrusteeResidenceAddr; trusteeAddr.NotNull("省"); trusteeAddr.NotNull("市"); trusteeAddr.NotNull("区"); trusteeAddr.NotNull("街道"); personInfo.TrusteeIsRep.EnumValueValid("是否为法人"); personInfo.TrusteeMobile.RegexValid("^1[34578][0-9]{9}$", "受托人手机号码"); personInfo.TrusteeJobTitle.NotNull("受托人现任职位"); req.ComplianceInfo = new ComplianceInfo() { CompanyComplianceDetail = new CompanyComplianceDetail() { CompanyTotalIncome = "1000000", FinanceAllDeptAmt = "0", UserBorrowProperty = "法人或其他组织" } }; } #endregion #region CompanyInfo if (req.ScpChainReqPersonInfo.UserSubjectType == SubjectType.企业) { var companyInfo = req.ScpChainReqCompanyInfo; companyInfo.CompanyBusinessLicenseNum.RegexValid("^[A-Za-z0-9]{0,32}$", "工商注册号码"); companyInfo.CompanyRegisteredCapital.RegexValid("^([1-9]\\d{0,9}|10{10}|0)(\\.\\d{1,2})?$", "注册资本"); companyInfo.CompanyLegalRepresentativeCardNumber.RegexValid("(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)", "法人身份证号"); //写个默认值,以后改掉 req.ComplianceInfo = new ComplianceInfo() { CompanyComplianceDetail = new CompanyComplianceDetail() { UserBorrowProperty = "法人或其他组织", CompanyTotalIncome = "1000000", FinanceAllDeptAmt = "0.00" } }; } #endregion #region BankAccountInfo foreach (var bankInfo in req.ScpChainReqBankAccountInfo) { bankInfo.BankType.EnumValueValid("收款账户类型"); bankInfo.BankBank.EnumValueValid("开户行"); bankInfo.BankOwnerType.EnumValueValid("账户持有人类型"); } #endregion #region 合规信息 #endregion #endregion var reqModel = DianrongHelper.BuildReqModel(req, configModel.ChannelId); var rst = await DianrongHelper.GetDianrongRsp <ScpChainRsp>(configModel.ScpChainUrl, reqModel); return(rst); }
public async Task <IActionResult> ScpChain([FromBody] ScpChainReq req) { var rst = await dianrongService.ScpChain(req); return(Ok(rst)); }