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