package com.xunhong.erp.turbo.api.rbac.api;

import cn.hutool.core.lang.tree.Tree;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuCreateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuDestroyCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuDragCmd;
import com.xunhong.erp.turbo.api.rbac.dto.cmd.MenuUpdateCmd;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuListQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuShowQry;
import com.xunhong.erp.turbo.api.rbac.dto.qry.MenuTreeQry;
import com.xunhong.erp.turbo.api.rbac.dto.vo.MenuVO;

import java.util.List;

/**
 * @author shenyifei
 */
public interface MenuServiceI {
	List<Tree<Long>> tree(MenuTreeQry menuTreeQry);

	MenuVO create(MenuCreateCmd menuCreateCmd);

	MenuVO show(MenuShowQry menuShowQry);

	MenuVO update(MenuUpdateCmd menuUpdateCmd);

	void destroy(MenuDestroyCmd menuDestroyCmd);

	List<MenuVO> list(MenuListQry menuListQry);

	void drag(MenuDragCmd menuDragCmd);
}
