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; }
}