Files
ruoyi-java/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/IBatchPublishService.java
2025-10-30 16:50:57 +08:00

74 lines
1.6 KiB
Java

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<Map<String, Object>> parseLineReport(ParseLineReportRequest request);
/**
* 批量发品(支持多账号、多商品)
*
* @param request 批量发品请求
* @return 任务ID
*/
Long batchPublish(BatchPublishRequest request);
/**
* 查询批量发品任务
*
* @param taskId 任务ID
* @return 任务信息
*/
BatchPublishTask getTaskById(Long taskId);
/**
* 查询批量发品明细列表
*
* @param taskId 任务ID
* @return 明细列表
*/
List<BatchPublishItem> getItemsByTaskId(Long taskId);
/**
* 查询批量发品任务列表
*
* @param task 任务查询条件
* @return 任务列表
*/
List<BatchPublishTask> selectTaskList(BatchPublishTask task);
/**
* 延迟上架商品
*
* @param itemId 明细ID
* @param delaySeconds 延迟秒数
*/
void schedulePublish(Long itemId, Integer delaySeconds);
/**
* 重新调度执行某个任务的未完成明细
* @param taskId 任务ID
*/
void retryTask(Long taskId);
}