This commit is contained in:
2025-10-09 19:45:14 +08:00
parent e6ced14040
commit 2a93522bcf
15 changed files with 2158 additions and 1 deletions

View File

@@ -0,0 +1,95 @@
package com.ruoyi.web.controller.jarvis;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.jarvis.domain.BatchPublishItem;
import com.ruoyi.jarvis.domain.BatchPublishTask;
import com.ruoyi.jarvis.domain.request.BatchPublishRequest;
import com.ruoyi.jarvis.domain.request.ParseLineReportRequest;
import com.ruoyi.jarvis.service.IBatchPublishService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* 批量发品Controller
*
* @author ruoyi
* @date 2025-01-10
*/
@RestController
@RequestMapping("/jarvis/batchPublish")
public class BatchPublishController extends BaseController
{
@Autowired
private IBatchPublishService batchPublishService;
/**
* 解析线报消息
*/
@PostMapping("/parse")
public AjaxResult parseLineReport(@RequestBody @Validated ParseLineReportRequest request)
{
try {
List<Map<String, Object>> products = batchPublishService.parseLineReport(request);
return AjaxResult.success(products);
} catch (Exception e) {
logger.error("解析线报消息失败", e);
return AjaxResult.error("解析失败: " + e.getMessage());
}
}
/**
* 批量发品
*/
@Log(title = "批量发品", businessType = BusinessType.INSERT)
@PostMapping("/publish")
public AjaxResult batchPublish(@RequestBody @Validated BatchPublishRequest request)
{
try {
Long taskId = batchPublishService.batchPublish(request);
return AjaxResult.success("任务已创建", taskId);
} catch (Exception e) {
logger.error("批量发品失败", e);
return AjaxResult.error("批量发品失败: " + e.getMessage());
}
}
/**
* 查询批量发品任务列表
*/
@GetMapping("/task/list")
public TableDataInfo listTasks(BatchPublishTask task)
{
startPage();
List<BatchPublishTask> list = batchPublishService.selectTaskList(task);
return getDataTable(list);
}
/**
* 查询批量发品任务详情
*/
@GetMapping("/task/{taskId}")
public AjaxResult getTask(@PathVariable("taskId") Long taskId)
{
BatchPublishTask task = batchPublishService.getTaskById(taskId);
return AjaxResult.success(task);
}
/**
* 查询批量发品明细列表
*/
@GetMapping("/item/list/{taskId}")
public AjaxResult listItems(@PathVariable("taskId") Long taskId)
{
List<BatchPublishItem> items = batchPublishService.getItemsByTaskId(taskId);
return AjaxResult.success(items);
}
}