package com.ssm.manage.service;

import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.RepayList;
import com.ssm.manage.entity.RepayTradeList;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.extendEntity.StoreDaily;
import com.ssm.manage.query.RepayListRequest;
import com.ssm.manage.query.RepayTradeRequest;
import com.ssm.manage.query.StoreDailyRequest;

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

public interface SsmRepayTradeService extends BaseService<RepayTradeList> {
    List<RepayTradeList> selectList(RepayTradeList repayTradeList);
    List<RepayTradeList> selectFKJ(RepayTradeRequest repayTradeList);
    List<RepayTradeList> selectFKJByDate(RepayTradeRequest repayTradeList);

    int add(List<RepayTradeRequest> repayTradeLists, RepayList repayList) throws SmsException;
    int addPromotionRecharge(List<RepayTradeRequest> repayTradeLists, RepayList repayList) throws SmsException;

    int cancel(List<RepayTradeRequest> repayTradeLists, RepayList repayList) throws SmsException;
    int cancelPromotionRecharge(List<RepayTradeRequest> repayTradeLists, RepayList repayList) throws SmsException;

    List<RepayTradeList> selectList(RepayListRequest repayListRequest);
    List<RepayTradeList> selectLists(RepayListRequest repayListRequest);
    List<RepayTradeList> selectListBetween(RepayListRequest repayListRequest);

    int updateStaff(List<RepayTradeRequest> repayTradeRequests) throws SmsException;

    int updateStaff(RepayTradeRequest repayTradeRequest) throws SmsException;

    StoreDaily selectrepayCooperate(StoreDailyRequest storeDailyRequest);

    List<RepayTradeList> selectListNew(RepayListRequest repayListRequest);

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