package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.CardChangeList;
import com.ssm.manage.entity.RechargeList;
import com.ssm.manage.entity.RechargeTurnCourse;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.query.CardChangeOutProjectRequest;
import com.ssm.manage.query.RechargeTurnCourseRequest;
import com.ssm.manage.response.RechargeTurnCoursesResponse;

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

public interface SsmRechargeTurnCourseService  extends BaseService<RechargeTurnCourse> {
    int add(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int update(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int submit(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int recycle(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int audit(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int theAudit(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int cancel(RechargeTurnCourseRequest rechargeTurnCourseRequest,String staffPhone) throws SmsException;
    int delete(RechargeTurnCourseRequest rechargeTurnCourseRequest) throws SmsException;
    PageInfo<RechargeTurnCourseRequest> selectPage(RechargeTurnCourseRequest rechargeTurnCourseRequest);
    PageInfo<RechargeTurnCourseRequest> selectPageNew(RechargeTurnCourseRequest rechargeTurnCourseRequest);
    PageInfo<RechargeTurnCourseRequest> pageDetail(RechargeTurnCourseRequest rechargeTurnCourseRequest);

    List<RechargeTurnCoursesResponse> selectDate(Long storeId);
    List<RechargeTurnCoursesResponse> select(Long storeId,String startDate, String endDate);
    List<RechargeTurnCoursesResponse> selectDates(Long storeId, String date);
    List<RechargeTurnCoursesResponse> selectBystartAndEndTime(Long storeId, Date startTime,Date endTime);
    List<RechargeTurnCoursesResponse> selectDateschia(Long storeId, Date startDate, Date endDate);
    List<RechargeTurnCourse> selectFKJ(RechargeTurnCourse rechargeTurnCourse);
    List<RechargeTurnCourse> selectFKJByDate(RechargeTurnCourse rechargeTurnCourse);
}
