/***********************************************************************
* Project: baifenBinfa
* ProjectName: 百分兵法管理系统
* Web: http://chuanyin.com
* Author:
* Email:
* CreateTime: 202403/02
* Description: 暂无
***********************************************************************/
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.ViewModels.Basics;
using CoreCms.Net.Model.ViewModels.DTO;
using SqlSugar;
namespace CoreCms.Net.IRepository
{
///
/// 订单表 工厂接口
///
public interface ICoreCmsOrderRepository : IBaseRepository
{
///
/// 查询团购秒杀下单数量(获取货品的秒杀团购数据)
///
///
///
///
///
///
///
FindLimitOrderDto FindLimitOrder(int productId, int userId, DateTime? startTime, DateTime? endTime,
int orderType = 0);
///
/// 查询团购秒杀下单数量(获取商品序号的秒杀团购数据)
///
///
///
///
///
///
///
public FindLimitOrderDto FindLimitOrderByGoodId(int goodId, int userId, DateTime? startTime,
DateTime? endTime, int orderType = 0);
///
/// 根据用户id和商品id获取下了多少订单
///
///
///
///
int GetOrderNum(int userId, int goodId);
///
/// 根据用户id和商品id获取下了多少订单
///
///
///
/// 状态
///
int GetOrderNum(int userId, int goodId, int orderStatus);
///
/// 重写根据条件列表数据
///
/// 判断集合
/// 排序方式
///
///
Task> QueryListAsync(Expression> predicate,
Expression> orderByExpression, OrderByType orderByType);
///
/// 重写根据条件查询分页数据
///
/// 判断集合
/// 排序方式
/// 当前页面索引
/// 分布大小
///
/// 是否使用WITH(NOLOCK)
///
Task> QueryPageAsync(
Expression> predicate,
Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false);
///
/// 重写根据条件查询分页数据
///
/// 判断集合
/// 排序方式
/// 当前页面索引
/// 分布大小
///
/// 是否使用WITH(NOLOCK)
///
Task> QueryPageNewAsync(Expression> predicate,
Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1,
int pageSize = 20, bool blUseNoLock = false);
}
}