package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.DocPromotion;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.DocPromotionRequest;
import com.ssm.manage.query.StoreDailyRequest;
import com.ssm.manage.response.DocPromotionResponse;
import com.ssm.manage.response.PromotionDayVo;

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

public interface SsmDocPromotionService extends BaseService<DocPromotion> {
    PageInfo<DocPromotionResponse> selectPage(DocPromotionRequest docPromotionRequest);
    PageInfo<DocPromotionResponse> selectPageNew(DocPromotionRequest docPromotionRequest);
    PageInfo<DocPromotionResponse> pageDetail(DocPromotionRequest docPromotionRequest);

    int addDoc(DocPromotionRequest docPromotionRequest) throws SmsException;
    int addPromotionRechargeList(DocPromotionRequest docPromotionRequest) throws SmsException;

    int cancel(DocPromotionRequest docPromotionRequest) throws SmsException;
    int cancelPromotionRecharge(DocPromotionRequest docPromotionRequest) throws SmsException;

    int updateStaff(DocPromotionRequest docPromotionRequest) throws SmsException;

    List<DocPromotionResponse> selectList(Long storeId, String dateStr);
    List<DocPromotion> selectFKJ(DocPromotionRequest docPromotionRequest);
    List<DocPromotion> selectFKJByDate(DocPromotionRequest docPromotionRequest);
    List<DocPromotionResponse> selectListAbnormal(Long storeId, String dateStr);
    List<DocPromotionResponse> selectLists(Long storeId, String startDate,String endDte);
    StoreDaily selectDayRecord(StoreDailyRequest storeDailyRequest);

    List<PromotionDayVo> selectByDay(List<Long> storeIds, Date startTime, Date endTime);

    List<DocPromotion> selectList(DocPromotionRequest docPromotionRequest);

    List<DocPromotion> selectListByStartTimeAndEndTime(Long id, Date startTime, Date endTime);
}
