package cn.ezhizao.project.business.collection.service;

import cn.ezhizao.project.business.collection.domain.BizCollection;
import cn.ezhizao.project.business.collection.domain.CollectionExcelLoopModel;
import cn.ezhizao.project.business.collection.domain.CollectionExcelOnceModel;
import cn.ezhizao.project.business.collection.domain.vo.ReqStatisticsVo;
import cn.ezhizao.project.business.collection.domain.vo.ResStatisticsVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * @author 朱汕
 */
public interface IBizCollectionService extends IService<BizCollection> {

    /**
     * 根据Bean查询 列表
     *
     * @param collection 实体类对象
     * @return List 集合
     */
    List<BizCollection> getListByBean(BizCollection collection);


    /**
     * 带条件的查询
     *
     * @param conditions 条件
     * @return List 集合
     */
    List<BizCollection> getList(Map<String, Object> conditions);

    /**
     * 带条件的查询总数
     *
     * @param conditions 条件
     * @return int 查询总数量
     */
    int getTotal(Map<String, Object> conditions);

    public boolean removeBatchByIds(List<Long> ids);

    String importLoop(List<CollectionExcelLoopModel> orderList, Long userId, long l);

    String importOnce(List<CollectionExcelOnceModel> orderList, Long userId, long l);

    boolean removeCollectionBatchByIds(List<Long> ids);

    List<ResStatisticsVo> statistics(ReqStatisticsVo conditions);

    List<ResStatisticsVo> getByContractIn(ReqStatisticsVo conditions);

    List<ResStatisticsVo> getByContractOut(ReqStatisticsVo conditions);
}
