package com.zm.order.tool.server.dao;

import com.zm.order.tool.server.model.LineUpRecordsCount;
import com.zm.order.tool.server.query.LineUpCountQuery;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * 订单排队统计表
 *
 * @author nianchang
 */
@Repository
public interface LineUpRecordsCountDao {

    /**
     * 新增一条记录
     *
     * @param record LineUpRecordsCount
     * @return 影响行数
     */
    int insert(LineUpRecordsCount record);

    /**
     * 修改
     *
     * @param record LineUpRecordsCount
     * @return 影响行数
     */
    int update(LineUpRecordsCount record);

    /**
     * 查询列表
     * @param query	查询条件
     * @return
     * Date: 2021/8/9 4:48 下午
     */
    List<LineUpRecordsCount> selectList(LineUpCountQuery query);

    /**
     * 查询单条记录
     *
     * @param sellerId 商家id
     * @param storeId  门店id
     * @param lineUpAt 排队时间
     * @return
     * Date: 2021/8/10 10:31 上午
     */
    LineUpRecordsCount selectOne(@Param("sellerId") Long sellerId, @Param("storeId") Long storeId,
                                 @Param("lineUpAt") Date lineUpAt);

    /**
     * 结束排队商品递增
     *
     * @param id       主键
     * @return
     */
    int updateDequeueGoodsCount(@Param("id") Long id);
}
