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.SysPlatform;
import com.usky.system.domain.SysPlatformMenu;
import com.usky.system.service.vo.SysPlatformVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 平台信息表 Mapper 接口
 * </p>
 *
 * @author ya
 * @since 2022-05-18
 */
@Repository
public interface SysPlatformMapper extends CrudMapper<SysPlatform> {

    List<SysPlatformVo> getPlatformList(@Param("platformName") String platformName,
                                        @Param("startTime") String startTime,
                                        @Param("endTime") String endTime,
                                        @Param("current") Integer current,
                                        @Param("size") Integer size,
                                        @Param("id") Integer id);

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

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

    int deletePlatformMenuBy(@Param("platformId") Long platformId);

    int deleteMobilePlatformMenuBy(@Param("platformId") Long platformId);


    List<SysPlatformMenu> getMenuListOne(@Param("platformId") Long platformId,
                                         @Param("menuType")  String menuType);

    List<SysPlatformVo> getRolePlatformList(@Param("tenantId") Integer tenantId,
                                        @Param("roleId") Integer roleId);

    List<SysPlatformVo> getTenantPlatformList(@Param("tenantId") Integer tenantId);
}
