package com.ssm.manage.mapper;

import com.ssm.core.mapper.BaseMapper;
import com.ssm.manage.entity.BaseGrouponCard;
import com.ssm.manage.entity.RechargeList;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.RechargeListRequest;
import com.ssm.manage.query.StoreDailyRequest;
import com.ssm.manage.response.RechargeListResponse;
import com.ssm.manage.response.RechargeVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface RechargeListMapper extends BaseMapper<RechargeList> {
    List<RechargeList> selectPage(RechargeListRequest rechargeListRequest);
    List<RechargeList> selectPageNew(RechargeListRequest rechargeListRequest);
    List<RechargeList> selectPages(RechargeListRequest rechargeListRequest);
    void createTable(@Param("tab")String date);
    void createTable1(@Param("tab")String date);

    int addRecharge(RechargeList rechargeList);
    List<RechargeList> getDocNum(RechargeListRequest rechargeListRequest);

    int cancel(RechargeList rechargeList);

    List<RechargeList> getRecDoc(RechargeListRequest rechargeListRequest);

    int updateStaff(RechargeList rechargeList);

    StoreDaily selectDayRecord(StoreDailyRequest dailyRequest);
    //查询所有ID，统计收银类型（支付宝，微信，银行卡..）
    List<StoreDaily> selectDayRecord1(StoreDailyRequest dailyRequest);

    StoreDaily NegativeKazin(StoreDailyRequest dailyRequest);

    List<RechargeList> selectListSalem(RechargeList rechargeList);

    int updateRatio(RechargeList rechargeList);

    //团购卡次数和金额
    StoreDaily grouponTuan(StoreDailyRequest dailyRequest);

    //团购金额
    List<BaseGrouponCard> grouponTuan1(StoreDailyRequest dailyRequest);

    RechargeList selectAchiEntities(RechargeList rechargeList);

    List<RechargeVo> selectByDay(StoreDailyRequest storeDailyRequest);

    List<StoreDaily> selectByDayGroupByDateAndStoreId(StoreDailyRequest storeDailyRequest);

    List<RechargeList> selectList(RechargeListRequest rechargeListRequest);

    StoreDaily NegativeKazinByDate(StoreDailyRequest storeDailyRequest);

    StoreDaily grouponTuanNew(StoreDailyRequest storeDailyRequest);

    List<RechargeList> rechargeGifList(RechargeListRequest rechargeListRequest);

    RechargeList selectById(RechargeList rechargeList);
}