package com.judong.chuanyiserver.dao;

import com.judong.chuanyiserver.entity.Menu;
import com.judong.chuanyiserver.entity.Permission;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface MenuDao {

    Menu getMenuByUrl(String menuUrl);

    Integer addMenu(Menu menu);

    Menu getMenuByNoIdUrl(int id, String menuUrl);

    Integer updateMenu(Menu menu);

    Long getMenuCount(String menuName, String menuUrl, Integer menuStatus);

    List<Menu> getMenuListByPage(Long startNum, Long limitNum, String menuName, String menuUrl, Integer menuStatus);

    Menu getMenuById(Integer id);

    Menu getMenuByName(String menuName);

    Menu getMenuByNoIdName(int id, String menuName);

    Integer deleteMenuById(Integer id);

    Integer deleteRoleMenuById(Integer menuId);

    Integer deleteMenuPermissionByMenuId(Integer menuId);

    List<Permission> getPermissionListByMenuList(List<Menu> menuList);

    List<Permission> getSharePermissionList(Integer menuId, List<Permission> permissionList);

    List<Permission> getNoShareOldPermissionList(Integer menuId, List<Permission> permissionList);

    Integer deleteMenuPermission(Integer menuId, List<Permission> permissionList);

    Integer addMenuPermissionList(Integer menuId, List<Permission> permissionList);

    List<Menu> getAllMenu(Integer menuAvailable);
}
