sky-take-out/sky-server/src/main/java/com/sky/mapper/OrderMapper.java

102 lines
2.1 KiB
Java

package com.sky.mapper;
import com.github.pagehelper.Page;
import com.sky.dto.GoodsSalesDTO;
import com.sky.dto.OrdersPageQueryDTO;
import com.sky.entity.Orders;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Mapper
public interface OrderMapper {
/**
* 向订单中插入1条数据
*
* @param orders Orders
*/
void insert(Orders orders);
/**
* 根据订单号查询订单
*
* @param orderNumber String
*/
Orders getByNumber(String orderNumber);
/**
* 修改订单信息
*
* @param orders Orders
*/
void update(Orders orders);
/**
* 根据订单状态和下单时间查询订单状态
*
* @param status Integer
* @param orderTime LocalDateTime
* @return List<Orders>
*/
List<Orders> getByStatusAndOrderTime(Integer status, LocalDateTime orderTime);
/**
* 查询订单是否存在
*
* @param id 订单id
* @return 订单
*/
Orders getById(Long id);
/**
* 用户端订单分页查询
*
* @param ordersPageQueryDTO OrdersPageQueryDTO
* @return Page<Orders>
*/
Page<Orders> pageQuery(OrdersPageQueryDTO ordersPageQueryDTO);
/**
* 根据id查询订单
*
* @param id 订单id
* @return Orders
*/
Orders useCancelById(Long id);
/**
* 根据状态统计订单数量
*
* @param status
*/
Integer countStatus(Integer status);
/**
* 根据动态条件统计营业额数据
*
* @param map 集合
* @return Double
*/
Double sumByMap(HashMap map);
/**
* 根据动态条件统计用户数量
*
* @param map Map
* @return Integer
*/
Integer countByMap(Map map);
/**
* 根据指定时间区间查询效率前十
*
* @param begin 开始时间
* @param end 结束时间
* @return GoodsSalesDTO
*/
List<GoodsSalesDTO> getSalesTop10(LocalDateTime begin, LocalDateTime end);
}