package com.usky.system.mapper;

import com.usky.common.mybatis.core.CrudMapper;
import com.usky.system.domain.SysMenu;
import com.usky.system.domain.SysMobileMenu;
import com.usky.system.domain.SysPlatformMenu;
import com.usky.system.domain.SysTenantMenu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 平台和菜单关联表 Mapper 接口
 * </p>
 *
 * @author ya
 * @since 2022-05-18
 */
public interface SysPlatformMenuMapper extends CrudMapper<SysPlatformMenu> {

    List<SysMenu> getMenuList(@Param("platformId") Integer platformId,
                              @Param("menuType") String menuType);

    List<SysMobileMenu> getMobileMenuList(@Param("platformIds") List<Integer> platformIds,
                              @Param("menuType") String menuType);

    List<SysMenu> getMenuIdList(@Param("menuIds") Long[] menuIds,
                                @Param("menuType") String menuType);

    List<SysMobileMenu> getMobileMenuIdList(@Param("menuIds") Long[] menuIds,
                                @Param("menuType") String menuType);

    int deleteTenantMenuBy(@Param("tenantId") Long tenantId);

    int deleteMobileTenantMenuBy(@Param("tenantId") Long tenantId);

    List<SysTenantMenu> getMenuListOne(@Param("tenantId") Integer tenantId,
                                       @Param("menuType") String menuType);
}
