Files
QYZH.InteractiveMagazine/QYZH.InteractiveMagazine.IService/IProductService.cs
glz 1d86580db7 refactor: 重构状态更新接口,新增商品管理与勋章规则配置
1. 重构用户、宠物模板、勋章、管理员状态更新接口,移除冗余参数改为自动切换状态
2. 重命名宠物背景枚举为宠物皮肤,调整商品状态字段为枚举类型
3. 新增商品上下架状态管理接口与对应逻辑
4. 新增勋章规则配置系统,支持动态加载可用表和字段
5. 优化商品查询与展示逻辑,适配新的状态字段
2026-06-09 11:41:28 +08:00

52 lines
1.4 KiB
C#

using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
/// <summary>
/// 商品服务接口
/// </summary>
public interface IProductService : IBaseService<Product>
{
/// <summary>
/// 创建商品
/// </summary>
/// <param name="input">商品输入</param>
/// <returns>创建的商品信息</returns>
Task<ProductOutput> CreateAsync(ProductInput input);
/// <summary>
/// 更新商品
/// </summary>
/// <param name="id">商品ID</param>
/// <param name="input">商品输入</param>
/// <returns>更新后的商品信息</returns>
Task<ProductOutput> UpdateAsync(long id, ProductInput input);
/// <summary>
/// 删除商品(软删除)
/// </summary>
/// <param name="id">商品ID</param>
Task DeleteAsync(long id);
/// <summary>
/// 根据ID获取商品
/// </summary>
/// <param name="id">商品ID</param>
/// <returns>商品信息</returns>
Task<ProductOutput> GetByIdAsync(long id);
/// <summary>
/// 分页查询商品列表
/// </summary>
/// <param name="input">查询条件</param>
/// <returns>分页结果</returns>
Task<PageListModel<ProductOutput>> GetListAsync(ProductQueryInput input);
/// <summary>
/// 更新商品上架/下架状态(取反)
/// </summary>
/// <param name="id">商品ID</param>
Task UpdateSaleStatusAsync(long id);
}