package com.palmnest.service.dinner.service;

import com.palmnest.application.bean.AppResultDto;
import com.palmnest.application.bean.Page;
import com.palmnest.application.dto.input.MealDto;
import com.palmnest.application.dto.input.MealSearchDto;
import com.palmnest.application.dto.output.MealOutPutDto;
import org.springframework.web.multipart.MultipartHttpServletRequest;

import java.io.InputStream;
import java.util.List;

/**
 * 餐品service类
 *
 * @author longmeizhen
 */
public interface MealService {

	/**
	 * 保存修改餐品
	 *
	 * @param userId
	 * @param dto
	 * @return
	 */
	AppResultDto saveAndUpdateMeal(String userId, MealDto dto, MultipartHttpServletRequest request);

	/**
	 * 获取菜品详情
	 *
	 * @param id
	 * @return
	 */
	MealDto findById(Long id, String wxUserId, String time);

	/**
	 * 获取菜品详情
	 *
	 * @param id
	 * @return
	 */
	MealDto findById(Long id);

	/**
	 * 上架下架删除
	 *
	 * @param id
	 * @param type1上架2下架3删除
	 * @return
	 */
	AppResultDto updateMeal(Long id, int type, String userId);

	/**
	 * 获取餐品列表
	 *
	 * @param dto
	 * @return
	 */
	Page findList(MealSearchDto dto);

	/**
	 * 获取供应时间为当天且状态为上架的餐品
	 *
	 * @param orgId
	 * @return
	 */
	List<MealOutPutDto> getMealList(String orgId);

	/**
	 * 导入餐品
	 *
	 * @param orgId
	 * @param userId
	 * @param ins
	 * @return
	 */
	AppResultDto importMeal(String orgId, String userId, InputStream ins);
}
