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