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.dingpay.bill.batchquery /// public class OapiDingpayBillBatchqueryRequest : BaseDingTalkRequest { /// /// 申请支付者userid /// public string ApplyPayOperatorUserid { get; set; } /// /// INCOME收入、EXPENSE支出 /// public string BillCategory { get; set; } /// /// 业务代码 /// public string BizCode { get; set; } /// /// 创单者userid /// public string CreateOperatorUserid { get; set; } /// /// 扩展属性 /// public string Extension { get; set; } /// /// 申请付款开始时间 /// public Nullable GmtApplyPayBeginTime { get; set; } /// /// 申请付款截止时间 /// public Nullable GmtApplyPayEndTime { get; set; } /// /// 创单开始时间 /// public Nullable GmtCreateBeginTime { get; set; } /// /// 创单截止时间 /// public Nullable GmtCreateEndTime { get; set; } /// /// 完成付款开始时间 /// public Nullable GmtPayBeginTime { get; set; } /// /// 完成付款截止时间 /// public Nullable GmtPayEndTime { get; set; } /// /// 最大金额(单位:分) /// public Nullable MaxAmount { get; set; } /// /// 最小金额(单位:分) /// public Nullable MinAmount { get; set; } /// /// 第一次调用传空,后面翻页根据上次response的nextKey回传 /// public string NextKey { get; set; } /// /// 页码,从1开始 /// public Nullable PageNum { get; set; } /// /// 每页大小 /// public Nullable PageSize { get; set; } /// /// 支付渠道列表 /// public string PayChannelList { get; set; } /// /// 支付渠道方付款者实际出资UID /// public string PayChannelPayerRealUid { get; set; } /// /// 收款者corpId或者userId /// public string PayeeId { get; set; } /// /// 收款者类型 /// public string PayeeUserType { get; set; } /// /// 付款者corpId或者userId /// public string PayerId { get; set; } /// /// 付款者类型 /// public string PayerUserType { get; set; } /// /// 收款人账户类型 /// public string ReceiptorTypeList { get; set; } /// /// 查询的条目数 /// public Nullable Size { get; set; } /// /// 状态列表 /// public string StatusList { get; set; } /// /// 中止支付原因 /// public string TerminationReason { get; set; } /// /// 标题 /// public string Title { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.dingpay.bill.batchquery"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("apply_pay_operator_userid", this.ApplyPayOperatorUserid); parameters.Add("bill_category", this.BillCategory); parameters.Add("biz_code", this.BizCode); parameters.Add("create_operator_userid", this.CreateOperatorUserid); parameters.Add("extension", this.Extension); parameters.Add("gmt_apply_pay_begin_time", this.GmtApplyPayBeginTime); parameters.Add("gmt_apply_pay_end_time", this.GmtApplyPayEndTime); parameters.Add("gmt_create_begin_time", this.GmtCreateBeginTime); parameters.Add("gmt_create_end_time", this.GmtCreateEndTime); parameters.Add("gmt_pay_begin_time", this.GmtPayBeginTime); parameters.Add("gmt_pay_end_time", this.GmtPayEndTime); parameters.Add("max_amount", this.MaxAmount); parameters.Add("min_amount", this.MinAmount); parameters.Add("next_key", this.NextKey); parameters.Add("page_num", this.PageNum); parameters.Add("page_size", this.PageSize); parameters.Add("pay_channel_list", this.PayChannelList); parameters.Add("pay_channel_payer_real_uid", this.PayChannelPayerRealUid); parameters.Add("payee_id", this.PayeeId); parameters.Add("payee_user_type", this.PayeeUserType); parameters.Add("payer_id", this.PayerId); parameters.Add("payer_user_type", this.PayerUserType); parameters.Add("receiptor_type_list", this.ReceiptorTypeList); parameters.Add("size", this.Size); parameters.Add("status_list", this.StatusList); parameters.Add("termination_reason", this.TerminationReason); parameters.Add("title", this.Title); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("pay_channel_list", this.PayChannelList, 20); RequestValidator.ValidateMaxListSize("receiptor_type_list", this.ReceiptorTypeList, 20); RequestValidator.ValidateMaxListSize("status_list", this.StatusList, 20); } #endregion } }