package com.competition.modules.leai.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.competition.modules.leai.entity.LeaiWebhookEvent;

/**
 * 乐读派 Webhook 事件 Service 接口
 */
public interface ILeaiWebhookEventService extends IService<LeaiWebhookEvent> {

    /**
     * 检查事件是否已存在（幂等去重）
     *
     * @param eventId 事件唯一ID
     * @return true-已存在（重复事件）
     */
    boolean existsByEventId(String eventId);

    /**
     * 保存 Webhook 事件记录
     *
     * @param eventId       事件唯一ID
     * @param eventType     事件类型
     * @param remoteWorkId  乐读派作品ID
     * @param payload       事件载荷
     */
    void saveEvent(String eventId, String eventType, String remoteWorkId, Object payload);
}
