21
This commit is contained in:
parent
b302b2e796
commit
836f2d843e
|
|
@ -365,6 +365,89 @@ public class GoodsController : ControllerBase
|
|||
|
||||
#endregion
|
||||
|
||||
#region Legacy Box List Endpoints (兼容旧版前端)
|
||||
|
||||
/// <summary>
|
||||
/// 获取箱号分页列表(兼容旧版前端)
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// GET /api/goodslist_count
|
||||
///
|
||||
/// 返回箱号分页列表,用于一番赏换箱功能
|
||||
/// 例如:商品有50箱,返回 ["1-10", "11-20", "21-30", "31-40", "41-50"]
|
||||
/// </remarks>
|
||||
/// <param name="goods_id">商品ID</param>
|
||||
/// <returns>箱号分页列表</returns>
|
||||
[HttpGet("goodslist_count")]
|
||||
[ProducesResponseType(typeof(ApiResponse<List<BoxGroupDto>>), StatusCodes.Status200OK)]
|
||||
public async Task<ApiResponse<List<BoxGroupDto>>> GetGoodsListCount(
|
||||
[FromQuery(Name = "goods_id")] int goods_id = 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (goods_id <= 0)
|
||||
{
|
||||
return ApiResponse<List<BoxGroupDto>>.Fail("商品ID不能为空");
|
||||
}
|
||||
|
||||
var result = await _goodsService.GetBoxListAsync(goods_id);
|
||||
return ApiResponse<List<BoxGroupDto>>.Success(result);
|
||||
}
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogWarning("Get goodslist_count failed: GoodsId={GoodsId}, Error={Error}", goods_id, ex.Message);
|
||||
return ApiResponse<List<BoxGroupDto>>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to get goodslist_count: GoodsId={GoodsId}", goods_id);
|
||||
return ApiResponse<List<BoxGroupDto>>.Fail("获取箱号列表失败");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取箱号详情列表(兼容旧版前端)
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// GET /api/goodslist_content
|
||||
///
|
||||
/// 返回指定页码范围内的箱子详情,包含每个箱子的奖品列表和剩余库存
|
||||
/// </remarks>
|
||||
/// <param name="goods_id">商品ID</param>
|
||||
/// <param name="page_no">页码(从0开始)</param>
|
||||
/// <param name="sort">排序方式:0=箱号升序, 1=箱号降序, 2=余量降序</param>
|
||||
/// <returns>箱号详情列表</returns>
|
||||
[HttpGet("goodslist_content")]
|
||||
[ProducesResponseType(typeof(ApiResponse<List<BoxDetailDto>>), StatusCodes.Status200OK)]
|
||||
public async Task<ApiResponse<List<BoxDetailDto>>> GetGoodsListContent(
|
||||
[FromQuery(Name = "goods_id")] int goods_id = 0,
|
||||
[FromQuery(Name = "page_no")] int page_no = 0,
|
||||
[FromQuery(Name = "sort")] int sort = 1)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (goods_id <= 0)
|
||||
{
|
||||
return ApiResponse<List<BoxDetailDto>>.Fail("商品ID不能为空");
|
||||
}
|
||||
|
||||
var result = await _goodsService.GetBoxDetailAsync(goods_id, page_no, sort);
|
||||
return ApiResponse<List<BoxDetailDto>>.Success(result);
|
||||
}
|
||||
catch (InvalidOperationException ex)
|
||||
{
|
||||
_logger.LogWarning("Get goodslist_content failed: GoodsId={GoodsId}, Error={Error}", goods_id, ex.Message);
|
||||
return ApiResponse<List<BoxDetailDto>>.Fail(ex.Message);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to get goodslist_content: GoodsId={GoodsId}", goods_id);
|
||||
return ApiResponse<List<BoxDetailDto>>.Fail("获取箱号详情失败");
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Infinite Goods Detail Endpoints
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user