using Hotline.Share.Dtos.File;
using Hotline.Share.Enums.Order;
using SqlSugar;
using XF.Domain.Repository;

namespace Hotline.WebPortal
{
    /// <summary>
    /// 门户写信
    /// </summary>
    public class WebFlowAccept : CreationEntity
    {
        /// <summary>
        /// 门户网站注册用户
        /// </summary>
        [SugarColumn(ColumnDescription = "门户网站注册用户")]
        public string? WebUserID { get; set; }

        /// <summary>
        /// 来电/信人身份
        /// </summary>
        [SugarColumn(ColumnDescription = "来电/信人身份")]
        public EIdentityType? IdentityType { get; set; } = EIdentityType.Citizen;

        /// <summary>
        /// 工单Id
        /// </summary>
        [SugarColumn(ColumnDescription = "工单Id")]
        public string? OrderId { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [SugarColumn(ColumnDescription = "姓名")]
        public string LKName { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        [SugarColumn(ColumnDescription = "性别")]
        public string? Sex { get; set; }

        /// <summary>
        /// 是否保密
        /// </summary>
        [SugarColumn(ColumnDescription = "是否保密")]
        public string? IsSecret { get; set; }

        /// <summary>
        /// 邮箱
        /// </summary>
        [SugarColumn(ColumnDescription = "邮箱")]
        public string? Mail { get; set; }

        /// <summary>
        /// 身份证
        /// </summary>
        [SugarColumn(ColumnDescription = "身份证")]
        public string? IDCard { get; set; }

        /// <summary>
        /// 电话
        /// </summary>
        [SugarColumn(ColumnDescription = "电话")]
        public string Mobile { get; set; }

        /// <summary>
        /// 微博/微信账号
        /// </summary>
        [SugarColumn(ColumnDescription = "微博/微信账号")]
        public string? AccountNum { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [SugarColumn(ColumnDescription = "地址")]
        public string? Address { get; set; }

        /// <summary>
        /// 标题
        /// </summary>
        [SugarColumn(ColumnDescription = "标题")]
        public string Title { get; set; }

        /// <summary>
        /// 信件内容
        /// </summary>
        [SugarColumn(ColumnDescription = "信件内容", ColumnDataType = "varchar(3000)")]
        public string Content { get; set; }

        /// <summary>
        /// 来源方式
        /// </summary>
        [SugarColumn(ColumnDescription = "来源方式")]
        public string? FromID { get; set; }

        /// <summary>
        /// 受理类型ID
        /// </summary>
        [SugarColumn(ColumnDescription = "受理类型ID")]
        public string PurTypeID { get; set; }

        /// <summary>
        /// 受理类型名称
        /// </summary>
        [SugarColumn(ColumnDescription = "受理类型名称")]
        public string PurTypeName { get; set; }

        /// <summary>
        /// 热点类型ID
        /// </summary>
        [SugarColumn(ColumnDescription = "热点类型ID")]
        public string? ConTypeID { get; set; }

        /// <summary>
        /// 信件编号
        /// </summary>
        [SugarColumn(ColumnDescription = "信件编号")]
        public string Code { get; set; }

        /// <summary>
        /// 查询密码
        /// </summary>
        [SugarColumn(ColumnDescription = "查询密码")]
        public string Pwd { get; set; }

        /// <summary>
        /// 来信IP
        /// </summary>
        [SugarColumn(ColumnDescription = "来信IP")]
        public string? IP { get; set; }

        /// <summary>
        /// 微信Id
        /// </summary>
        [SugarColumn(ColumnDescription = "微信Id")]
        public string? WXOpenid { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [SugarColumn(ColumnDataType = "json", IsJson = true)]
        public List<FileDto>? Files { get; set; } = new();

        /// <summary>
        /// 区域编码
        /// </summary>
        [SugarColumn(ColumnDescription = "区域编码")]
        public string? AreaCode { get; set; }

    }
}
