From 9503c1ebb3fbb68fb8259bea87097d010846e2d5 Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期三, 18 六月 2025 08:59:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/dev-test' into feature/ai

---
 iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/schedulesuggest/ScheduleSuggestController.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/schedulesuggest/ScheduleSuggestController.java b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/schedulesuggest/ScheduleSuggestController.java
new file mode 100644
index 0000000..321398e
--- /dev/null
+++ b/iailab-module-ai/iailab-module-ai-biz/src/main/java/com/iailab/module/ai/controller/admin/schedulesuggest/ScheduleSuggestController.java
@@ -0,0 +1,94 @@
+package com.iailab.module.ai.controller.admin.schedulesuggest;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.*;
+
+import com.iailab.framework.common.pojo.PageResult;
+import com.iailab.framework.common.pojo.CommonResult;
+import com.iailab.framework.common.util.object.BeanUtils;
+import static com.iailab.framework.common.pojo.CommonResult.success;
+
+import com.iailab.module.ai.controller.admin.schedulesuggest.vo.*;
+import com.iailab.module.ai.dal.dataobject.schedulesuggest.ScheduleSuggestDO;
+import com.iailab.module.ai.service.schedulesuggest.ScheduleSuggestService;
+
+import java.util.List;
+
+@Tag(name = "管理后台 - 大模型调度建议")
+@RestController
+@RequestMapping("/ai/schedule-suggest")
+@Validated
+public class ScheduleSuggestController {
+
+    @Resource
+    private ScheduleSuggestService scheduleSuggestService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建大模型调度建议")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:create')")
+    public CommonResult<Long> createScheduleSuggest(@Valid @RequestBody ScheduleSuggestSaveReqVO createReqVO) {
+        return success(scheduleSuggestService.createScheduleSuggest(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新大模型调度建议")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:update')")
+    public CommonResult<Boolean> updateScheduleSuggest(@Valid @RequestBody ScheduleSuggestSaveReqVO updateReqVO) {
+        scheduleSuggestService.updateScheduleSuggest(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除大模型调度建议")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:delete')")
+    public CommonResult<Boolean> deleteScheduleSuggest(@RequestParam("id") Long id) {
+        scheduleSuggestService.deleteScheduleSuggest(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得大模型调度建议")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:query')")
+    public CommonResult<ScheduleSuggestRespVO> getScheduleSuggest(@RequestParam("id") Long id) {
+        ScheduleSuggestDO scheduleSuggest = scheduleSuggestService.getScheduleSuggest(id);
+        return success(BeanUtils.toBean(scheduleSuggest, ScheduleSuggestRespVO.class));
+    }
+
+    @PutMapping("/operate-suggest")
+    @Operation(summary = "采纳忽略取消采纳")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:update')")
+    public CommonResult<Boolean> operateScheduleSuggest(@RequestBody ScheduleSuggestSaveReqVO updateReqVO) {
+        ScheduleSuggestDO scheduleSuggest = scheduleSuggestService.getScheduleSuggest(updateReqVO.getId());
+        scheduleSuggest.setStatus(updateReqVO.getStatus());
+        scheduleSuggestService.operateScheduleSuggest(scheduleSuggest);
+        return success(true);
+    }
+
+    @GetMapping("/simple-list")
+    @Operation(summary = "获得n条大模型调度建议")
+    @Parameter(name = "top", description = "编号", required = true, example = "5")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:query')")
+    public CommonResult<List<ScheduleSuggestRespVO>> getTopScheduleSuggests(@RequestParam("top") Long top) {
+        List<ScheduleSuggestDO> scheduleSuggests = scheduleSuggestService.getTopScheduleSuggests(top);
+        return success(BeanUtils.toBean(scheduleSuggests, ScheduleSuggestRespVO.class));
+    }
+
+
+    @GetMapping("/page")
+    @Operation(summary = "获得大模型调度建议分页")
+    @PreAuthorize("@ss.hasPermission('ai:schedule-suggest:query')")
+    public CommonResult<PageResult<ScheduleSuggestRespVO>> getScheduleSuggestPage(@Valid ScheduleSuggestPageReqVO pageReqVO) {
+        PageResult<ScheduleSuggestDO> pageResult = scheduleSuggestService.getScheduleSuggestPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, ScheduleSuggestRespVO.class));
+    }
+
+}
\ No newline at end of file

--
Gitblit v1.9.3