package com.ho.business.service;

import com.ho.business.vo.req.elecPriceCurve.BatchDeleteReq;
import com.ho.business.vo.req.elecPriceCurve.ElecPriceTemplateReq;
import com.ho.business.vo.req.elecPriceCurve.ElecPriceTemplateReqVO;
import com.ho.business.vo.resp.elecPriceCurve.ElecPriceTemplate;
import com.ho.business.vo.resp.elecPriceCurve.ElecPriceTemplateExcel;

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

/**
 * @Description 电价曲线模板设置
 * Author yule
 * Date 2023/4/19 14:30
 */
public interface ElecPriceCurveService {
    /**
     * 新增电价曲线模板
     * @param elecPriceTemplate
     */
    void add(ElecPriceTemplate elecPriceTemplate);

    /**
     * 删除电价曲线模板
     * @param elecPriceTemplateReq
     */
    Map<String,Object> deleted(ElecPriceTemplateReq elecPriceTemplateReq);

    /**
     * 修改电价曲线模板
     * @param elecPriceTemplate
     */
    void update(ElecPriceTemplate elecPriceTemplate);

    /**
     * 查询单个电价曲线模板
     * @param elecPriceTemplateReq
     * @return
     */
    ElecPriceTemplate getOne(ElecPriceTemplateReq elecPriceTemplateReq);


    /**
     * 查询所有电价曲线模板
     * @param vo 查询参数
     * @return
     */
    List<ElecPriceTemplate> getAll(ElecPriceTemplateReqVO vo);

    /**
     * 导入数据存储到数据库中
     * @param excelList 表格中的每行数据
     */
    void importExcel(List<ElecPriceTemplateExcel> excelList);

    /**
     * 批量删除电价曲线数据
     * @param elecPriceTemplateReq
     */
    void batchDelete(BatchDeleteReq elecPriceTemplateReq);

    /**
     * 根据id集合获取电价曲线数据
     * @param batchDeleteReq
     * @return
     */
    List<ElecPriceTemplate> getListByIds(BatchDeleteReq batchDeleteReq);


    ElecPriceTemplate addSearch(Integer stationId);

}
