package com.foreverwin.mesnac.meapi.mapper;

import com.foreverwin.mesnac.meapi.dto.ResrceWorkCenter;
import com.foreverwin.mesnac.meapi.model.Resrce;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

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

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author Leon.L
 * @since 2021-05-26
 */
@Repository
public interface ResrceMapper extends BaseMapper<Resrce> {

    List<Resrce> selectResourceListByType(@Param("site") String site, @Param("resourceType") String resourceType);

    /**
     * 查询站点下所有资源类型与资源关系清单
     *
     * @param site
     * @return
     */
    List<Map<String, Object>> selectResourceTypeResourceList(@Param("site") String site);

    Resrce findByResrce(@Param("site") String site, @Param("resrce") String resrce);

    List<Resrce> findAllResrce(@Param("site") String site);

    List<Resrce> findResourceListByResourceType(@Param("site") String site, @Param("resourceTypeBo") String resourceTypeBo);

    List<Map<String, Object>> selectResourceOperation(@Param("resourceBo") String resourceBo);

    ResrceWorkCenter findResourceAndWorkCenterByResource(Resrce resrce);

    List<Resrce> selectResourceListByUT(@Param("site") String site, @Param("resourceType") String resourceType, @Param("userList") String[] userList);

    String isInspectByResrce(@Param("site") String site, @Param("resrce") String resrce);

    String findCustomFieldByResrce(@Param("site")String site,@Param("resrce")String resrce,@Param("customField")String customField);

    /**
     * 通过设备找到它的自定义字段，并且自定义字段的值不能为空
     * @param site 站点
     * @param resource  设备  可以为空
     * @param customField 自定义字段名，不能为空
     * @return 返回   设备、设备描述、自定义字段
     */
    List<Resrce> findCustomFieldsList(@Param("site")String site,@Param("resource")String resource,@Param("customField")String customField);


}