using Hotline.Share.Enums.CallCenter; using Hotline.Share.Enums.Snapshot; using Hotline.Share.Requests; using Hotline.Share.Tools; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Text.Json.Serialization; using System.Threading.Tasks; using XF.Utility.EnumExtensions; namespace Hotline.Share.Dtos.Snapshot; public class PointsDto { } public class UpdateIsSecurityMaxAsync { /// /// 用户Id /// [Required] public string UserId { get; set; } /// /// 是否安全卫士 /// [Required] public bool IsSecurityMax { get; set; } } public record PointsItemsInDto : PagedKeywordRequest { /// /// 联系方式 /// public string? PhoneNumber { get; set; } /// /// 区域名称 /// public string? County { get; set; } public DateTime? StartTime { get; set; } public DateTime? EndTime { get; set; } } public class PointsItemsOutDto { /// /// 联系方式 /// public string PhoneNumber { get; set; } /// /// 姓名 /// public string UserName { get; set; } /// /// 总积分 /// public int TotalPoints { get; set; } /// /// 已兑换积分 /// public int OutPoints { get; set; } /// /// 当前可用积分 /// public int ValidPoints => TotalPoints - OutPoints; /// /// 已使用积分 /// [JsonIgnore] [Newtonsoft.Json.JsonIgnore] public int OutTotalPoint { get; set; } /// /// 排名 /// public int Rank { get; set; } /// /// 是否安全卫士 /// public bool IsSecurityMax { get; set; } [JsonIgnore] [Newtonsoft.Json.JsonIgnore] public int InTotalPoint { get; set; } /// /// UserId /// public string UserId { get; set; } } public class PointsRankOutDto { /// /// 当前可用积分 /// public int ValidPoints { get; set; } /// /// 排行 /// public IList Ranks { get; set; } } public class PointsRankUserDto { /// /// 用户名 /// public string UserName { get; set; } private string _phoneNumber; /// /// 联系电话 /// public string PhoneNumber { get { return _phoneNumber.MaskPhoneNumber(); } set { _phoneNumber = value; } } /// /// 排名 /// public int Rank { get; set; } /// /// 积分 /// public int Points { get; set; } /// /// UserId /// public string CitizenId { get; set; } /// /// 是否安全卫士 /// public bool IsSecurityMax { get; set; } /// /// 头像地址 /// public string HeadUrl { get; set; } } public class PointItemsInDto : QueryFixedDto { /// /// 收入或者支出 /// public EPointsDirection Direction { get; set; } } public class PointItemsOutDto { /// /// 创建时间 /// public DateTime CreationTime { get; set; } /// /// 积分来源 /// public EPointsSource Source { get; set; } /// /// 积分来源 /// public string SourceTxt => Source.GetDescription(); /// /// 积分 /// public int Points { get; set; } }