package com.data.emqx.mapper;

import com.data.emqx.domain.DeviceParamWrite;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DeviceParamWriteMapper {

    /**
     * 插入设备参数写入记录
     */
    void insertParamWrite(DeviceParamWrite paramWrite);

    /**
     * 更新参数写入状态
     */
    void updateStatusByDeviceIdAndParamKey(DeviceParamWrite paramWrite);

    /**
     * 根据设备ID和参数名查询参数
     */
    DeviceParamWrite selectByDeviceIdAndParamKey(@Param("deviceId") String deviceId, @Param("paramKey") String paramKey);

    /**
     * 查询设备所有待同步的参数（状态为Pending）
     */
    List<DeviceParamWrite> selectPendingParamsByDeviceId(String deviceId);

    /**
     * 根据设备ID查询所有参数记录
     */
    List<DeviceParamWrite> selectByDeviceId(String deviceId);
}
