package cn.iocoder.yudao.module.system.service.restaurant;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.restaurant.vo.CateringPlanPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.restaurant.vo.CateringPlanRespVO;
import cn.iocoder.yudao.module.system.controller.admin.restaurant.vo.CateringPlanSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.restaurant.CateringPlanDO;
import cn.iocoder.yudao.module.system.dal.dataobject.restaurant.CateringPlanItemDO;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ImportResultVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 餐谱计划 Service 接口
 *
 * @author 系统管理员
 */
public interface CateringPlanService {


    Long createCateringPlan(CateringPlanSaveReqVO createReqVO);

    PageResult<CateringPlanDO> getCateringPlanPage(CateringPlanPageReqVO pageReqVO);

    void updateCateringPlan(CateringPlanSaveReqVO updateReqVO);

    CateringPlanRespVO getCateringPlan(Long id);

    void deleteCateringPlan(Long[] ids);

    List<CateringPlanItemDO> exportCateringPlanItemExcel(Long id);

    CateringPlanRespVO exportCateringPlanItemExcelDate(Long id);

    void exportImportTemplate(HttpServletResponse response) throws IOException;

    ImportResultVO importCateringPlan(MultipartFile file, Long restaurantId) throws Exception;

}