namespace LifePayment.Domain.Shared
{
    public class InitSetting
    {
        /// <summary>
        /// 平台自营服务商名称
        /// </summary>
        public string SelfSupportingServiceName { get; set; }

        /// <summary>
        /// 平台服务电话
        /// </summary>
        public string PlatServicePhone { get; set; }

        /// <summary>
        /// 登录注册验证码ProviderName
        /// </summary>
        public string SendPhoneMesssageCodeProviderName { get; set; }

        /// <summary>
        /// 登录验证码有效时间(单位分,默认为5)
        /// </summary>
        public int PhoneMsgLoginCodeValidTime { get; set; } = 10;

        /// <summary>
        /// 登录二维码有效时间(单位秒,默认为120)
        /// </summary>
        public int LoginQrCodeValidTime { get; set; } = 120;

        /// <summary>
        /// 产品评论数超过该值采用真实评分,否则采用初始评分
        /// </summary>
        public int ProductCommentCount { get; set; } = 100;

        /// <summary>
        /// 头条资讯数
        /// </summary>
        public int HeadlineInformationCount { get; set; } = 10;

        /// <summary>
        /// 最近(发布/购买)数量
        /// </summary>
        public int MyRecentCount { get; set; } = 10;

        /// <summary>
        /// 收款账号
        /// </summary>
        public string ReceivingAccount { get; set; }

        /// <summary>
        /// 收款公司名
        /// </summary>
        public string ReceivingCompanyName { get; set; }

        /// <summary>
        /// 收款开户银行
        /// </summary>
        public string ReceivingBankName { get; set; }

        /// <summary>
        /// 用户认证费用
        /// </summary>
        public decimal UserCertificationAmount { get; set; }

        /// <summary>
        /// 用户认证收款备注
        /// </summary>
        public string UserCertificationReceivingRemark { get; set; }

        /// <summary>
        /// 授权书模板
        /// </summary>
        public string EnterprisePowerAttorneyTempPath { get; set; }

        /// <summary>
        /// FAQ链接
        /// </summary>
        public string AuthenticationHelpUrl { get; set; }

        /// <summary>
        /// 身份证照片示例
        /// </summary>
        public string IDPhoteTempPath { get; set; }

        /// <summary>
        /// 用户认证审核验证码ProviderName
        /// </summary>
        public string UserCertificationAuditCodeProviderName { get; set; }

        /// <summary>
        /// 用户认证审核验证码有效时间(单位分,默认为5)
        /// </summary>
        public int UserCertificationAuditCodeValidTime { get; set; } = 5;
        /// <summary>
        /// 用户认证有效时间(天)
        /// </summary>
        public int UserCertificationValidTime { get; set; } = 365;

        /// <summary>
        /// 用户认证即将过期时间(天),到期前{UserCertificationComingExpirationTime}天将开启年审并发送提醒消息
        /// </summary>
        public int UserCertificationComingExpirationTime { get; set; } = 30;

        /// <summary>
        /// 用户认证支付描述
        /// </summary>
        public string UserCertificationPayDescription { get; set; }

        /// <summary>
        /// 用户更改登录手机号验证码短信模板名称
        /// </summary>
        public string ChangeUserPhoneNumberForUserCodeProviderName { get; set; }

        /// <summary>
        /// 用户更改登录手机号验证码有效时间(单位分)
        /// </summary>
        public int ChangeUserPhoneNumberForUserCodeValidTime { get; set; } = 5;

        /// <summary>
        /// 用户根据手机号修改密码验证码模板名称
        /// </summary>
        public string ChangePasswordFromPhoneNumberCodeProviderName { get; set; }

        /// <summary>
        /// 用户根据手机号修改密码验证码有效时间(单位分)
        /// </summary>
        public int ChangePasswordFromPhoneNumberCodeValidTime { get; set; } = 5;

        /// <summary>
        /// 保险合作提交验证码短信模板名称
        /// </summary>
        public string CreateOrUpdateCooperationApplyCodeProviderName { get; set; }

        /// <summary>
        /// 保险合作提交验证码有效时间(单位分)
        /// </summary>
        public int CreateOrUpdateCooperationApplyCodeValidTime { get; set; } = 5;

        /// <summary>
        /// 银行钱包开户验证码模板名称
        /// </summary>
        public string BankWalletAccountOpenCodeProviderName { get; set; }

        /// <summary>
        /// 银行钱包开户验证码有效时间(单位分)
        /// </summary>
        public int BankWalletAccountOpenCodeValidTime { get; set; } = 5;

        /// <summary>
        /// 人脸认证跳转url
        /// </summary>
        public string FaceAuthReturnUrl { get; set; }

        /// <summary>
        /// 当前电子签
        /// </summary>
        public string CurrentSign { get; set; }

        /// <summary>
        /// 开启1分钱测试模式
        /// </summary>
        public bool OpenTheOnePennyTest { get; set; }
    }
}