using Com.Bocom.OpenApi;
using Kivii.DataAnnotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
using static Com.Bocom.OpenApi.QueryContractOrderRequestV2;

namespace Com.Bocom.OpenApi
{

    /// <summary>
    /// 1.1 账单核销结果查询
    /// 1.1.1 功能描述：
    /// 智慧记账产品账单核销结果查询接口，获取账单和流水的核销结果。
    /// </summary>
    public class WriteOffResultRequestV2 : BocomRequest<WriteOffResultResponseV2>
    {

        /// <summary>
        /// 获取响应类
        /// </summary>
        /// <returns>返回WriteOffResultResponseV2类对应的响应类类型</returns>
        public override Type GetResponseClass()
        {
            return typeof(WriteOffResultResponseV2);
        }

        /// <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(WriteOffResultRequestV2Biz);
        }

        [DataContract]
        public class WriteOffResultRequestV2Biz : BizContent
        {

            /// <summary>
            /// 机构编号 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("org_id") private String orgId;
            [DataMember]
            public string org_id { get; set; }

            /// <summary>
            /// 子机构编号 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("sub_org_id") private String subOrgId;
            //internal string subOrgId;
            [DataMember]
            public string sub_org_id { get; set; }
            /// <summary>
            /// 核销日期 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("write_off_dte") private String writeOffDte;
            //internal string writeOffDte;
            [DataMember]
            public string write_off_dte { get; set; }
            /// <summary>
            /// 核销编号 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("write_off_no") private String writeOffNo;
            //internal string writeOffNo;
            [DataMember]
            public string write_off_no { get; set; }
            /// <summary>
            /// 页数 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("pageablerequest_pagenum") private String pageablerequestPagenum;
            //internal string pageablerequestPagenum;
            [DataMember]
            public string pageablerequest_pagenum { get; set; }
            /// <summary>
            /// 每页显示数据数 </summary>
            //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
            //ORIGINAL LINE: @JsonProperty("pageablerequest_pagesize") private String pageablerequestPagesize;
            //internal string pageablerequestPagesize;
            [DataMember]
            public string pageablerequest_pagesize { get; set; }
        }
    }

}
