refactor: 批量新增枚举类型并完成实体、DTO、服务层枚举替换
- 新增30+业务枚举类型覆盖用户、宠物、商城、社区、积分等模块 - 完成实体类、DTO、服务层的字符串枚举替换为强类型枚举 - 修复用户状态枚举名称变更,将Frozen改为Disabled - 新增批量发布社区消息接口与控制器实现 - 新增操作日志、积分管理、补偿任务相关服务与DTO
This commit is contained in:
219
QYZH.InteractiveMagazine.Models/Dto/Points/PointsDto.cs
Normal file
219
QYZH.InteractiveMagazine.Models/Dto/Points/PointsDto.cs
Normal file
@ -0,0 +1,219 @@
|
||||
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; }
|
||||
}
|
||||
@ -0,0 +1,75 @@
|
||||
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; }
|
||||
}
|
||||
Reference in New Issue
Block a user