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

76 lines
1.8 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.

using System.ComponentModel.DataAnnotations;
namespace QYZH.InteractiveMagazine.Models.Dto.Points;
/// <summary>
/// 手动增加积分输入
/// </summary>
public class ManualAddPointsInput
{
/// <summary>
/// 增加数量必须大于0
/// </summary>
[Range(1, int.MaxValue, ErrorMessage = "增加积分数量必须大于0")]
public int Amount { get; set; }
/// <summary>
/// 操作原因(必填)
/// </summary>
[Required(ErrorMessage = "操作原因不能为空")]
public string Reason { get; set; } = string.Empty;
}
/// <summary>
/// 手动扣除积分输入
/// </summary>
public class ManualDeductPointsInput
{
/// <summary>
/// 扣除数量必须大于0
/// </summary>
[Range(1, int.MaxValue, ErrorMessage = "扣除积分数量必须大于0")]
public int Amount { get; set; }
/// <summary>
/// 操作原因(必填)
/// </summary>
[Required(ErrorMessage = "操作原因不能为空")]
public string Reason { get; set; } = string.Empty;
}
/// <summary>
/// 手动积分操作输出
/// </summary>
public class ManualPointsOutput
{
/// <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 ChangeAmount { get; set; }
/// <summary>
/// 操作人
/// </summary>
public string OperatorName { get; set; } = string.Empty;
/// <summary>
/// 操作时间
/// </summary>
public DateTime OperatedAt { get; set; }
}