package com.fs.company.service;

import java.util.List;

import com.fs.common.core.domain.R;
import com.fs.company.domain.CompanyVoicePackageOrder;
import com.fs.company.param.CompanyPackageBuyParam;
import com.fs.company.param.CompanyVoicePackageOrderListParam;
import com.fs.company.vo.CompanyVoicePackageOrderListVO;

/**
 * 套餐订单Service接口
 * 
 * @author fs
 * @date 2023-02-23
 */
public interface ICompanyVoicePackageOrderService 
{
    /**
     * 查询套餐订单
     * 
     * @param orderId 套餐订单ID
     * @return 套餐订单
     */
    public CompanyVoicePackageOrder selectCompanyVoicePackageOrderById(Long orderId);

    /**
     * 查询套餐订单列表
     * 
     * @param companyVoicePackageOrder 套餐订单
     * @return 套餐订单集合
     */
    public List<CompanyVoicePackageOrder> selectCompanyVoicePackageOrderList(CompanyVoicePackageOrder companyVoicePackageOrder);

    /**
     * 新增套餐订单
     * 
     * @param companyVoicePackageOrder 套餐订单
     * @return 结果
     */
    public int insertCompanyVoicePackageOrder(CompanyVoicePackageOrder companyVoicePackageOrder);

    /**
     * 修改套餐订单
     * 
     * @param companyVoicePackageOrder 套餐订单
     * @return 结果
     */
    public int updateCompanyVoicePackageOrder(CompanyVoicePackageOrder companyVoicePackageOrder);

    /**
     * 批量删除套餐订单
     * 
     * @param orderIds 需要删除的套餐订单ID
     * @return 结果
     */
    public int deleteCompanyVoicePackageOrderByIds(Long[] orderIds);

    /**
     * 删除套餐订单信息
     * 
     * @param orderId 套餐订单ID
     * @return 结果
     */
    public int deleteCompanyVoicePackageOrderById(Long orderId);

    List<CompanyVoicePackageOrderListVO> selectCompanyVoicePackageOrderListVO(CompanyVoicePackageOrderListParam param);

    R buy(CompanyPackageBuyParam param);
}
