using QYZH.InteractiveMagazine.Models.Enum; namespace QYZH.InteractiveMagazine.Models.Dto; /// /// 勋章创建/更新输入 /// public class MedalInput { /// /// 勋章名称 /// public string Name { get; set; } = string.Empty; /// /// 获得条件描述 /// public string? Description { get; set; } /// /// 图片地址 /// public string? ImageUrl { get; set; } /// /// 排序 /// public int SortOrder { get; set; } /// /// 勋章的类型: Pet, Community /// public string Type { get; set; } = MedalTypeEnum.System.ToString(); /// /// 期刊id /// public long? JournalId { get; set; } /// /// 勋章规则列表 /// public List? Rules { get; set; } } /// /// 勋章输出 /// public class MedalOutput { /// /// 主键ID /// public long Id { get; set; } /// /// 勋章名称 /// public string Name { get; set; } = string.Empty; /// /// 获得条件描述 /// public string? Description { get; set; } /// /// 图片地址 /// public string? ImageUrl { get; set; } /// /// 排序 /// public int SortOrder { get; set; } /// /// 勋章的类型 /// public string Type { get; set; } = string.Empty; /// /// 书id /// public long? JournalId { get; set; } /// /// 勋章状态 /// public DefaultStatusEnum Status { get; set; } /// /// 勋章规则列表 /// public List? Rules { get; set; } /// /// 创建人 /// public string? CreatedBy { get; set; } /// /// 创建时间 /// public DateTime CreatedAt { get; set; } /// /// 更新人 /// public string? UpdatedBy { get; set; } /// /// 更新时间 /// public DateTime? UpdatedAt { get; set; } } /// /// 勋章分页查询输入 /// public class MedalQueryInput : PageQueryModel { /// /// 勋章名称(模糊查询) /// public string? Name { get; set; } /// /// 勋章的类型: Pet, Community /// public string? Type { get; set; } } /// /// 勋章规则输入 /// public class MedalRuleInput { /// /// 目标表名(如:JournalPageTask、UserAction等) /// public string TargetTable { get; set; } = string.Empty; /// /// 目标字段名(如:TotalScore、LoginDays等) /// public string TargetField { get; set; } = string.Empty; /// /// 比较运算符: >=, >, =, <=, < /// public string Operator { get; set; } = ">="; /// /// 阈值数量 /// public int ThresholdValue { get; set; } /// /// 额外筛选条件(JSON格式) /// public string? FilterCondition { get; set; } /// /// 时间范围类型: All/CurrentMonth/CurrentWeek/Last7Days/Custom /// public string? DateRangeType { get; set; } /// /// 自定义起始时间 /// public DateTime? DateRangeStart { get; set; } /// /// 自定义结束时间 /// public DateTime? DateRangeEnd { get; set; } /// /// 多规则间的逻辑关系: AND/OR /// public string LogicOperator { get; set; } = "AND"; /// /// 规则执行顺序 /// public int RuleOrder { get; set; } /// /// 规则说明 /// public string? Description { get; set; } } /// /// 勋章规则输出 /// public class MedalRuleOutput { /// /// 规则ID /// public long Id { get; set; } /// /// 关联的勋章ID /// public long MedalId { get; set; } /// /// 目标表名 /// public string TargetTable { get; set; } = string.Empty; /// /// 目标字段名 /// public string TargetField { get; set; } = string.Empty; /// /// 比较运算符 /// public string Operator { get; set; } = string.Empty; /// /// 阈值数量 /// public int ThresholdValue { get; set; } /// /// 额外筛选条件 /// public string? FilterCondition { get; set; } /// /// 时间范围类型 /// public string? DateRangeType { get; set; } /// /// 自定义起始时间 /// public DateTime? DateRangeStart { get; set; } /// /// 自定义结束时间 /// public DateTime? DateRangeEnd { get; set; } /// /// 多规则间的逻辑关系 /// public string LogicOperator { get; set; } = string.Empty; /// /// 规则执行顺序 /// public int RuleOrder { get; set; } /// /// 规则说明 /// public string? Description { get; set; } /// /// 创建时间 /// public DateTime CreatedAt { get; set; } /// /// 更新时间 /// public DateTime? UpdatedAt { get; set; } } /// /// 微信端勋章列表输出(含拥有状态) /// public class WxMedalListOutput { /// /// 勋章ID /// public long Id { get; set; } /// /// 勋章名称 /// public string Name { get; set; } = string.Empty; /// /// 获得条件描述 /// public string? Description { get; set; } /// /// 图片地址 /// public string? ImageUrl { get; set; } /// /// 排序 /// public int SortOrder { get; set; } /// /// 勋章的类型 /// public string Type { get; set; } = string.Empty; /// /// 是否已拥有 /// public bool IsOwned { get; set; } /// /// 获得时间(未拥有则为null) /// public DateTime? AwardedAt { get; set; } } /// /// 微信端用户已拥有勋章输出 /// public class WxUserMedalOutput { /// /// 勋章ID /// public long MedalId { get; set; } /// /// 勋章名称 /// public string Name { get; set; } = string.Empty; /// /// 获得条件描述 /// public string? Description { get; set; } /// /// 图片地址 /// public string? ImageUrl { get; set; } /// /// 勋章的类型 /// public string Type { get; set; } = string.Empty; /// /// 获得时间 /// public DateTime? AwardedAt { get; set; } /// /// 状态: Awarded, Revoked /// public string Status { get; set; } = string.Empty; } /// /// 微信端激活勋章输入 /// public class WxMedalActivateInput { /// /// 勋章ID /// public long MedalId { get; set; } } /// /// 勋章规则目标表下拉输出 /// public class MedalRuleTableOptionOutput { /// /// 表名 /// public string TableName { get; set; } = string.Empty; /// /// 显示名称 /// public string DisplayName { get; set; } = string.Empty; } /// /// 勋章规则字段下拉输出 /// public class MedalRuleFieldOptionOutput { /// /// 字段名 /// public string FieldName { get; set; } = string.Empty; /// /// 显示名称 /// public string DisplayName { get; set; } = string.Empty; }