package com.ruoyi.ems.service;

import com.ruoyi.ems.domain.ElecGwPriceConfig;
import com.ruoyi.ems.domain.ElecPvPriceConfig;

import java.util.List;

/**
 * 电价配置Service接口
 *
 * @author ruoyi
 * @date 2024-07-23
 */
public interface IElecPriceConfigService {
    /**
     * 查询电价配置
     *
     * @param id 电价配置主键
     * @return 电价配置
     */
    ElecGwPriceConfig selectGwElecPriceCfgById(Long id);

    /**
     * 查询电价配置
     *
     * @param code 电价配置code
     * @return 电价配置
     */
    ElecGwPriceConfig selectGwElecPriceCfgByCode(String code);

    /**
     * 查询电价配置列表
     *
     * @param elecPriceConfig 电价配置
     * @return 电价配置集合
     */
    List<ElecGwPriceConfig> selectGwElecPriceCfgList(ElecGwPriceConfig elecPriceConfig);

    /**
     * 新增电价配置
     *
     * @param elecPriceConfig 电价配置
     * @return 结果
     */
    int insertGwElecPriceCfg(ElecGwPriceConfig elecPriceConfig);

    /**
     * 修改电价配置
     *
     * @param elecPriceConfig 电价配置
     * @return 结果
     */
    int updateGwElecPriceCfg(ElecGwPriceConfig elecPriceConfig);

    /**
     * 批量删除电价配置
     *
     * @param ids 需要删除的电价配置主键集合
     * @return 结果
     */
    int deleteGwElecPriceCfgByIds(Long[] ids);

    /**
     * 删除电价配置信息
     *
     * @param id 电价配置主键
     * @return 结果
     */
    int deleteGwElecPriceCfgById(Long id);

    /**
     * 查询光伏电价配置
     *
     * @param id 光伏电价配置主键
     * @return 光伏电价配置
     */
    ElecPvPriceConfig selectPvPriceCfgById(Long id);

    /**
     * 查询光伏电价配置列表
     *
     * @param elecPvPriceConfig 光伏电价配置
     * @return 光伏电价配置集合
     */
    List<ElecPvPriceConfig> selectPvPriceCfgList(ElecPvPriceConfig elecPvPriceConfig);

    /**
     * 新增光伏电价配置
     *
     * @param elecPvPriceConfig 光伏电价配置
     * @return 结果
     */
    int insertPvPriceCfg(ElecPvPriceConfig elecPvPriceConfig);

    /**
     * 修改光伏电价配置
     *
     * @param elecPvPriceConfig 光伏电价配置
     * @return 结果
     */
    int updatePvPriceCfg(ElecPvPriceConfig elecPvPriceConfig);

    /**
     * 批量删除光伏电价配置
     *
     * @param ids 需要删除的光伏电价配置主键集合
     * @return 结果
     */
    int deletePvPriceCfgByIds(Long[] ids);

    /**
     * 删除光伏电价配置信息
     *
     * @param id 光伏电价配置主键
     * @return 结果
     */
    int deletePvPriceCfgById(Long id);
}
