using System.Text.Json.Serialization;

namespace DataSharing.Share.Dtos.Province.XieTong.Receive
{
    /// <summary>
    /// 上报工单评价
    /// </summary>
    public class GetVisitInfoSendRequest
    {
        /// <summary>
        /// 
        /// </summary>
        public ClientInfo token { get; set; }

        /// <summary>
        /// 服务工单
        /// </summary>
        public GetVisitInfoSendModel paras { get; set; }
    }

    /// <summary>
    /// 上报工单评价
    /// </summary>
    public class GetVisitInfoSendModel
    {
        /// <summary>
        /// 回访评价方式
        /// </summary>
        [JsonPropertyName("VISIT_TYPE")]
        [MDisplayName("回访评价方式")]
        [VRequired]
        [VStringLength(0, 50)]
        public string VisitType { get; set; }

        /// <summary>
        /// 回访人
        /// </summary>
        [JsonPropertyName("VISIT_NAME")]
        [MDisplayName("回访人")]
        [VRequired]
        [VStringLength(0, 200)]
        public string VisitName { get; set; }

        /// <summary>
        /// 回访时间
        /// </summary>
        [JsonPropertyName("VISIT_TIME")]
        [MDisplayName("回访时间")]
        [VRequired]
        public string? VisitTime { get; set; }

        /// <summary>
        /// 回访评价情况
        /// </summary>
        [JsonPropertyName("VISIT_REMARK")]
        [MDisplayName("回访评价情况")]
        [VRequired]
        [VStringLength(0, 1000)]
        public string VisitRemark { get; set; }

        /// <summary>
        /// 回访结果满意度
        /// </summary>
        [JsonPropertyName("SUBJECT_RESULT_SATIFY")]
        [MDisplayName("回访结果满意度")]
        [VRequired]
        [VStringLength(0, 4)]
        public string SubjectResultSatify { get; set; }

        /// <summary>
        /// 服务工单编号
        /// </summary>
        [JsonPropertyName("CASE_SERIAL")]
        [VRequired]
        [VStringLength(0, 50)]
        [MDisplayName("服务工单编号")]
        public string CaseSerial { get; set; }

        /// <summary>
        /// 行政区划代码
        /// </summary>
        [JsonPropertyName("AREA_CODE")]
        [MDisplayName("行政区划代码")]
        [VRequired]
        [VStringLength(0, 24)]
        public string AreaCode { get; set; }

        /// <summary>
        /// 材料标识
        /// </summary>
        [JsonPropertyName("CLIENG_GUID")]
        [MDisplayName("材料标识")]
        [VRequired]
        [VStringLength(0, 50)]
        public string CliengGuid { get; set; }
    }
}
