using Com.Bocom.OpenApi.Response;
using Com.Bocom.OpenApi.Security.KeyGen;
using Com.Bocom.OpenApi.Utils;
using Kivii.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace Com.Bocom.OpenApi
{
    /// <summary>
    /// 1.2 账单查询
    /// 智慧记账产品查询账单接口，支持常规账单和框架性协议账单查询。
    /// </summary>
    public class QueryContractOrderRequestV2 : BocomRequest<QueryContractOrderResponseV2>
    {
        /// <summary>
        /// 获取响应类
        /// </summary>
        /// <returns>返回QueryContractOrderResponseV2类对应的响应类类型</returns>
        public override Type GetResponseClass()
        {
            return typeof(QueryContractOrderResponseV2);
        }

        /// <summary>
        /// 是否支持加密（目前sdk只支持对字段进行AES加解密）
        /// </summary>
        /// <returns>一般返回false</returns>
        public override bool IsNeedEncrypt()
        {
            return false;
        }

        /// <summary>
        /// http发起请求方式（支持GET、POST两种方式）
        /// </summary>
        /// <returns>一般返回POST</returns>
        public override string GetMethod()
        {
            return "POST";
        }

        public override Type GetBizContentClass()
        {
            return typeof(QueryContractOrderRequestV2Biz);
        }

        [DataContract]
        public class QueryContractOrderRequestV2Biz : BizContent
        {

            /// <summary>
            /// 机构编号 </summary>
            [DataMember]
            internal string org_id;

            /// <summary>
            /// 账单编号 </summary>
            [DataMember]
            internal string bill_id;
            public string getOrgId()
            {
                return org_id;
            }

            public void setOrgId(string orgId)
            {
                this.org_id = orgId;
            }
            public string getBillId()
            {
                return bill_id;
            }

            public void setBillId(string billId)
            {
                this.bill_id = billId;
            }

        }
    }
}
