package com.competition.modules.leai.service;

import java.util.Map;

/**
 * 乐读派作品同步 Service 接口
 * <p>
 * Webhook 回调和 B3 对账共用此服务
 */
public interface ILeaiSyncService {

    /**
     * 同步乐读派作品到本地
     * <p>
     * 同步规则：
     * - remoteStatus == -1  → 强制更新（FAILED）
     * - remoteStatus == 2   → 强制更新（PROCESSING 进度变化）
     * - remoteStatus > localStatus → 全量更新（状态前进）
     * - else                → 忽略
     *
     * @param remoteWorkId 乐读派作品ID
     * @param remoteData   远程作品数据（来自 Webhook payload 或 B2/B3 查询结果）
     * @param source       来源标识（用于日志，如 "Webhook[work.status_changed]"）
     */
    void syncWork(String remoteWorkId, Map<String, Object> remoteData, String source);
}
