using System.Text.Json.Serialization;

namespace DataSharing.Share.Dtos.ZiGong.TianQue
{
    public class OrderResultOpinionDto
    {
        /// <summary>
        /// 密钥
        /// </summary>
        [JsonPropertyName("vailCode")]
        [MDisplayName("密钥")]
        [VRequired]
        [VStringLength(0, 50)]
        public string VailCode { get; set; }

        /// <summary>
        /// 唯一标识/工单编号
        /// </summary>
        [JsonPropertyName("replyCode")]
        [MDisplayName("唯一标识")]
        [VRequired]
        [VStringLength(0, 50)]
        public string ReplyCode { get; set; }

        /// <summary>
        /// 办理时间
        /// </summary>
        [JsonPropertyName("replyDate")]
        [MDisplayName("办理时间")]
        [VRequired]
        [VStringLength(0, 50)]
        public string ReplyDate { get; set; }

        /// <summary>
        /// 办理人
        /// </summary>
        [JsonPropertyName("replyUserName")]
        [MDisplayName("办理人")]
        [VRequired]
        [VStringLength(0, 50)]
        public string ReplyUserName { get; set; }

        /// <summary>
        /// 办理部门
        /// </summary>
        [JsonPropertyName("replyBMName")]
        [MDisplayName("办理部门")]
        [VRequired]
        [VStringLength(0, 200)]
        public string ReplyBMName { get; set; }

        /// <summary>
        /// 办理状态 1，7：流转 2：办结 3：退回 4：网格员签收 5：消息推送 6: 超时自动退单
        /// </summary>
        [JsonPropertyName("replyResultType")]
        [MDisplayName("办理状态")]
        [VRequired]
        [VStringLength(0, 10)]
        public string ReplyResultType { get; set; }

        /// <summary>
        /// 是否属实 1：是 0：否
        /// </summary>
        [JsonPropertyName("replyISTrue")]
        public string? ReplyISTrue { get; set; }

        /// <summary>
        /// 是否重复 1：是 0：否
        /// </summary>
        [JsonPropertyName("isRepeat")]
        public string? IsRepeat { get; set; }

        /// <summary>
        /// 重复工单号
        /// </summary>
        [JsonPropertyName("repeatReplyCode")]
        public string? RepeatReplyCode { get; set; }

        /// <summary>
        /// 是否隐患 1：是 0：否
        /// </summary>
        [JsonPropertyName("isHiddenDanger")]
        public string? IsHiddenDanger { get; set; }

        /// <summary>
        /// 是否重大隐患 - 1 是、0否
        /// </summary>
        [JsonPropertyName("isMajorHidden")]
        public string? IsMajorHidden { get; set; } = "0";

        /// <summary>
        /// 网格员姓名
        /// </summary>
        [JsonPropertyName("memberName")]
        public string? MemberName { get; set; }

        /// <summary>
        /// 网格员电话
        /// </summary>
        [JsonPropertyName("memberMobile")]
        public string? MemberMobile { get; set; }

        /// <summary>
        /// 网格化诉求编号
        /// </summary>
        [JsonPropertyName("appealNumber")]
        public string? AppealNumber { get; set; }

        /// <summary>
        /// 办理内容
        /// </summary>
        [JsonPropertyName("replyContent")]
        [MDisplayName("办理内容")]
        [VRequired]
        [VStringLength(0, 5000)]
        public string? ReplyContent { get; set; }

        /// <summary>
        /// 区域id
        /// </summary>
        [JsonPropertyName("orgId")]
        public string? OrgId { get; set; }

        /// <summary>
        /// 区域名称
        /// </summary>
        [JsonPropertyName("orgName")]
        public string? OrgName { get; set; }

        /// <summary>
        /// 区域全称
        /// </summary>
        [JsonPropertyName("orgFullName")]
        public string? OrgFullName { get; set; }

        /// <summary>
        /// 区域全称
        /// </summary>
        [JsonPropertyName("departmentNo")]
        public string? DepartmentNo { get; set; }

        /// <summary>
        /// 区域上级Id
        /// </summary>
        [JsonPropertyName("parentOrgId")]
        public string? ParentOrgId { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [JsonPropertyName("replyFileList")]
        public List<string>? ReplyFileList { get; set; }
    }
}
