86 lines
2.3 KiB
Java
86 lines
2.3 KiB
Java
package com.klp.ems.service;
|
||
|
||
import com.klp.ems.domain.EmsEnergyRate;
|
||
import com.klp.ems.domain.vo.EmsEnergyRateVo;
|
||
import com.klp.ems.domain.vo.EmsRateTierVo;
|
||
import com.klp.ems.domain.vo.EmsRateTimePeriodLinkVo;
|
||
import com.klp.ems.domain.bo.EmsEnergyRateBo;
|
||
import com.klp.ems.domain.bo.EmsRateTierBo;
|
||
import com.klp.ems.domain.bo.EmsRateTimePeriodLinkBo;
|
||
import com.klp.ems.domain.bo.EmsRateTierPeriodLinkBo;
|
||
import com.klp.common.core.page.TableDataInfo;
|
||
import com.klp.common.core.domain.PageQuery;
|
||
|
||
import java.util.Collection;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* 能源费率Service接口
|
||
* 支持:固定费率、峰谷分时、阶梯电价、峰谷+阶梯组合
|
||
*
|
||
* @author Joshi
|
||
* @date 2025-09-28
|
||
*/
|
||
public interface IEmsEnergyRateService {
|
||
|
||
/**
|
||
* 查询能源费率
|
||
*/
|
||
EmsEnergyRateVo queryById(Long energyRateId);
|
||
|
||
/**
|
||
* 查询能源费率列表
|
||
*/
|
||
TableDataInfo<EmsEnergyRateVo> queryPageList(EmsEnergyRateBo bo, PageQuery pageQuery);
|
||
|
||
/**
|
||
* 查询能源费率列表
|
||
*/
|
||
List<EmsEnergyRateVo> queryList(EmsEnergyRateBo bo);
|
||
|
||
/**
|
||
* 新增能源费率(包括梯度和时段费率)
|
||
*/
|
||
Boolean insertByBo(EmsEnergyRateBo bo);
|
||
|
||
/**
|
||
* 修改能源费率(包括梯度和时段费率)
|
||
*/
|
||
Boolean updateByBo(EmsEnergyRateBo bo);
|
||
|
||
/**
|
||
* 删除能源费率(级联删除梯度和时段费率)
|
||
*/
|
||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||
|
||
/**
|
||
* 获取费率的梯度费率列表
|
||
*/
|
||
List<EmsRateTierVo> getRateTiers(Long energyRateId);
|
||
|
||
/**
|
||
* 获取费率的时段费率列表
|
||
*/
|
||
List<EmsRateTimePeriodLinkVo> getRateTimePeriods(Long energyRateId);
|
||
|
||
/**
|
||
* 保存梯度费率,返回保存后的梯度列表(包含tierId)
|
||
*/
|
||
List<EmsRateTierVo> saveTiers(Long energyRateId, List<EmsRateTierBo> tiers);
|
||
|
||
/**
|
||
* 保存时段费率
|
||
*/
|
||
Boolean saveTimePeriods(Long energyRateId, List<EmsRateTimePeriodLinkBo> timePeriods);
|
||
|
||
/**
|
||
* 获取梯度的峰谷时段费率(用于梯度+峰谷组合模式)
|
||
*/
|
||
List<EmsRateTierPeriodLinkBo> getTierPeriodLinks(Long tierId);
|
||
|
||
/**
|
||
* 保存梯度-时段关联费率(用于梯度+峰谷组合模式)
|
||
*/
|
||
Boolean saveTierPeriodLinks(Long tierId, List<EmsRateTierPeriodLinkBo> tierPeriodLinks);
|
||
}
|