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

@ -156,22 +156,59 @@ public class MedalController : BaseController
/// <param name="status">状态: 0=禁用, 1=启用</param>
/// <returns>操作结果</returns>
[HttpPut("{id}/status")]
public async Task<BaseResponse<object>> UpdateStatusAsync(long id, [FromBody] int status)
public async Task<BaseResponse<bool>> UpdateStatusAsync(long id)
{
try
{
await _medalService.UpdateStatusAsync(id, status);
return Success(new object(), status == 1 ? "启用勋章成功" : "禁用勋章成功");
var res = await _medalService.UpdateStatusAsync(id);
return Success(res, "更新勋章状态成功");
}
catch (BusinessException ex)
{
_logger.LogWarning(ex, "更新勋章状态业务异常: {Message}", ex.Message);
return BaseResponse<object>.Fail(ex.Message);
return BaseResponse<bool>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "更新勋章状态系统异常ID{Id}Status{Status}", id, status);
return BaseResponse<object>.Fail("更新勋章状态失败,请稍后重试");
_logger.LogError(ex, "更新勋章状态系统异常ID{Id}", id);
return BaseResponse<bool>.Fail("更新勋章状态失败,请稍后重试");
}
}
/// <summary>
/// 获取规则配置中可用的目标表列表
/// </summary>
[HttpGet("rule-config/tables")]
public async Task<BaseResponse<List<MedalRuleTableOptionOutput>>> GetAvailableTables()
{
try
{
var result = await _medalService.GetAvailableTablesAsync();
return Success(result);
}
catch (Exception ex)
{
_logger.LogError(ex, "获取可用目标表列表系统异常");
return BaseResponse<List<MedalRuleTableOptionOutput>>.Fail("获取可用目标表列表失败,请稍后重试");
}
}
/// <summary>
/// 获取指定表的可用字段列表
/// </summary>
/// <param name="tableName">表名</param>
[HttpGet("rule-config/tables/{tableName}/fields")]
public async Task<BaseResponse<List<MedalRuleFieldOptionOutput>>> GetTableFields(string tableName)
{
try
{
var result = await _medalService.GetTableFieldsAsync(tableName);
return Success(result);
}
catch (Exception ex)
{
_logger.LogError(ex, "获取可用字段列表系统异常,表名:{TableName}", tableName);
return BaseResponse<List<MedalRuleFieldOptionOutput>>.Fail("获取可用字段列表失败,请稍后重试");
}
}
}