package com.njcn.device.device.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pq.pojo.param.ConstantValueParam;
import com.njcn.device.pq.pojo.po.Device;
import com.njcn.device.pq.pojo.vo.DevStatusNumVO;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author cdf
 * @since 2022-01-07
 */
public interface IDeviceService extends IService<Device> {


//    /***
//     * @Description: mqtt获取外部定值
//     * @param param
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/14 10:17
//     */
//    String sentLine(ConstantValueParam.Constant param);
//
//    /***
//     * @Description: mqtt修改外部定值
//     * @param param
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/14 11:07
//     */
//    String sentLineData(ConstantValueParam.ValueData param);
//
//    /**
//     * @param param
//     * @Description: mqtt获取内部定值
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/14 14:51
//     */
//    String sentDev(ConstantValueParam.Constant param);
//
//    /**
//     * @param param
//     * @Description: mqtt修改内部定值
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/14 14:51
//     */
//    String sentDevData(ConstantValueParam.ValueData param);
//
//    /**
//     * @param devID
//     * @Description: 终端性能查看
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/15 11:27
//     */
//    String socketDevProperty(String devID);
//
//    /**
//     * @param devID
//     * @Description: 终端性能关闭
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/15 16:13
//     */
//    String socketDevPropertyClose(String devID);
//
//    /**
//     * @param lineIndex
//     * @Description: 监测点实时数据查看
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/15 16:13
//     */
//    String realTimeData(String lineIndex);
//
//    /**
//     * @param lineIndex
//     * @Description: 监测实施数据心跳
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/15 16:14
//     */
//    String heartRealTimeData(String lineIndex);
//
//    /**
//     * @param lineIndex
//     * @Description: 监测点实施数据关闭
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/15 16:14
//     */
//    String closeRealTimeData(String lineIndex);
//
//    /**
//     * 终端版本升级，批量升级条件必须是相同终端系列的终端才能升级
//     *
//     * @param list
//     * @param edIndex
//     * @return
//     */
//    String getDevUpgrades(List<String> list, String edIndex);
//
//    /**
//     * @param devList
//     * @Description: 终端升级取消
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/17 9:24
//     */
//    String closeUpgrades(List<String> devList);
//
//    /**
//     * @param devList
//     * @Description: 重启装置命令
//     * @return: java.lang.String
//     * @Author: wr
//     * @Date: 2023/8/17 9:24
//     */
//    String restartDev(List<String> devList);

    /**
     * @param devId             装置id
     * @param thisTimeCheck     本次定检时间
     * @param nextTimeCheck     下次定检时间
     * @Description: 技术监督修改装置定检时间
     */
    void updateDevCheckTime(String devId, String thisTimeCheck, String nextTimeCheck);



    /**
     * 统计不同运行状态的终端数量
     */
    DevStatusNumVO statisticDevNum(List<String> devIds);
}
