package com.ruoyi.iot.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.iot.domain.TDevicePlan;
import com.ruoyi.iot.domain.vo.TDevicePlanVO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TDevicePlanMapper extends BaseMapper<TDevicePlan> {
    /**
     * 插入充电预约内容
     *
     * @param tDevicePlan 充电预约内容
     * @return 受影响的行数
     */
    int insert(TDevicePlan tDevicePlan);

    /**
     * 统计设备的启用状态，用于更改设备状态
     *
     * @param status   启用状态
     * @param deviceId 设备编号
     * @return 匹配名称但不匹配id的数据的数量
     */
    int countByDeviceIdAndStatus(@Param("deviceId") String deviceId, @Param("status") Long status);

    @Update("update t_device_plan set status = 2 where id in (${ids})")
    int updatePlanById(@Param("ids") String ids);

    /**
     * 根据用戶id查询数据详情
     *
     * @param userId 用戶id
     * @return 匹配的数据详情，如果没有匹配的数据，则返回null
     */
    List<TDevicePlanVO> ListByUserId(Long userId);
}
