using System;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
namespace DingTalk.Api.Request
{
///
/// TOP API: dingtalk.oapi.finance.loan.notify.credit
///
public class OapiFinanceLoanNotifyCreditRequest : BaseDingTalkRequest
{
///
/// 授信额度(单位:分),授信成功必需
///
public Nullable Amount { get; set; }
///
/// 可用授信额度
///
public Nullable AvailableAmount { get; set; }
///
/// 授信金额变化值: 等于0(默认) 不变,大于0 增加,小于0 减少
///
public Nullable ChangeAmount { get; set; }
///
/// 授信完成时间
///
public string CompleteTime { get; set; }
///
/// 授信编号
///
public string CreditNo { get; set; }
///
/// 授信类型:null或0(默认) 授信额度无变化,1 授信额度有变化,变化值见changeAmount
///
public Nullable CreditType { get; set; }
///
/// 日利率(精确4位小数,百分之*),样例:0.0125
///
public string DailyInterestRate { get; set; }
///
/// 扩展信息
///
public string Extension { get; set; }
///
/// 身份证号
///
public string IdCardNo { get; set; }
///
/// 下一次申请日期
///
public string NextApplyDay { get; set; }
///
/// 渠道方名称
///
public string OpenChannelName { get; set; }
///
/// 渠道方产品码
///
public string OpenProductCode { get; set; }
///
/// 渠道方产品名称
///
public string OpenProductName { get; set; }
///
/// 渠道方产品类型
///
public string OpenProductType { get; set; }
///
/// 拒绝原因错误码,授信失败必需
///
public string RefuseCode { get; set; }
///
/// 拒绝原因,授信失败必需
///
public string RefuseReason { get; set; }
///
/// 授信结果:0 未提交,1 授信申请中,2 授信成功/审批通过,3 授信失败/审批拒绝
///
public Nullable Status { get; set; }
///
/// 授信提交/申请时间
///
public string SubmitTime { get; set; }
///
/// 手机号
///
public string UserMobile { get; set; }
///
/// 年利率(精确2位小数,百分之*),样例:5.45
///
public string YearInterestRate { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.finance.loan.notify.credit";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("amount", this.Amount);
parameters.Add("available_amount", this.AvailableAmount);
parameters.Add("change_amount", this.ChangeAmount);
parameters.Add("complete_time", this.CompleteTime);
parameters.Add("credit_no", this.CreditNo);
parameters.Add("credit_type", this.CreditType);
parameters.Add("daily_interest_rate", this.DailyInterestRate);
parameters.Add("extension", this.Extension);
parameters.Add("id_card_no", this.IdCardNo);
parameters.Add("next_apply_day", this.NextApplyDay);
parameters.Add("open_channel_name", this.OpenChannelName);
parameters.Add("open_product_code", this.OpenProductCode);
parameters.Add("open_product_name", this.OpenProductName);
parameters.Add("open_product_type", this.OpenProductType);
parameters.Add("refuse_code", this.RefuseCode);
parameters.Add("refuse_reason", this.RefuseReason);
parameters.Add("status", this.Status);
parameters.Add("submit_time", this.SubmitTime);
parameters.Add("user_mobile", this.UserMobile);
parameters.Add("year_interest_rate", this.YearInterestRate);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("amount", this.Amount);
RequestValidator.ValidateRequired("available_amount", this.AvailableAmount);
RequestValidator.ValidateRequired("change_amount", this.ChangeAmount);
RequestValidator.ValidateRequired("complete_time", this.CompleteTime);
RequestValidator.ValidateRequired("credit_no", this.CreditNo);
RequestValidator.ValidateRequired("credit_type", this.CreditType);
RequestValidator.ValidateRequired("daily_interest_rate", this.DailyInterestRate);
RequestValidator.ValidateRequired("id_card_no", this.IdCardNo);
RequestValidator.ValidateRequired("next_apply_day", this.NextApplyDay);
RequestValidator.ValidateRequired("open_channel_name", this.OpenChannelName);
RequestValidator.ValidateRequired("open_product_code", this.OpenProductCode);
RequestValidator.ValidateRequired("open_product_name", this.OpenProductName);
RequestValidator.ValidateRequired("open_product_type", this.OpenProductType);
RequestValidator.ValidateRequired("refuse_code", this.RefuseCode);
RequestValidator.ValidateRequired("refuse_reason", this.RefuseReason);
RequestValidator.ValidateRequired("status", this.Status);
RequestValidator.ValidateRequired("submit_time", this.SubmitTime);
RequestValidator.ValidateRequired("user_mobile", this.UserMobile);
RequestValidator.ValidateRequired("year_interest_rate", this.YearInterestRate);
}
#endregion
}
}