using HoneyBox.Model.Models; using HoneyBox.Model.Models.Order; namespace HoneyBox.Core.Interfaces; /// /// 订单服务接口 /// public interface IOrderService { #region 订单金额计算 /// /// 一番赏订单金额计算 /// /// 用户ID /// 计算请求 /// 计算结果 Task CalculateOrderMoneyAsync(int userId, OrderMoneyRequest request); /// /// 无限赏订单金额计算 /// /// 用户ID /// 计算请求 /// 计算结果 Task CalculateInfiniteOrderMoneyAsync(int userId, InfiniteOrderMoneyRequest request); /// /// 商城订单金额计算 /// /// 用户ID /// 计算请求 /// 计算结果 Task CalculateMallOrderMoneyAsync(int userId, MallOrderMoneyRequest request); #endregion #region 订单创建 /// /// 一番赏订单创建 /// /// 用户ID /// 创建请求 /// 创建结果 Task CreateOrderAsync(int userId, OrderBuyRequest request); /// /// 无限赏订单创建 /// /// 用户ID /// 创建请求 /// 创建结果 Task CreateInfiniteOrderAsync(int userId, InfiniteOrderBuyRequest request); #endregion #region 订单查询 /// /// 获取订单列表 /// /// 用户ID /// 查询请求 /// 订单列表 Task> GetOrderListAsync(int userId, OrderListRequest request); /// /// 获取订单详情 /// /// 用户ID /// 订单号 /// 订单详情(扁平结构,包含goods_list) Task GetOrderDetailAsync(int userId, string orderNum); #endregion #region 抽奖结果查询 /// /// 获取一番赏抽奖结果 /// /// 用户ID /// 订单号 /// 抽奖结果响应 Task GetPrizeOrderLogAsync(int userId, string orderNum); /// /// 获取无限赏抽奖结果 /// /// 用户ID /// 订单号 /// 无限赏抽奖结果响应 Task GetInfinitePrizeOrderLogAsync(int userId, string orderNum); #endregion #region 订单模块扩展 /// /// 获取订单支付状态 /// /// 用户ID /// 订单号 /// 订单状态响应 Task GetOrderStatusAsync(int userId, string orderNum); /// /// 获取订单列表(GET方式) /// /// 用户ID /// 页码 /// 每页数量 /// 订单列表响应 Task GetOrderListByGetAsync(int userId, int page, int pageSize); /// /// 创建网页支付订单 /// /// 用户ID /// 订单号 /// 网页支付订单响应 Task CreateWebPayOrderAsync(int userId, string orderNum); /// /// 获取订单URL链接 /// /// 订单号 /// 订单链接响应 Task GetOrderUrlLinkAsync(string orderNum); /// /// 商城下单 /// /// 用户ID /// 下单请求 /// 订单创建响应 Task CreateMallOrderAsync(int userId, MallOrderBuyRequest request); /// /// 获取道具卡列表 /// /// 用户ID /// 页码 /// 每页数量 /// 道具卡列表响应 Task GetItemCardListAsync(int userId, int page, int pageSize); /// /// 连击赏秘宝下单 /// /// 用户ID /// 下单请求 /// 订单创建响应 Task CreateInfiniteMibaoOrderAsync(int userId, InfiniteMibaoOrderBuyRequest request); /// /// 获取测试用户Token(仅测试环境) /// /// 当前用户ID /// 目标用户ID /// 测试用户Token Task GetUserTestTokenAsync(int userId, int targetUserId); #endregion }