package com.manage.dao;

import com.manage.entity.Power_Menu;
import com.manage.entity.Power_Menu_User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface Power_MenuMapper {
    int deleteByPrimaryKey(Integer menuId);

    int insert(Power_Menu record);

    int insertSelective(Power_Menu record);

    Power_Menu selectByPrimaryKey(Integer menuId);

    int updateByPrimaryKeySelective(Power_Menu record);

    int updateByPrimaryKey(Power_Menu record);

    List<Power_Menu> queryAllPowerMenu(@Param("sysFlag")String sysFlag,@Param("roleId")Integer roleId);

    //List<Power_Detailed_Menu> queryMenuViewByUserId(Integer userId);

    List<Power_Menu_User> queryPoswerMenuByUserId(@Param("userId") Integer userId,@Param("sysFlag")String sysFlag);
    List<Power_Menu> selectAll(@Param("sysFlag")String sysFlag, @Param("isEffective")Integer isEffective,@Param("roleId")Integer roleId);
    List<Power_Menu> selectMethodByMenuIdPowerTree(@Param("parentId")Integer parentId);

    List<Power_Menu> selectRoleMenuByUserIdAndDictId(@Param("dictId") Integer dictId, @Param("userId") Integer userId);

    List<Power_Menu> selectUserMenuByUserIdAndDictId(@Param("dictId") Integer dictId, @Param("userId") Integer userId);

    List<Power_Menu> checkMenuNameBySysId(@Param("sysFlag") String sysFlag, @Param("menuName") String menuName);
    List<Power_Menu> checkMethodByParentId(@Param("parentId") Integer parentId,@Param("menuName")String menuName,@Param("method")String method);

    List<Power_Menu> selectUserAndRoleMenuListPower(@Param("userId")Integer userId,@Param("sysFlag")String sysFlag);

    int updateChildSysFlagAndSysId(@Param("menuId")Integer menuId,@Param("sysId")Integer sysId,@Param("sysFlag")String sysFlag);
}