package com.css.simulation.resource.server.infra.db.mysql.mapper;

import api.common.pojo.param.system.ClusterParam;
import api.common.pojo.po.system.ClusterPO;
import api.common.pojo.vo.system.ClusterVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.HashMap;
import java.util.List;

@Mapper
@Repository
public interface ClusterMapper {

    List<ClusterVO> getClusterList(ClusterParam clusterParam);

    void insert(ClusterPO clusterPO);

    void deleteById(ClusterPO clusterPO);

    List<ClusterVO> getClusterHistory(ClusterParam clusterParam);

    HashMap<String, Integer> getClusterNum(ClusterParam clusterParam);

    Integer getSimulationLicenseNum(@Param("userId") String userId);

    Integer getDynamicLicenseNum(@Param("userId") String userId);

    Integer getAssignedSimLicenseNum(ClusterParam clusterParam);

    Integer getAssignedDynLicenseNum(ClusterParam clusterParam);

    ClusterVO getClusterByUserId(String userId);

}
