package com.ruoyi.jarvis.service; import com.ruoyi.jarvis.domain.BatchPublishTask; import com.ruoyi.jarvis.domain.BatchPublishItem; import com.ruoyi.jarvis.domain.request.BatchPublishRequest; import com.ruoyi.jarvis.domain.request.ParseLineReportRequest; import java.util.List; import java.util.Map; /** * 批量发品Service接口 * * @author ruoyi * @date 2025-01-10 */ public interface IBatchPublishService { /** * 解析线报消息,提取商品列表 * * @param request 解析请求 * @return 商品列表 */ List> parseLineReport(ParseLineReportRequest request); /** * 批量发品(支持多账号、多商品) * * @param request 批量发品请求 * @return 任务ID */ Long batchPublish(BatchPublishRequest request); /** * 查询批量发品任务 * * @param taskId 任务ID * @return 任务信息 */ BatchPublishTask getTaskById(Long taskId); /** * 查询批量发品明细列表 * * @param taskId 任务ID * @return 明细列表 */ List getItemsByTaskId(Long taskId); /** * 查询批量发品任务列表 * * @param task 任务查询条件 * @return 任务列表 */ List selectTaskList(BatchPublishTask task); /** * 延迟上架商品 * * @param itemId 明细ID * @param delaySeconds 延迟秒数 */ void schedulePublish(Long itemId, Integer delaySeconds); /** * 重新调度执行某个任务的未完成明细 * @param taskId 任务ID */ void retryTask(Long taskId); }