package com.zsElectric.boot.business.service;

import com.zsElectric.boot.business.model.entity.FirmStationTimePrice;
import com.zsElectric.boot.business.model.form.FirmStationTimePriceForm;
import com.zsElectric.boot.business.model.query.ExclusivePriceQuery;
import com.zsElectric.boot.business.model.query.FirmStationTimePriceQuery;
import com.zsElectric.boot.business.model.vo.ExclusivePriceVO;
import com.zsElectric.boot.business.model.vo.FirmStationTimePriceVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 企业专属价格服务类
 *
 * @author zsElectric
 * @since 2025-12-11 10:13
 */
public interface FirmStationTimePriceService extends IService<FirmStationTimePrice> {

    /**
     *企业专属价格分页列表
     *
     * @return {@link IPage<FirmStationTimePriceVO>} 企业专属价格分页列表
     */
    IPage<FirmStationTimePriceVO> getFirmStationTimePricePage(FirmStationTimePriceQuery queryParams);

    /**
     * 获取企业专属价格表单数据
     *
     * @param id 企业专属价格ID
     * @return 企业专属价格表单数据
     */
     FirmStationTimePriceForm getFirmStationTimePriceFormData(Long id);

    /**
     * 新增企业专属价格
     *
     * @param formData 企业专属价格表单对象
     * @return 是否新增成功
     */
    boolean saveFirmStationTimePrice(FirmStationTimePriceForm formData);

    /**
     * 修改企业专属价格
     *
     * @param id   企业专属价格ID
     * @param formData 企业专属价格表单对象
     * @return 是否修改成功
     */
    boolean updateFirmStationTimePrice(Long id, FirmStationTimePriceForm formData);

    /**
     * 删除企业专属价格
     *
     * @param ids 企业专属价格ID，多个以英文逗号(,)分割
     * @return 是否删除成功
     */
    boolean deleteFirmStationTimePrices(String ids);

    List<ExclusivePriceVO> getExclusivePriceList(ExclusivePriceQuery queryParams);
}
