package com.ym.mec.biz.dal.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ym.mec.biz.dal.entity.PlatformProduct;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PlatformProductDao extends BaseMapper<PlatformProduct> {
    int deleteByPrimaryKey(Integer id);

    int insertSelective(PlatformProduct record);

    PlatformProduct selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(PlatformProduct record);

    <T> IPage<T> queryPage(Page<T> page, @Param("search") String search);

    List<String> queryMenuIdList(Integer serveId);

    /**
     * 根据条件机构和产品的关系
     *
     * @param productId 产品id
     * @param serveId   服务id
     * @param tenantId  机构id
     * @return tenantId 机构id,userId机构管理员id
     */
    List<Map<Integer, Integer>> queryTenantByMultiId(@Param("productId") Integer productId, @Param("serveId") Integer serveId, @Param("tenantId") Integer tenantId);


    /**
     * 批量添加角色和菜单关系
     *
     * @param roleId  角色id
     * @param menuIds 菜单集合
     */
    int batchInsertRoleMenu(@Param("roleId") Integer roleId, @Param("menuIds") List<Integer> menuIds, @Param("tenantId") Integer tenantId);


}