package com.common.service;



import com.common.entity.DeviceReceiveLog;
import com.github.pagehelper.PageInfo;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface DeviceReceiveLogService {

    // 插入操作
    Long insertLog(DeviceReceiveLog log);
    int batchInsertLogs(List<DeviceReceiveLog> logs);

    // 查询操作
    DeviceReceiveLog getById(Long id);
    List<DeviceReceiveLog> getByDeviceId(Integer deviceId);
    List<DeviceReceiveLog> getByCollectId(Integer collectId);
    List<DeviceReceiveLog> getByTimeRange(LocalDateTime startTime, LocalDateTime endTime);
    List<DeviceReceiveLog> getByCondition(DeviceReceiveLog condition);
    PageInfo<DeviceReceiveLog> getByConditionPage(DeviceReceiveLog condition, Integer pageNum, Integer pageSize);

    // 统计操作
    Long countByCondition(DeviceReceiveLog condition);
    List<Map<String, Object>> getDeviceLogStatistics();

    // 删除操作
    int deleteOldLogs(LocalDateTime beforeTime);

    // 获取最近日志
    List<DeviceReceiveLog> getRecentLogs(Integer limit);
}