refactor: 重构状态更新接口,新增商品管理与勋章规则配置

1. 重构用户、宠物模板、勋章、管理员状态更新接口,移除冗余参数改为自动切换状态
2. 重命名宠物背景枚举为宠物皮肤,调整商品状态字段为枚举类型
3. 新增商品上下架状态管理接口与对应逻辑
4. 新增勋章规则配置系统,支持动态加载可用表和字段
5. 优化商品查询与展示逻辑,适配新的状态字段
This commit is contained in:
glz
2026-06-09 11:41:28 +08:00
parent 0126c6b097
commit 1d86580db7
24 changed files with 405 additions and 61 deletions

View File

@ -203,4 +203,32 @@ public class AdminUserService(BaseRepository<AdminUser> adminUserRepository, ILo
.ToPageListAsync(input.PageIndex, input.PageSize, totalNumber);
return new PageListModel<AdminUserOutput>(pageResult, input.PageIndex, input.PageSize, totalNumber);
}
/// <summary>
/// 切换管理员状态(激活/冻结)
/// </summary>
public async Task ToggleStatusAsync(long id)
{
logger.LogInformation("正在切换管理员状态ID: {Id}", id);
var adminUser = await adminUserRepository.GetByIdAsync(id);
if (adminUser == null)
{
logger.LogWarning("未找到要更新状态的管理员ID: {Id}", id);
throw new BusinessException("管理员不存在", 404);
}
adminUser.Status = adminUser.Status==(int)AdminUserStatusEnum.Active?(int)AdminUserStatusEnum.Inactive:(int)AdminUserStatusEnum.Active;
adminUser.UpdatedBy = "System";
adminUser.UpdatedAt = DateTime.Now;
var result = await adminUserRepository.UpdateAsync(adminUser);
if (!result)
{
logger.LogError("管理员状态更新失败ID: {Id}", id);
throw new BusinessException("更新管理员状态失败", 500);
}
logger.LogInformation("管理员状态更新成功ID: {Id}", id);
}
}