package com.zsElectric.boot.business.service;

import com.zsElectric.boot.business.model.dto.AddPolicyFeeDTO;
import com.zsElectric.boot.business.model.vo.TimePeriodPriceVO;

import java.util.List;

/**
 * 策略费用服务接口
 *
 * @author system
 * @since 2025-12-15
 */
public interface PolicyFeeService {
    /**
     * 根据站点查询策略费用
     *
     * @param stationId 站点信息ID
     * @param salesType 销售类型（0-平台 1-企业 2-渠道方）
     * @param firmId 企业ID（salesType=1时使用）
     * @param thirdPartyId 渠道方ID（salesType=2时使用）
     * @return 策略费用列表
     */
    List<TimePeriodPriceVO> getPolicyFee(long stationId, int salesType, Long firmId, Long thirdPartyId);

    /**
     * 新增站点查询策略费用
     * */
    boolean addPolicyFee(AddPolicyFeeDTO addPolicyFeeDTO);

    /**
     * 批量新增/修改策略费用
     *
     * @param addPolicyFeeDTOList 策略费用信息列表
     * @return 操作结果
     */
    boolean batchAddPolicyFee(List<AddPolicyFeeDTO> addPolicyFeeDTOList);

}
