package com.fs.watch.mapper;

import com.fs.watch.domain.WatchDeviceInfo;
import com.fs.watch.domain.vo.WatchDeviceInfoAndUserIdVo;
import com.fs.watch.domain.vo.WatchDeviceInfoVo;
import com.fs.watch.param.WatchDeviceInfoQueryParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author Administrator
* @description 针对表【watch_device_info(设备硬件信息)】的数据库操作Mapper
* @createDate 2024-10-15 11:06:50
* @Entity watch.domain.WatchDeviceInfo
*/
public interface WatchDeviceInfoMapper{


    /**
     * 新增设备信息
     *
     * @param deviceInfo 设备信息
     * @return 结果
     */
    public int insertDeviceInfo(WatchDeviceInfo deviceInfo);

    WatchDeviceInfo selectByDeviceNumber(String deviceNumber);

    int updateByDeviceNumber(WatchDeviceInfo data);

    /**
     * 修改设备信息
     *
     * @param deviceInfo 设备信息
     * @return 结果
     */
    public int updateDeviceInfo(WatchDeviceInfo deviceInfo);

    int remove(String deviceNumber);

    /**
     * 查询设备信息列表
     *
     * @param param 设备信息
     * @return 设备信息集合
     */
    public List<WatchDeviceInfoVo> selectDeviceInfoList(WatchDeviceInfoQueryParam param);

    List<WatchDeviceInfoAndUserIdVo> selectByUserExist();

    /**
     * 查询设备信息
     *
     * @param deviceId 设备信息主键
     * @return 设备信息
     */
    public WatchDeviceInfoVo selectDeviceInfoByDeviceId(Long deviceId);

    WatchDeviceInfoVo getByNumber(@Param("number")String number);

    /**
     * 批量删除设备信息
     *
     * @param deviceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDeviceInfoByDeviceIds(Long[] deviceIds);


}
