using System;
using System.Runtime.Serialization;
using Com.Bocom.OpenApi.Response;
using Org.BouncyCastle.Bcpg.OpenPgp;

namespace Com.Bocom.OpenApi
{
    namespace Request
    {
        public class IntegralExchangeCheckRequestV1 : BocomRequest<IntegralExchangeCheckResponseV1>
        {
            /// <summary>
            /// 获取响应类
            /// </summary>
            /// <returns>返回IntegralExchangeCheckResponseV1类对应的响应类类型</returns>
            public override Type GetResponseClass()
            {
                return typeof(IntegralExchangeCheckResponseV1);
            }

            /// <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";
            }

            /// <summary>
            /// 获取业务类类型
            /// </summary>
            /// <returns>返回request类内部定义的BizContent类的类型</returns>
            public override Type GetBizContentClass()
            {
                return typeof(IntegralExchangeCheckRequestV1Biz);
            }


            /// <summary>
            /// 内部业务类，封装需要发送给服务端的业务字段
            /// </summary>
            [DataContract]
            public class IntegralExchangeCheckRequestV1Biz : BizContent
            {
                [DataMember] public string req_usercode { get; set; }

                [DataMember] public string doc_id { get; set; }

                [DataMember] public string file_name { get; set; }
            }
        }
    }
}