package com.haha.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.haha.entity.SyncRecord;
import com.haha.entity.SyncLog;

import java.util.List;
import java.util.Map;

/**
 * 数据同步服务接口
 */
public interface DataSyncService extends IService<SyncRecord> {

    /**
     * 同步设备列表
     * 从哈哈平台拉取设备数据并存储到本地数据库
     * 
     * @param operatorId 操作人ID
     * @param operatorName 操作人名称
     * @return 同步记录
     */
    SyncRecord syncDevices(Long operatorId, String operatorName);

    /**
     * 同步商品列表
     * 从哈哈平台商家商品库拉取商品数据并存储到本地数据库
     * 
     * @param operatorId 操作人ID
     * @param operatorName 操作人名称
     * @return 同步记录
     */
    SyncRecord syncProducts(Long operatorId, String operatorName);

    /**
     * 获取同步记录列表
     * 
     * @param syncType 同步类型（可选）
     * @param status 同步状态（可选）
     * @param page 页码
     * @param pageSize 每页数量
     * @return 分页结果
     */
    Map<String, Object> getSyncRecordList(String syncType, Integer status, Integer page, Integer pageSize);

    /**
     * 获取同步日志列表
     * 
     * @param recordId 同步记录ID
     * @param page 页码
     * @param pageSize 每页数量
     * @return 分页结果
     */
    Map<String, Object> getSyncLogList(Long recordId, Integer page, Integer pageSize);

    /**
     * 获取同步统计信息
     * 
     * @return 统计信息
     */
    Map<String, Object> getSyncStatistics();
}
