package com.ruoyi.ems.mapper;

import java.util.List;

import com.ruoyi.ems.domain.EmsObjAttrEnum;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 能源对象属性枚举Mapper接口
 *
 * @author ruoyi
 * @date 2025-02-26
 */
@Mapper
public interface EmsObjAttrEnumMapper {
    /**
     * 查询能源对象属性枚举列表
     *
     * @param modelCode 模型代码
     * @param attrKey   模型代码
     * @return 能源对象属性枚举集合
     */
    List<EmsObjAttrEnum> selectObjAttrEnumList(@Param("modelCode") String modelCode, @Param("attrKey") String attrKey);

    /**
     * 查询能源对象属性枚举列表
     *
     * @param modelCode 模型代码
     * @param attrKey   属性标识
     * @return 能源对象属性枚举集合
     */
    EmsObjAttrEnum selectObjAttrEnum(@Param("modelCode") String modelCode, @Param("attrKey") String attrKey,
        @Param("attrValue") String attrValue);

    /**
     * 新增能源对象属性枚举
     *
     * @param objAttrEnum 能源对象属性枚举
     * @return 结果
     */
    int insertObjAttrEnum(EmsObjAttrEnum objAttrEnum);

    /**
     * 新增能源对象属性枚举
     *
     * @param objAttrEnums 能源对象属性枚举列表
     * @return 结果
     */
    int insertObjAttrEnumBatch(List<EmsObjAttrEnum> objAttrEnums);

    /**
     * 批量删除能源对象属性枚举
     *
     * @param modelCode 模型代码
     * @return 结果
     */
    int deleteByModelCode(@Param("modelCode") String modelCode);

    /**
     * 删除能源对象属性枚举信息
     *
     * @param id 主键id
     * @return 结果
     */
    int deleteById(Long id);
}
