package com.ruoyi.order.mapper;
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.order.entity.Order;
|
import com.ruoyi.order.vo.*;
|
import org.apache.ibatis.annotations.Param;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 订单管理 Mapper 接口
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-05-29
|
*/
|
public interface OrderMapper extends BaseMapper<Order> {
|
|
/**
|
* 查询本年订单数量
|
*
|
* @param cityList 城市集合
|
* @param orderState 订单状态
|
* @return 本年订单数量
|
*/
|
List<OrderQueryVO> orderCountByYear(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
|
|
/**
|
* 查询本月订单数量
|
*
|
* @param cityList 城市集合
|
* @param orderState 订单状态
|
* @return 本年订单数量
|
*/
|
List<OrderQueryVO> orderCountByMonth(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
|
|
/**
|
* 查询本周订单数量
|
*
|
* @param cityList 城市集合
|
* @param orderState 订单状态
|
* @return 本年订单数量
|
*/
|
List<OrderQueryVO> orderCountByWeek(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
|
|
/**
|
* 查询当天订单数量
|
*
|
* @param cityList 城市集合
|
* @param orderState 订单状态
|
* @return 本年订单数量
|
*/
|
List<OrderQueryVO> orderCountByToday(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
|
|
/**
|
* 查询整个季度的交易额(订单状态为:已完工)
|
*
|
* @param startDateStr 季度开始时间
|
* @param endDateStr 季度结束时间
|
* @param cityList 城市集合
|
* @return 总交易额
|
*/
|
BigDecimal totalMoneyByQuarter(@Param("start") String startDateStr, @Param("end") String endDateStr,
|
@Param("cityList") List<String> cityList);
|
|
/**
|
* 查询整个年度的交易额(订单状态为:已完工)
|
*
|
* @param cityList 城市集合
|
* @return 总交易额
|
*/
|
BigDecimal totalMoneyByYear(@Param("cityList") List<String> cityList);
|
|
/**
|
* 查询整个月度的交易额(订单状态为:已完工)
|
*
|
* @param cityList 城市列表
|
* @return 总交易额
|
*/
|
BigDecimal totalMoneyByMonth(@Param("cityList") List<String> cityList);
|
|
/**
|
* 订单管理-订单统计
|
*
|
* @param name 师傅姓名
|
* @param phone 师傅电话
|
* @param page 分页
|
* @return 分页统计
|
*/
|
Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone, Page<OrderCountVO> page);
|
|
/**
|
* 订单列表
|
*
|
* @param orderQueryRequest 订单列表查询参数
|
* @param page 分页
|
* @return 分页
|
*/
|
Page<Order> queryPage(@Param("data") OrderQueryRequest orderQueryRequest, Page<Order> page);
|
|
/**
|
* 订单管理分页模块,订单数量统计
|
*
|
* @param orderQueryRequest 筛选参数
|
* @return 统计数量
|
*/
|
List<Order> orderPageCount(@Param("data") OrderQueryRequest orderQueryRequest);
|
|
/**
|
* 根据所选id查询
|
*
|
* @param ids id集合
|
* @return 返回列表
|
*/
|
List<Order> exportByIdList(List<String> ids);
|
|
/**
|
* 根据筛选条件查询
|
*
|
* @param orderQueryRequest 筛选条件
|
* @return 返回列表
|
*/
|
List<Order> exportList(@Param("data") OrderQueryRequest orderQueryRequest);
|
|
/**
|
* 根据类型获取交易额
|
*
|
* @param userId 用户端
|
* @param state 订单状态
|
* @param page 分页
|
* @return 交易额
|
*/
|
Page<Order> orderListWorker(@Param("userId") Integer userId, @Param("state") Integer state, Page<Order> page);
|
|
/**
|
* 师傅端-根据师傅id获取订单数量
|
*
|
* @param workerIds 师傅id集合
|
* @return 接单列表
|
*/
|
List<WorkerOrderRankVO> workerOrderRank(@Param("ids") List<Integer> workerIds);
|
|
/**
|
* 统计订单状态数量
|
*
|
* @param workerId 师傅id
|
* @return 统计结果
|
*/
|
WorkerOrderCountVO orderStateCount(@Param("workerId") Integer workerId);
|
|
/**
|
* 根据时间范围筛选订单
|
*
|
* @param cityList 城市列表
|
* @param startTime 开始时间
|
* @param endTime 结束时间
|
* @param orderState 订单状态
|
* @return 列表
|
*/
|
List<OrderQueryVO> orderCountByTimeRange(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("orderState") Integer orderState);
|
|
/**
|
* 根据时间范围筛选订单
|
* -- 按年统计
|
*
|
* @param cityList 城市列表
|
* @param startTime 开始时间
|
* @param endTime 结束时间
|
* @param orderState 订单状态
|
* @return 列表
|
*/
|
List<OrderQueryVO> orderCountByTimeRangeYear(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("orderState") Integer orderState);
|
|
/**
|
* 根据时间范围筛选订单
|
* -- 按月统计
|
*
|
* @param cityList 城市列表
|
* @param startTime 开始时间
|
* @param endTime 结束时间
|
* @param orderState 订单状态
|
* @return 列表
|
*/
|
List<OrderQueryVO> orderCountByTimeRangeMonth(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
|
@Param("endTime") String endTime, @Param("orderState") Integer orderState);
|
}
|