package com.rj.service;

import com.rj.entity.YhyHeartbeatLog;

import java.util.Map;

/**
 * <p>
 * 心跳日志表 服务类
 * </p>
 *
 * @author Auto Generated
 * @since 2025-01-01
 */
public interface IYhyHeartbeatLogService extends com.baomidou.mybatisplus.extension.service.IService<YhyHeartbeatLog> {

    /**
     * 分页查询心跳日志列表
     *
     * @param current 页码
     * @param size 每页大小
     * @param deviceNo 设备号
     * @param deviceStatus 设备状态
     * @param powerStatus 电源状态
     * @param heartbeatStartTime 心跳开始时间
     * @param heartbeatEndTime 心跳结束时间
     * @param createStartTime 创建开始时间
     * @param createEndTime 创建结束时间
     * @return 分页结果
     */
    Map<String, Object> getHeartbeatLogList(Integer current, Integer size, String deviceNo, 
                                             String deviceStatus, Boolean powerStatus,
                                             String heartbeatStartTime, String heartbeatEndTime,
                                             String createStartTime, String createEndTime);

    /**
     * 根据ID查询心跳日志
     *
     * @param id 心跳日志ID
     * @return 查询结果
     */
    Map<String, Object> getHeartbeatLogById(String id);

    /**
     * 根据设备号查询心跳日志列表
     *
     * @param deviceNo 设备号
     * @return 查询结果
     */
    Map<String, Object> getHeartbeatLogByDeviceNo(String deviceNo);

    /**
     * 新增心跳日志
     *
     * @param heartbeatLog 心跳日志信息
     * @return 操作结果
     */
    Map<String, Object> addHeartbeatLog(YhyHeartbeatLog heartbeatLog);

    /**
     * 更新心跳日志信息
     *
     * @param heartbeatLog 心跳日志信息
     * @return 操作结果
     */
    Map<String, Object> updateHeartbeatLog(YhyHeartbeatLog heartbeatLog);

    /**
     * 根据ID删除心跳日志
     *
     * @param id 心跳日志ID
     * @return 操作结果
     */
    Map<String, Object> deleteHeartbeatLog(String id);

    /**
     * 处理心跳上报数据
     * 解析JSON格式的心跳数据并保存到数据库
     *
     * @param requestData 心跳上报的JSON数据
     * @return 操作结果
     */
    Map<String, Object> processHeartbeatReport(Map<String, Object> requestData);
}

