Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.Models/Dto/Points/PointsDto.cs
glz 78b686f9e5 refactor: 批量新增枚举类型并完成实体、DTO、服务层枚举替换
- 新增30+业务枚举类型覆盖用户、宠物、商城、社区、积分等模块
- 完成实体类、DTO、服务层的字符串枚举替换为强类型枚举
- 修复用户状态枚举名称变更,将Frozen改为Disabled
- 新增批量发布社区消息接口与控制器实现
- 新增操作日志、积分管理、补偿任务相关服务与DTO
2026-06-08 16:57:44 +08:00

220 lines
4.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

namespace QYZH.InteractiveMagazine.Models.Dto.Points;
using QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 积分流水查询输入
/// </summary>
public class PointsRecordQueryInput : PageQueryModel
{
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 变动类型筛选
/// </summary>
public PointsChangeTypeEnum? ChangeType { get; set; }
/// <summary>
/// 流水分类筛选Income/Expense
/// </summary>
public PointsFlowTypeEnum? Type { get; set; }
/// <summary>
/// 状态筛选Success/Failed 等)
/// </summary>
public string? Status { get; set; }
}
/// <summary>
/// 积分流水输出
/// </summary>
public class PointsRecordOutput
{
/// <summary>
/// 记录Id
/// </summary>
public long Id { get; set; }
/// <summary>
/// 变动数值(正数为收入,负数为支出)
/// </summary>
public int ChangeAmount { get; set; }
/// <summary>
/// 变动后余额
/// </summary>
public int BalanceAfter { get; set; }
/// <summary>
/// 变动类型(如 SignIn、Exchange、TaskReward 等)
/// </summary>
public string ChangeType { get; set; } = string.Empty;
/// <summary>
/// 备注描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 流水分类Income/Expense
/// </summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreatedAt { get; set; }
}
/// <summary>
/// 增加积分输入
/// </summary>
public class AddPointsInput
{
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 增加数量
/// </summary>
public int Amount { get; set; }
/// <summary>
/// 变动类型
/// </summary>
public PointsChangeTypeEnum ChangeType { get; set; }
/// <summary>
/// 关联业务Id
/// </summary>
public long? RelatedId { get; set; }
/// <summary>
/// 备注描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 操作人名称(为空时默认使用用户昵称)
/// </summary>
public string? OperatorName { get; set; }
}
/// <summary>
/// 扣除积分输入
/// </summary>
public class DeductPointsInput
{
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 扣除数量
/// </summary>
public int Amount { get; set; }
/// <summary>
/// 变动类型
/// </summary>
public PointsChangeTypeEnum ChangeType { get; set; }
/// <summary>
/// 关联业务Id
/// </summary>
public long? RelatedId { get; set; }
/// <summary>
/// 备注描述
/// </summary>
public string? Description { get; set; }
/// <summary>
/// 操作人名称(为空时默认使用用户昵称)
/// </summary>
public string? OperatorName { get; set; }
}
/// <summary>
/// 增加积分输出
/// </summary>
public class AddPointsOutput
{
/// <summary>
/// 积分流水记录Id
/// </summary>
public long RecordId { get; set; }
/// <summary>
/// 操作前积分余额
/// </summary>
public int PreviousBalance { get; set; }
/// <summary>
/// 操作后积分余额
/// </summary>
public int NewBalance { get; set; }
/// <summary>
/// 实际增加数量
/// </summary>
public int AddedAmount { get; set; }
}
/// <summary>
/// 扣除积分输出
/// </summary>
public class DeductPointsOutput
{
/// <summary>
/// 积分流水记录Id
/// </summary>
public long RecordId { get; set; }
/// <summary>
/// 操作前积分余额
/// </summary>
public int PreviousBalance { get; set; }
/// <summary>
/// 操作后积分余额
/// </summary>
public int NewBalance { get; set; }
/// <summary>
/// 实际扣除数量
/// </summary>
public int DeductedAmount { get; set; }
}
/// <summary>
/// 用户积分概览
/// </summary>
public class PointsSummaryOutput
{
/// <summary>
/// 用户Id
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 当前积分余额
/// </summary>
public int CurrentBalance { get; set; }
/// <summary>
/// 累计获得积分
/// </summary>
public int TotalIncome { get; set; }
/// <summary>
/// 累计消耗积分
/// </summary>
public int TotalExpense { get; set; }
}