From 95ae0c83d2aa58d86b4039e3f7f16ee93afb8f00 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 23 十月 2026 17:01:00 +0800
Subject: [PATCH] feat(ai): 完善模型管理和智能体导入功能

---
 yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java
index 86dd4d0..f8fdb68 100644
--- a/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java
+++ b/yudao-module-ai/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/model/AiModelController.java
@@ -7,6 +7,7 @@
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelPageReqVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelRespVO;
 import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelSaveReqVO;
+import cn.iocoder.yudao.module.ai.controller.admin.model.vo.model.AiModelUpdateStatusReqVO;
 import cn.iocoder.yudao.module.ai.dal.dataobject.model.AiModelDO;
 import cn.iocoder.yudao.module.ai.service.model.AiModelService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -33,22 +34,30 @@
     private AiModelService modelService;
 
     @PostMapping("/create")
-    @Operation(summary = "鍒涘缓妯″瀷")
+    @Operation(summary = "鍒涘缓 AI 妯″瀷")
     @PreAuthorize("@ss.hasPermission('ai:model:create')")
     public CommonResult<Long> createModel(@Valid @RequestBody AiModelSaveReqVO createReqVO) {
         return success(modelService.createModel(createReqVO));
     }
 
     @PutMapping("/update")
-    @Operation(summary = "鏇存柊妯″瀷")
+    @Operation(summary = "鏇存柊 AI 妯″瀷")
     @PreAuthorize("@ss.hasPermission('ai:model:update')")
     public CommonResult<Boolean> updateModel(@Valid @RequestBody AiModelSaveReqVO updateReqVO) {
         modelService.updateModel(updateReqVO);
         return success(true);
     }
 
+    @PutMapping("/update-status")
+    @Operation(summary = "鏇存柊 AI 妯″瀷鐘舵��", description = "鍚敤鏃朵細鑷姩鍏抽棴鍚岀被鍨嬪悓鑳藉姏鐨勫叾浠栨ā鍨�")
+    @PreAuthorize("@ss.hasPermission('ai:model:update')")
+    public CommonResult<Boolean> updateModelStatus(@Valid @RequestBody AiModelUpdateStatusReqVO updateReqVO) {
+        modelService.updateModelStatus(updateReqVO);
+        return success(true);
+    }
+
     @DeleteMapping("/delete")
-    @Operation(summary = "鍒犻櫎妯″瀷")
+    @Operation(summary = "鍒犻櫎 AI 妯″瀷")
     @Parameter(name = "id", description = "缂栧彿", required = true)
     @PreAuthorize("@ss.hasPermission('ai:model:delete')")
     public CommonResult<Boolean> deleteModel(@RequestParam("id") Long id) {
@@ -57,16 +66,15 @@
     }
 
     @GetMapping("/get")
-    @Operation(summary = "鑾峰緱妯″瀷")
+    @Operation(summary = "鑾峰彇 AI 妯″瀷")
     @Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('ai:model:query')")
     public CommonResult<AiModelRespVO> getModel(@RequestParam("id") Long id) {
-        AiModelDO model = modelService.getModel(id);
-        return success(BeanUtils.toBean(model, AiModelRespVO.class));
+        return success(BeanUtils.toBean(modelService.getModel(id), AiModelRespVO.class));
     }
 
     @GetMapping("/page")
-    @Operation(summary = "鑾峰緱妯″瀷鍒嗛〉")
+    @Operation(summary = "鑾峰彇 AI 妯″瀷鍒嗛〉")
     @PreAuthorize("@ss.hasPermission('ai:model:query')")
     public CommonResult<PageResult<AiModelRespVO>> getModelPage(@Valid AiModelPageReqVO pageReqVO) {
         PageResult<AiModelDO> pageResult = modelService.getModelPage(pageReqVO);
@@ -74,16 +82,25 @@
     }
 
     @GetMapping("/simple-list")
-    @Operation(summary = "鑾峰緱妯″瀷鍒楄〃")
-    @Parameter(name = "type", description = "绫诲瀷", required = true, example = "1")
-    @Parameter(name = "platform", description = "骞冲彴", example = "midjourney")
+    @Operation(summary = "鑾峰緱妯″瀷绠�鍗曞垪琛�", description = "鐢ㄤ簬涓嬫媺閫夋嫨鍣ㄧ瓑鍦烘櫙")
+    @Parameter(name = "type", description = "妯″瀷绫诲瀷", required = true, example = "1")
+    @Parameter(name = "capability", description = "妯″瀷鑳藉姏锛歵ext-鏂囨湰锛寁ision-瑙嗚", example = "text")
+    @Parameter(name = "platform", description = "妯″瀷骞冲彴", example = "TongYi")
     public CommonResult<List<AiModelRespVO>> getModelSimpleList(
             @RequestParam("type") Integer type,
+            @RequestParam(value = "capability", required = false) String capability,
             @RequestParam(value = "platform", required = false) String platform) {
         List<AiModelDO> list = modelService.getModelListByStatusAndType(
                 CommonStatusEnum.ENABLE.getStatus(), type, platform);
-        return success(convertList(list, model -> new AiModelRespVO().setId(model.getId())
-                .setName(model.getName()).setModel(model.getModel()).setPlatform(model.getPlatform())));
+        if (capability != null && !capability.isBlank()) {
+            list = list.stream().filter(model -> capability.equals(model.getCapability())).toList();
+        }
+        return success(convertList(list, model -> new AiModelRespVO()
+                .setId(model.getId())
+                .setName(model.getName())
+                .setModel(model.getModel())
+                .setPlatform(model.getPlatform())
+                .setCapability(model.getCapability())));
     }
 
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3