package com.bonus.canteen.core.menu.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bonus.canteen.core.menu.dto.CategoryTreeListDTO;
import com.bonus.canteen.core.menu.dto.MenuMaterialCategoryAddDTO;
import com.bonus.canteen.core.menu.dto.MenuMaterialCategoryEditDTO;
import com.bonus.canteen.core.menu.dto.MenuMaterialCategoryPageDTO;
import com.bonus.canteen.core.menu.entity.MenuMaterialCategory;
import com.bonus.canteen.core.menu.vo.MenuCategoryTreeVO;
import com.bonus.canteen.core.menu.vo.MenuMaterialCategoryPageVO;

import java.util.List;

public interface MenuMaterialCategoryService extends IService<MenuMaterialCategory> {
   void addMenuMaterialCategory(MenuMaterialCategoryAddDTO content);

   Page<MenuMaterialCategoryPageVO> getMenuMaterialCategoryPage(MenuMaterialCategoryPageDTO content);

   List<MenuCategoryTreeVO> getCategoryTreeList(CategoryTreeListDTO content);

   void editMenuMaterialCategory(MenuMaterialCategoryEditDTO content);

   void removeMenuMaterialCategory(Long categoryId);
//
   void initMenuCategory();

   void generateCategoryNum(Long categoryId, Long parentId, Integer categoryType);

   void areaInitMenuCategory(Long areaId);

   Long getBigCategoryIdById(Long categoryId);

//   void generateCategoryLevel(Long categoryId, Long parentId, Integer categoryType);

//   List<AndroidBigCategorySyncVO> syncBigCategory(AndroidCategoryDTO content);
//
//   List<AndroidMenuMaterialSyncVO> syncMenuMaterial(AndroidMenuMaterialSyncDTO content);
//
//   void recoveryCategory(Set<Long> categoryIds);

   void syncAllCategoryBigCategoryAndLevel();
}
