refactor: 完善枚举系统与状态类型转换,新增枚举管理接口

1. 为所有枚举添加Description特性用于中文描述
2. 移除实体类中冗余的状态字段注释与定义
3. 将所有枚举状态参数改为int类型转换,统一数据交互格式
4. 新增系统管理枚举查询接口与实现,支持获取所有枚举元数据
5. 调整宠物服务模板状态更新接口参数类型
This commit is contained in:
glz
2026-06-08 17:54:36 +08:00
parent 78b686f9e5
commit 0126c6b097
81 changed files with 470 additions and 176 deletions

View File

@ -38,7 +38,7 @@ public class CompensationTaskService(
ErrorSource = input.ErrorSource,
RetryCount = 0,
MaxRetries = input.MaxRetries > 0 ? input.MaxRetries : 3,
Status = CompensationTaskStatusEnum.Pending,
Status = (int)CompensationTaskStatusEnum.Pending,
ScheduledAt = DateTime.Now,
IsDeleted = false,
CreatedBy = "System",
@ -62,7 +62,7 @@ public class CompensationTaskService(
var now = DateTime.Now;
var tasks = await taskRepository.Queryable()
.Where(t => (t.Status == CompensationTaskStatusEnum.Pending || t.Status == CompensationTaskStatusEnum.Processing)
.Where(t => (t.Status == (int)CompensationTaskStatusEnum.Pending || t.Status == (int)CompensationTaskStatusEnum.Processing)
&& !t.IsDeleted
&& (t.ScheduledAt == null || t.ScheduledAt <= now))
.OrderBy(t => t.CreatedAt)
@ -79,7 +79,7 @@ public class CompensationTaskService(
ErrorSource = t.ErrorSource,
RetryCount = t.RetryCount,
MaxRetries = t.MaxRetries,
Status = t.Status,
Status = (CompensationTaskStatusEnum)t.Status,
ProcessedAt = t.ProcessedAt,
ScheduledAt = t.ScheduledAt,
ResultMessage = t.ResultMessage,
@ -99,10 +99,10 @@ public class CompensationTaskService(
.Where(t => !t.IsDeleted);
if (input.Status.HasValue)
query = query.Where(t => t.Status == input.Status.Value);
query = query.Where(t => t.Status == (int)input.Status);
if (input.TaskType.HasValue)
query = query.Where(t => t.TaskType == (int)input.TaskType.Value);
query = query.Where(t => t.TaskType == (int)input.TaskType);
if (!string.IsNullOrEmpty(input.BusinessSource))
query = query.Where(t => t.BusinessSource == input.BusinessSource);
@ -122,7 +122,7 @@ public class CompensationTaskService(
ErrorSource = t.ErrorSource,
RetryCount = t.RetryCount,
MaxRetries = t.MaxRetries,
Status = t.Status,
Status = (CompensationTaskStatusEnum)t.Status,
ProcessedAt = t.ProcessedAt,
ScheduledAt = t.ScheduledAt,
ResultMessage = t.ResultMessage,
@ -139,7 +139,7 @@ public class CompensationTaskService(
public async Task UpdateTaskStatusAsync(long taskId, UpdateCompensationStatusInput input)
{
var update = taskRepository.Context.Updateable<CompensationTask>()
.SetColumns(t => t.Status == input.Status)
.SetColumns(t => t.Status == (int)input.Status)
.SetColumns(t => t.ResultMessage == input.ResultMessage)
.SetColumns(t => t.ProcessedAt == DateTime.Now)
.SetColumns(t => t.UpdatedAt == DateTime.Now);
@ -163,7 +163,7 @@ public class CompensationTaskService(
public async Task CancelTaskAsync(long taskId, string reason)
{
await taskRepository.Context.Updateable<CompensationTask>()
.SetColumns(t => t.Status == CompensationTaskStatusEnum.Cancelled)
.SetColumns(t => t.Status == (int)CompensationTaskStatusEnum.Cancelled)
.SetColumns(t => t.ResultMessage == reason)
.SetColumns(t => t.UpdatedAt == DateTime.Now)
.Where(t => t.Id == taskId && !t.IsDeleted)