package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.RechargeType;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.query.RechargeTypeRequest;

import java.util.List;

public interface SsmRechargeTypeSevice extends BaseService<RechargeType> {
    PageInfo<RechargeType> selectPage(RechargeTypeRequest rechargeRequest);
    PageInfo<RechargeType> selectPagess(RechargeTypeRequest rechargeRequest);
    PageInfo<RechargeType> selectnewPage(RechargeTypeRequest rechargeRequest);
    PageInfo<RechargeType> selectnewPages(RechargeTypeRequest rechargeRequest);
    PageInfo<RechargeType> selectpromotionPage(RechargeTypeRequest rechargeRequest);

    int addRecharge(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;
    int addPromotionCourse(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;
    int addRecharges(List<RechargeTypeRequest> rechargeRequest, String phone) throws SmsException;

    int updateRecharge(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;
    int updatePromotionRecharge(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;

    int deleteRecharge(RechargeTypeRequest rechargeRequest);

    int updateStates(RechargeTypeRequest rechargeRequest);

    List<RechargeType> selectList(RechargeTypeRequest rechargeTypeRequest,Long storeId)throws SmsException;
    List<RechargeType> selectsjianjiList(RechargeTypeRequest rechargeTypeRequest);
    List<RechargeType> selectsjianjiLists(RechargeTypeRequest rechargeTypeRequest);
    RechargeType one(RechargeTypeRequest rechargeTypeRequest);

    List<RechargeType> insertBatch(List<RechargeType> list, Long storeId, String storeName, String phone) throws SmsException;

    int addRecharges(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;

    int updateRecharges(RechargeTypeRequest rechargeRequest, String phone) throws SmsException;

    int deleteRecharges(RechargeTypeRequest rechargeRequest);

    List<RechargeType> selectById(List<Long> rechargeTypeId);
}
