refactor: 完善枚举系统与状态类型转换,新增枚举管理接口
1. 为所有枚举添加Description特性用于中文描述 2. 移除实体类中冗余的状态字段注释与定义 3. 将所有枚举状态参数改为int类型转换,统一数据交互格式 4. 新增系统管理枚举查询接口与实现,支持获取所有枚举元数据 5. 调整宠物服务模板状态更新接口参数类型
This commit is contained in:
@ -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)
|
||||
|
||||
Reference in New Issue
Block a user