From 27398c100016455cfa12ec091417ea674fe93600 Mon Sep 17 00:00:00 2001 From: violateer <1828257089@qq.com> Date: Sat, 23 Aug 2025 19:02:51 +0800 Subject: [PATCH 01/16] =?UTF-8?q?feature:=20=E7=A7=BB=E9=99=A4limit=201?= =?UTF-8?q?=E5=86=99=E6=B3=95=EF=BC=8C=E5=85=BC=E5=AE=B9=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ChatModelServiceImpl.java | 29 ++++++++++--------- .../service/impl/ChatTokenServiceImpl.java | 14 ++++----- .../impl/PromptTemplateServiceImpl.java | 3 +- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java index 069d75a6..b9fa6864 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatModelServiceImpl.java @@ -36,7 +36,7 @@ public class ChatModelServiceImpl implements IChatModelService { * 查询聊天模型 */ @Override - public ChatModelVo queryById(Long id){ + public ChatModelVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -103,7 +103,7 @@ public class ChatModelServiceImpl implements IChatModelService { /** * 保存前的数据校验 */ - private void validEntityBeforeSave(ChatModel entity){ + private void validEntityBeforeSave(ChatModel entity) { // 判断是否包含*号 if (entity.getApiKey().contains("*")) { // 重新设置key信息 @@ -116,7 +116,7 @@ public class ChatModelServiceImpl implements IChatModelService { */ @Override public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ + if (isValid) { //TODO 做一些业务上的校验,判断是否需要校验 } return baseMapper.deleteBatchIds(ids) > 0; @@ -129,24 +129,25 @@ public class ChatModelServiceImpl implements IChatModelService { public ChatModelVo selectModelByName(String modelName) { return baseMapper.selectVoOne(Wrappers.lambdaQuery().eq(ChatModel::getModelName, modelName)); } + /** * 通过模型分类获取模型信息 */ @Override - public ChatModelVo selectModelByCategory(String category) { + public ChatModelVo selectModelByCategory(String category) { return baseMapper.selectVoOne(Wrappers.lambdaQuery().eq(ChatModel::getCategory, category)); } - + /** * 通过模型分类获取优先级最高的模型信息 */ @Override public ChatModelVo selectModelByCategoryWithHighestPriority(String category) { return baseMapper.selectVoOne( - Wrappers.lambdaQuery() - .eq(ChatModel::getCategory, category) - .orderByDesc(ChatModel::getPriority) - .last("LIMIT 1") + Wrappers.lambdaQuery() + .eq(ChatModel::getCategory, category) + .orderByDesc(ChatModel::getPriority), + false ); } @@ -156,11 +157,11 @@ public class ChatModelServiceImpl implements IChatModelService { @Override public ChatModelVo selectFallbackModelByCategoryAndLessPriority(String category, Integer currentPriority) { return baseMapper.selectVoOne( - Wrappers.lambdaQuery() - .eq(ChatModel::getCategory, category) - .lt(ChatModel::getPriority, currentPriority) - .orderByDesc(ChatModel::getPriority) - .last("LIMIT 1") + Wrappers.lambdaQuery() + .eq(ChatModel::getCategory, category) + .lt(ChatModel::getPriority, currentPriority) + .orderByDesc(ChatModel::getPriority), + false ); } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java index 80a4c9db..69ad610d 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/ChatTokenServiceImpl.java @@ -23,10 +23,10 @@ public class ChatTokenServiceImpl implements IChatTokenService { @Override public ChatUsageToken queryByUserId(Long userId, String modelName) { return baseMapper.selectOne( - new LambdaQueryWrapper() - .eq(ChatUsageToken::getUserId, userId) - .eq(ChatUsageToken::getModelName, modelName) - .last("limit 1") + new LambdaQueryWrapper() + .eq(ChatUsageToken::getUserId, userId) + .eq(ChatUsageToken::getModelName, modelName), + false ); } @@ -35,7 +35,7 @@ public class ChatTokenServiceImpl implements IChatTokenService { * */ @Override - public void resetToken(Long userId,String modelName) { + public void resetToken(Long userId, String modelName) { ChatUsageToken chatToken = queryByUserId(userId, modelName); chatToken.setToken(0); baseMapper.updateById(chatToken); @@ -47,9 +47,9 @@ public class ChatTokenServiceImpl implements IChatTokenService { */ @Override public void editToken(ChatUsageToken chatToken) { - if(chatToken.getId() == null){ + if (chatToken.getId() == null) { baseMapper.insert(chatToken); - }else { + } else { baseMapper.updateById(chatToken); } } diff --git a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/PromptTemplateServiceImpl.java b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/PromptTemplateServiceImpl.java index 2f3a7572..f2acc64c 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/PromptTemplateServiceImpl.java +++ b/ruoyi-modules-api/ruoyi-chat-api/src/main/java/org/ruoyi/service/impl/PromptTemplateServiceImpl.java @@ -115,7 +115,6 @@ public class PromptTemplateServiceImpl implements IPromptTemplateService { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(PromptTemplate.class); queryWrapper.eq(PromptTemplate::getCategory, category); queryWrapper.orderByDesc(PromptTemplate::getUpdateTime); - queryWrapper.last("limit 1"); - return baseMapper.selectVoOne(queryWrapper); + return baseMapper.selectVoOne(queryWrapper, false); } } \ No newline at end of file From 8fcaa7c90c002e7a899cd0316641854eb1ab8ee3 Mon Sep 17 00:00:00 2001 From: likunlong Date: Mon, 25 Aug 2025 10:53:48 +0800 Subject: [PATCH 02/16] =?UTF-8?q?feat:=20=E9=BB=98=E8=AE=A4=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=9C=8D=E5=8A=A1=E4=BF=AE=E6=94=B9=E4=B8=BA=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0minio=EF=BC=9B=E6=B7=BB=E5=8A=A0=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=90=AF=E5=8A=A8minio=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=EF=BC=9B=E6=B7=BB=E5=8A=A0minio=E7=9A=84=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=90=AF=E5=8A=A8docker-compose=E8=84=9A=E6=9C=AC=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/deploy/deploy/docker-compose.yaml | 17 ++++++++++++++ script/docker/miniio/docker-compose.yml | 28 ++++++++++++++++++++++++ script/sql/update/fix-upload-bucket.sql | 8 +++++++ 3 files changed, 53 insertions(+) create mode 100644 script/docker/miniio/docker-compose.yml create mode 100644 script/sql/update/fix-upload-bucket.sql diff --git a/script/deploy/deploy/docker-compose.yaml b/script/deploy/deploy/docker-compose.yaml index 8951e54d..02e374a1 100644 --- a/script/deploy/deploy/docker-compose.yaml +++ b/script/deploy/deploy/docker-compose.yaml @@ -60,6 +60,23 @@ services: networks: - ruoyi-net + minio: + image: minio/minio + container_name: ruoyi-ai-minio + ports: + - "9000:9000" + - "9090:9090" + environment: + - MINIO_ACCESS_KEY=ruoyi + - MINIO_SECRET_KEY=ruoyi123 + volumes: + - ./data/minio:/data + - ./data/minio-config:/root/.minio + command: server /data --console-address ":9090" + restart: always + networks: + - ruoyi-net + ruoyi-backend: image: ruoyi-ai-backend:v2.0.5 container_name: ruoyi-ai-backend diff --git a/script/docker/miniio/docker-compose.yml b/script/docker/miniio/docker-compose.yml new file mode 100644 index 00000000..3bf077a8 --- /dev/null +++ b/script/docker/miniio/docker-compose.yml @@ -0,0 +1,28 @@ +--- +version: '3.8' + +services: + minio: + image: minio/minio + container_name: minio + ports: + - "9000:9000" + - "9090:9090" + environment: + - MINIO_ACCESS_KEY=ruoyi + - MINIO_SECRET_KEY=ruoyi123 + volumes: + - minio_data:/data + - minio_config:/root/.minio + command: server /data --console-address ":9090" + restart: always + networks: + - minio-net + +networks: + minio-net: + driver: bridge + +volumes: + minio_data: + minio_config: diff --git a/script/sql/update/fix-upload-bucket.sql b/script/sql/update/fix-upload-bucket.sql new file mode 100644 index 00000000..faa2dc37 --- /dev/null +++ b/script/sql/update/fix-upload-bucket.sql @@ -0,0 +1,8 @@ +-- 默认开启本地minio +UPDATE `ruoyi-ai`.sys_oss_config t +SET t.status = '1' +WHERE t.oss_config_id = 4; + +UPDATE `ruoyi-ai`.sys_oss_config t +SET t.status = '0' +WHERE t.oss_config_id = 1; \ No newline at end of file From 5bd95b496aa6e3b217d19491797208df9504cdd5 Mon Sep 17 00:00:00 2001 From: likunlong Date: Mon, 25 Aug 2025 11:04:52 +0800 Subject: [PATCH 03/16] =?UTF-8?q?feat:=20=E9=BB=98=E8=AE=A4=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=9C=8D=E5=8A=A1=E4=BF=AE=E6=94=B9=E4=B8=BA=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0minio=EF=BC=9B=E6=B7=BB=E5=8A=A0=E9=83=A8=E7=BD=B2?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=90=AF=E5=8A=A8minio=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=EF=BC=9B=E6=B7=BB=E5=8A=A0minio=E7=9A=84=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=90=AF=E5=8A=A8docker-compose=E8=84=9A=E6=9C=AC=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script/docker/{miniio => minio}/docker-compose.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename script/docker/{miniio => minio}/docker-compose.yml (100%) diff --git a/script/docker/miniio/docker-compose.yml b/script/docker/minio/docker-compose.yml similarity index 100% rename from script/docker/miniio/docker-compose.yml rename to script/docker/minio/docker-compose.yml From 67303cf5be6429d567db65ad5d0f0301f75a6704 Mon Sep 17 00:00:00 2001 From: likunlong Date: Tue, 26 Aug 2025 09:54:08 +0800 Subject: [PATCH 04/16] =?UTF-8?q?feat:=20=E4=B8=8A=E4=BC=A0=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E7=A1=AE=E5=AE=9A=E6=A8=A1=E5=9E=8B=E7=9A=84=E9=80=89?= =?UTF-8?q?=E6=8B=A9=EF=BC=8C=E8=BF=99=E9=87=8C=E5=8F=AA=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=90=8D=E5=AD=97=E8=8E=B7=E5=8F=96=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E7=9B=B4=E6=8E=A5=E4=BD=BF=E7=94=A8=E5=B0=B1=E5=A5=BD?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/ruoyi/chat/service/chat/impl/ImageServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ImageServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ImageServiceImpl.java index 36aa9c54..f3653224 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ImageServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ImageServiceImpl.java @@ -118,7 +118,7 @@ public class ImageServiceImpl implements IChatService { @Override public SseEmitter chat(ChatRequest chatRequest, SseEmitter emitter) { // 从数据库获取 image 类型的模型配置 - ChatModelVo chatModelVo = chatModelService.selectModelByCategory(ChatModeType.IMAGE.getCode()); + ChatModelVo chatModelVo = chatModelService.selectModelByName(chatRequest.getModel()); if (chatModelVo == null) { log.error("未找到 image 类型的模型配置"); emitter.completeWithError(new IllegalStateException("未找到 image 类型的模型配置")); From ff0a3d10161898470fe3cae6c533d22f2f3ae7e2 Mon Sep 17 00:00:00 2001 From: w Date: Wed, 17 Sep 2025 12:00:27 +0800 Subject: [PATCH 05/16] =?UTF-8?q?fix(Knowledge):=20=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=88=A0=E9=99=A4=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/ruoyi/mapper/KnowledgeInfoMapper.java | 7 +++++++ .../java/org/ruoyi/service/IKnowledgeInfoService.java | 2 +- .../src/main/resources/mapper/KnowledgeInfoMapper.xml | 9 +++++++++ .../chat/controller/knowledge/KnowledgeController.java | 6 +++--- .../chat/service/knowledge/KnowledgeInfoServiceImpl.java | 7 ++++--- 5 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 ruoyi-modules-api/ruoyi-knowledge-api/src/main/resources/mapper/KnowledgeInfoMapper.xml diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/mapper/KnowledgeInfoMapper.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/mapper/KnowledgeInfoMapper.java index 3068a560..5a8383f2 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/mapper/KnowledgeInfoMapper.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/mapper/KnowledgeInfoMapper.java @@ -2,6 +2,7 @@ package org.ruoyi.mapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import org.ruoyi.core.mapper.BaseMapperPlus; import org.ruoyi.domain.KnowledgeInfo; import org.ruoyi.domain.vo.KnowledgeInfoVo; @@ -15,4 +16,10 @@ import org.ruoyi.domain.vo.KnowledgeInfoVo; @Mapper public interface KnowledgeInfoMapper extends BaseMapperPlus { + /** + * 根据kid查询知识库 + * @param kid 知识库id + * @return KnowledgeInfo + */ + KnowledgeInfo selectByKid(@Param("kid") String kid); } diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/IKnowledgeInfoService.java b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/IKnowledgeInfoService.java index 754ba7c7..bf7084af 100644 --- a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/IKnowledgeInfoService.java +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/java/org/ruoyi/service/IKnowledgeInfoService.java @@ -61,7 +61,7 @@ public interface IKnowledgeInfoService { /** * 删除知识库 */ - void removeKnowledge(String id); + void removeKnowledge(String kid); /** * 上传附件 diff --git a/ruoyi-modules-api/ruoyi-knowledge-api/src/main/resources/mapper/KnowledgeInfoMapper.xml b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/resources/mapper/KnowledgeInfoMapper.xml new file mode 100644 index 00000000..433cc4df --- /dev/null +++ b/ruoyi-modules-api/ruoyi-knowledge-api/src/main/resources/mapper/KnowledgeInfoMapper.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java index a1a72e1a..c5e3e0ff 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/knowledge/KnowledgeController.java @@ -100,9 +100,9 @@ public class KnowledgeController extends BaseController { /** * 删除知识库 */ - @PostMapping("/remove/{id}") - public R remove(@PathVariable String id) { - knowledgeInfoService.removeKnowledge(id); + @PostMapping("/remove/{kid}") + public R remove(@PathVariable String kid) { + knowledgeInfoService.removeKnowledge(kid); return R.ok("删除知识库成功!"); } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java index 12ccab1f..37a3cb95 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/knowledge/KnowledgeInfoServiceImpl.java @@ -227,11 +227,12 @@ public class KnowledgeInfoServiceImpl implements IKnowledgeInfoService { @Override @Transactional(rollbackFor = Exception.class) - public void removeKnowledge(String id) { + public void removeKnowledge(String kid) { Map map = new HashMap<>(); - KnowledgeInfo knowledgeInfo = baseMapper.selectById(id); + KnowledgeInfo knowledgeInfo = baseMapper.selectByKid(kid); + check(knowledgeInfo); - map.put("kid", knowledgeInfo.getId()); + map.put("kid", knowledgeInfo.getKid()); // 删除向量数据 vectorStoreService.removeById(String.valueOf(knowledgeInfo.getId()), knowledgeInfo.getVectorModelName()); // 删除附件和知识片段 From c22b9fdb9cc00299d4a0ad3884c65555990588f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E5=AE=8F=E8=B7=83?= Date: Thu, 18 Sep 2025 09:03:07 +0800 Subject: [PATCH 06/16] =?UTF-8?q?fix(pom):=20=E5=9C=A8=20ruoyi-extend=20?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E7=BC=BA=E5=A4=B1=E7=9A=84=20ruoyi-?= =?UTF-8?q?ai-copilot=20=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-extend/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml index 3fef2b70..3538eb94 100644 --- a/ruoyi-extend/pom.xml +++ b/ruoyi-extend/pom.xml @@ -15,6 +15,7 @@ ruoyi-mcp-server + ruoyi-ai-copilot From 9e23587fb19ffabbc9b9ae80292e442b89f7bd49 Mon Sep 17 00:00:00 2001 From: likunlong Date: Wed, 24 Sep 2025 10:08:51 +0800 Subject: [PATCH 07/16] =?UTF-8?q?upgrade:=20=E5=8D=87=E7=BA=A7spring=20ai?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=B8=BA=E6=AD=A3=E5=BC=8F1.0.0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-extend/ruoyi-mcp-server/pom.xml | 2 +- ruoyi-modules-api/ruoyi-chat-api/pom.xml | 2 +- .../org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruoyi-extend/ruoyi-mcp-server/pom.xml b/ruoyi-extend/ruoyi-mcp-server/pom.xml index 77e3da3b..7d49859d 100644 --- a/ruoyi-extend/ruoyi-mcp-server/pom.xml +++ b/ruoyi-extend/ruoyi-mcp-server/pom.xml @@ -28,7 +28,7 @@ 17 - 1.0.0-M7 + 1.0.0 diff --git a/ruoyi-modules-api/ruoyi-chat-api/pom.xml b/ruoyi-modules-api/ruoyi-chat-api/pom.xml index 7e08c9af..c1af20a5 100644 --- a/ruoyi-modules-api/ruoyi-chat-api/pom.xml +++ b/ruoyi-modules-api/ruoyi-chat-api/pom.xml @@ -16,7 +16,7 @@ 17 17 UTF-8 - 1.0.0-M7 + 1.0.0 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java index 6b8f72d6..0dcf3318 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/OpenAIServiceImpl.java @@ -43,7 +43,7 @@ public class OpenAIServiceImpl implements IChatService { this.chatClient = chatClientBuilder .defaultOptions( OpenAiChatOptions.builder().model("gpt-4o-mini").build()) - .defaultTools(new SyncMcpToolCallbackProvider(mcpSyncClients)) + .defaultToolCallbacks(new SyncMcpToolCallbackProvider(mcpSyncClients)) .build(); } From 35146f349532ca066ac490249cf5028b9c3424cc Mon Sep 17 00:00:00 2001 From: ageerle <32251822+ageerle@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:31:00 +0800 Subject: [PATCH 08/16] Update README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 4964be84..9ec7efb7 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,16 @@ [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] +

+ + GitHub Trending + +

+ RuoYi AI Logo + + ### 企业级AI助手平台 *开箱即用的智能AI平台,深度集成 FastGPT、扣子(Coze)、DIFY 等主流AI平台,提供先进的RAG技术和多模型支持* From 6467af1d73684b4c0b53b4d795af7fdb3cea4976 Mon Sep 17 00:00:00 2001 From: ageerle <32251822+ageerle@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:31:44 +0800 Subject: [PATCH 09/16] Update README.md --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9ec7efb7..8eb34cc2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # RuoYi AI +

+ + GitHub Trending + +

+
[![Contributors][contributors-shield]][contributors-url] @@ -8,12 +14,6 @@ [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] -

- - GitHub Trending - -

- RuoYi AI Logo From 76acd4a40b18c0e5ad33f3939de625a353c2ef5f Mon Sep 17 00:00:00 2001 From: ageerle <32251822+ageerle@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:32:19 +0800 Subject: [PATCH 10/16] Update README.md --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8eb34cc2..f8ce58b7 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,5 @@ # RuoYi AI -

- - GitHub Trending - -

-
[![Contributors][contributors-shield]][contributors-url] @@ -14,6 +8,14 @@ [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url] + +

+ + GitHub Trending + +

+ + RuoYi AI Logo From f10f44158c8193756901fd99cfcddb784afdaf5f Mon Sep 17 00:00:00 2001 From: LM20230311 Date: Wed, 24 Sep 2025 19:01:33 +0800 Subject: [PATCH 11/16] =?UTF-8?q?upgrade:=20=E5=8D=87=E7=BA=A7knife4j?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=B8=BA3=EF=BC=8C4.5.0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../security/handler/AllUrlHandler.java | 12 +++++++++- ruoyi-modules/ruoyi-chat/pom.xml | 4 ++-- .../controller/tripartite/FaceController.java | 8 +++---- .../controller/tripartite/LumaController.java | 6 ++--- .../tripartite/SubmitController.java | 22 +++++++++---------- .../controller/tripartite/SunoController.java | 10 ++++----- .../controller/tripartite/TaskController.java | 18 +++++++-------- .../org/ruoyi/chat/domain/DomainObject.java | 4 ++-- .../org/ruoyi/chat/domain/InsightFace.java | 9 ++++---- .../ruoyi/chat/domain/dto/BaseSubmitDTO.java | 6 ++--- .../chat/domain/dto/SubmitActionDTO.java | 4 ++-- .../ruoyi/chat/domain/dto/SubmitBlendDTO.java | 10 ++++----- .../chat/domain/dto/SubmitChangeDTO.java | 12 +++++----- .../chat/domain/dto/SubmitDescribeDTO.java | 7 +++--- .../chat/domain/dto/SubmitImagineDTO.java | 11 +++++----- .../ruoyi/chat/domain/dto/SubmitModalDTO.java | 4 ++-- .../chat/domain/dto/SubmitShortenDTO.java | 4 ++-- .../domain/dto/SubmitSimpleChangeDTO.java | 7 +++--- .../chat/domain/dto/TaskConditionDTO.java | 6 +++-- 19 files changed, 85 insertions(+), 79 deletions(-) diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java index 0bf0d7dc..0180a4f9 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java @@ -35,7 +35,17 @@ public class AllUrlHandler implements InitializingBean { Pattern pattern = Pattern.compile("\\{(.*?)\\}"); Set handlerSet = handlerMethods.keySet().stream() - .flatMap(info -> info.getPatternsCondition().getPatterns().stream()) + .flatMap(info -> { + // Spring 5 (AntPath) 风格 + if (info.getPatternsCondition() != null && info.getPatternsCondition().getPatterns() != null) { + return info.getPatternsCondition().getPatterns().stream(); + } + // Spring 6 (PathPattern) 风格 + if (info.getPathPatternsCondition() != null && info.getPathPatternsCondition().getPatterns() != null) { + return info.getPathPatternsCondition().getPatterns().stream().map(p -> p.getPatternString()); + } + return java.util.stream.Stream.empty(); + }) .collect(Collectors.toSet()); // 获取注解上边的 path 替代 path variable 为 * diff --git a/ruoyi-modules/ruoyi-chat/pom.xml b/ruoyi-modules/ruoyi-chat/pom.xml index 2a14fb14..f59d5abe 100644 --- a/ruoyi-modules/ruoyi-chat/pom.xml +++ b/ruoyi-modules/ruoyi-chat/pom.xml @@ -19,7 +19,7 @@ 5.0.0-beta.9 1.1.2-beta0 2.0.0 - 4.1.0 + 4.5.0 1.21 4.5.14 17 @@ -72,7 +72,7 @@ com.github.xiaoymin - knife4j-openapi2-spring-boot-starter + knife4j-openapi3-spring-boot-starter ${knife4j.verison} diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java index 7cbc4b70..10101f3a 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/FaceController.java @@ -1,8 +1,8 @@ package org.ruoyi.chat.controller.tripartite; import cn.hutool.json.JSONUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Request; @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RestController; * @author ageerle * @date 2025-05-03 */ -@Api(tags = "任务查询") +@Tag(name = "任务查询") @RestController @RequestMapping("/mj") @RequiredArgsConstructor @@ -32,7 +32,7 @@ public class FaceController { private final MjOkHttpUtil mjOkHttpUtil; - @ApiOperation(value = "换脸") + @Operation(summary = "换脸") @PostMapping("/insight-face/swap") public String insightFace(@RequestBody InsightFace insightFace) { // 扣除接口费用并且保存消息记录 diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/LumaController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/LumaController.java index 25a2e7c8..8a2e4d7d 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/LumaController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/LumaController.java @@ -1,7 +1,7 @@ package org.ruoyi.chat.controller.tripartite; import cn.hutool.json.JSONUtil; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Request; @@ -28,7 +28,7 @@ public class LumaController { private final IChatCostService chatCostService; - @ApiOperation(value = "文生视频") + @Operation(summary = "文生视频") @PostMapping("/generations/") public String generateVideo(@RequestBody GenerateLuma generateLuma) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("luma"); @@ -40,7 +40,7 @@ public class LumaController { return okHttpUtil.executeRequest(request); } - @ApiOperation(value = "文生视频任务查询") + @Operation(summary = "文生视频任务查询") @GetMapping("/generations/{taskId}") public String getGenerationTask(@PathVariable String taskId) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("luma"); diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java index 98ed00aa..c44a10d4 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SubmitController.java @@ -1,8 +1,8 @@ package org.ruoyi.chat.controller.tripartite; import cn.hutool.json.JSONUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Request; @@ -23,7 +23,7 @@ import java.util.Optional; * @author ageerle * @date 2025-05-03 */ -@Api(tags = "任务提交") +@Tag(name = "任务提交") @RestController @RequestMapping("/mj/submit") @RequiredArgsConstructor @@ -33,7 +33,7 @@ public class SubmitController { private final IChatCostService chatCostService; private final MjOkHttpUtil mjOkHttpUtil; - @ApiOperation(value = "绘图变化") + @Operation(summary = "绘图变化") @PostMapping("/change") public String change(@RequestBody SubmitChangeDTO changeDTO) { String jsonStr = JSONUtil.toJsonStr(changeDTO); @@ -42,7 +42,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "执行动作") + @Operation(summary = "执行动作") @PostMapping("/action") public String action(@RequestBody SubmitActionDTO changeDTO) { ActionType actionType = ActionType.fromCustomId(getAction(changeDTO.getCustomId())); @@ -69,7 +69,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "绘图变化-simple") + @Operation(summary = "绘图变化-simple") @PostMapping("/simple-change") public String simpleChange(@RequestBody SubmitSimpleChangeDTO simpleChangeDTO) { String jsonStr = JSONUtil.toJsonStr(simpleChangeDTO); @@ -78,7 +78,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "提交图生图、混图任务") + @Operation(summary = "提交图生图、混图任务") @PostMapping("/blend") public String blend(@RequestBody SubmitBlendDTO blendDTO) { chatCostService.taskDeduct("mj","blend", 0.0); @@ -88,7 +88,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "提交图生文任务") + @Operation(summary = "提交图生文任务") @PostMapping("/describe") public String describe(@RequestBody SubmitDescribeDTO describeDTO) { chatCostService.taskDeduct("mj","describe",0.0); @@ -98,7 +98,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "提交文生图任务") + @Operation(summary = "提交文生图任务") @PostMapping("/imagine") public String imagine(@RequestBody SubmitImagineDTO imagineDTO) { chatCostService.taskDeduct("mj",imagineDTO.getPrompt(), 0.0); @@ -108,7 +108,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "提交局部重绘任务") + @Operation(summary = "提交局部重绘任务") @PostMapping("/modal") public String modal(@RequestBody SubmitModalDTO submitModalDTO) { chatCostService.taskDeduct("mj","repaint ", 0.0); @@ -118,7 +118,7 @@ public class SubmitController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "提交提示词分析任务") + @Operation(summary = "提交提示词分析任务") @PostMapping("/shorten") public String shorten(@RequestBody SubmitShortenDTO submitShortenDTO) { chatCostService.taskDeduct("mj","shorten", 0.0); diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SunoController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SunoController.java index 05e179ef..9cad4f26 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SunoController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/SunoController.java @@ -1,7 +1,7 @@ package org.ruoyi.chat.controller.tripartite; import cn.hutool.json.JSONUtil; -import io.swagger.annotations.ApiOperation; +import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Request; @@ -29,7 +29,7 @@ public class SunoController { private final OkHttpConfig okHttpConfig; private final IChatCostService chatCostService; - @ApiOperation(value = "文生歌曲") + @Operation(summary = "文生歌曲") @PostMapping("/generate") public String generate(@RequestBody GenerateSuno generateSuno) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("suno"); @@ -42,7 +42,7 @@ public class SunoController { return okHttpUtil.executeRequest(request); } - @ApiOperation(value = "生成歌词") + @Operation(summary = "生成歌词") @PostMapping("/generate/lyrics/") public String generate(@RequestBody GenerateLyric generateLyric) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("suno"); @@ -53,7 +53,7 @@ public class SunoController { } - @ApiOperation(value = "查询歌词任务") + @Operation(summary = "查询歌词任务") @GetMapping("/lyrics/{taskId}") public String lyrics(@PathVariable String taskId) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("suno"); @@ -63,7 +63,7 @@ public class SunoController { } - @ApiOperation(value = "查询歌曲任务") + @Operation(summary = "查询歌曲任务") @GetMapping("/feed/{taskId}") public String feed(@PathVariable String taskId) { OkHttpUtil okHttpUtil = okHttpConfig.getOkHttpUtil("suno"); diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/TaskController.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/TaskController.java index 75954ad5..5d83bf5f 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/TaskController.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/controller/tripartite/TaskController.java @@ -1,9 +1,9 @@ package org.ruoyi.chat.controller.tripartite; import cn.hutool.json.JSONUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import okhttp3.Request; @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.*; * @author ageerle * @date 2025-05-03 */ -@Api(tags = "任务查询") +@Tag(name = "任务查询") @RestController @RequestMapping("/mj/task") @RequiredArgsConstructor @@ -27,15 +27,15 @@ public class TaskController { private final MjOkHttpUtil mjOkHttpUtil; - @ApiOperation(value = "指定ID获取任务") + @Operation(summary = "指定ID获取任务") @GetMapping("/{id}/fetch") - public String fetch(@ApiParam(value = "任务ID") @PathVariable String id) { + public String fetch(@Parameter(description = "任务ID") @PathVariable String id) { String url = "mj/task/" + id + "/fetch"; Request request = mjOkHttpUtil.createGetRequest(url); return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "根据ID列表查询任务") + @Operation(summary = "根据ID列表查询任务") @PostMapping("/list-by-condition") public String listByIds(@RequestBody TaskConditionDTO conditionDTO) { String url = "mj/task/list-by-condition"; @@ -44,9 +44,9 @@ public class TaskController { return mjOkHttpUtil.executeRequest(request); } - @ApiOperation(value = "获取任务图片的seed") + @Operation(summary = "获取任务图片的seed") @GetMapping("/{id}/image-seed") - public String getSeed(@ApiParam(value = "任务ID") @PathVariable String id) { + public String getSeed(@Parameter(description = "任务ID") @PathVariable String id) { String url = "mj/task/" + id + "/image-seed"; Request request = mjOkHttpUtil.createGetRequest(url); return mjOkHttpUtil.executeRequest(request); diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/DomainObject.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/DomainObject.java index a1707b8f..f9ae62cd 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/DomainObject.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/DomainObject.java @@ -2,7 +2,7 @@ package org.ruoyi.chat.domain; import com.fasterxml.jackson.annotation.JsonIgnore; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; @@ -14,7 +14,7 @@ import java.util.Map; public class DomainObject implements Serializable { @Getter @Setter - @ApiModelProperty("ID") + @Schema(description = "ID") protected String id; @Setter diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/InsightFace.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/InsightFace.java index db12502e..e5b6dd4a 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/InsightFace.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/InsightFace.java @@ -1,7 +1,6 @@ package org.ruoyi.chat.domain; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serializable; @@ -10,13 +9,13 @@ import java.io.Serializable; * @author WangLe */ @Data -@ApiModel("Discord账号") +@Schema(name = "Discord账号") public class InsightFace implements Serializable { /**本人头像json*/ - @ApiModelProperty("本人头像json") + @Schema(description = "本人头像json") private String sourceBase64; /**明星头像json*/ - @ApiModelProperty("明星头像json") + @Schema(description = "明星头像json") private String targetBase64; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/BaseSubmitDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/BaseSubmitDTO.java index 0c2334f8..b18b9578 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/BaseSubmitDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/BaseSubmitDTO.java @@ -1,6 +1,6 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; @@ -8,9 +8,9 @@ import lombok.Setter; @Setter public abstract class BaseSubmitDTO { - @ApiModelProperty("自定义参数") + @Schema(description = "自定义参数") protected String state; - @ApiModelProperty("回调地址, 为空时使用全局notifyHook") + @Schema(description = "回调地址, 为空时使用全局notifyHook") protected String notifyHook; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitActionDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitActionDTO.java index 49da1da0..47a62c5d 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitActionDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitActionDTO.java @@ -1,11 +1,11 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @Data -@ApiModel("变化任务提交参数") +@Schema(name = "变化任务提交参数") public class SubmitActionDTO { private String customId; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitBlendDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitBlendDTO.java index 3c3d8cc8..66253c34 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitBlendDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitBlendDTO.java @@ -1,7 +1,7 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.ArraySchema; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.chat.enums.BlendDimensions; @@ -9,13 +9,13 @@ import org.ruoyi.chat.enums.BlendDimensions; import java.util.List; @Data -@ApiModel("Blend提交参数") +@Schema(name = "Blend提交参数") @EqualsAndHashCode(callSuper = true) public class SubmitBlendDTO extends BaseSubmitDTO { - @ApiModelProperty(value = "图片base64数组", required = true, example = "[\"data:image/png;base64,xxx1\", \"data:image/png;base64,xxx2\"]") + @ArraySchema(arraySchema = @Schema(description = "图片base64数组", requiredMode = Schema.RequiredMode.REQUIRED), schema = @Schema(example = "data:image/png;base64,xxx1")) private List base64Array; - @ApiModelProperty(value = "比例: PORTRAIT(2:3); SQUARE(1:1); LANDSCAPE(3:2)", example = "SQUARE") + @Schema(description = "比例: PORTRAIT(2:3); SQUARE(1:1); LANDSCAPE(3:2)", example = "SQUARE") private BlendDimensions dimensions = BlendDimensions.SQUARE; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitChangeDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitChangeDTO.java index 039e15f1..ce6e8019 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitChangeDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitChangeDTO.java @@ -1,25 +1,23 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import org.ruoyi.chat.enums.TaskAction; @Data -@ApiModel("变化任务提交参数") +@Schema(name = "变化任务提交参数") @EqualsAndHashCode(callSuper = true) public class SubmitChangeDTO extends BaseSubmitDTO { - @ApiModelProperty(value = "任务ID", required = true, example = "\"1320098173412546\"") + @Schema(description = "任务ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "\"1320098173412546\"") private String taskId; - @ApiModelProperty(value = "UPSCALE(放大); VARIATION(变换); REROLL(重新生成)", required = true, - allowableValues = "UPSCALE, VARIATION, REROLL", example = "UPSCALE") + @Schema(description = "UPSCALE(放大); VARIATION(变换); REROLL(重新生成)", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"UPSCALE", "VARIATION", "REROLL"}, example = "UPSCALE") private TaskAction action; - @ApiModelProperty(value = "序号(1~4), action为UPSCALE,VARIATION时必传", allowableValues = "range[1, 4]", example = "1") + @Schema(description = "序号(1~4), action为UPSCALE,VARIATION时必传", minimum = "1", maximum = "4", example = "1") private Integer index; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitDescribeDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitDescribeDTO.java index 3be051e3..3e7742f2 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitDescribeDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitDescribeDTO.java @@ -1,15 +1,14 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @Data -@ApiModel("Describe提交参数") +@Schema(name = "Describe提交参数") @EqualsAndHashCode(callSuper = true) public class SubmitDescribeDTO extends BaseSubmitDTO { - @ApiModelProperty(value = "图片base64", required = true, example = "data:image/png;base64,xxx") + @Schema(description = "图片base64", requiredMode = Schema.RequiredMode.REQUIRED, example = "data:image/png;base64,xxx") private String base64; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitImagineDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitImagineDTO.java index d65a0db1..33519c35 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitImagineDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitImagineDTO.java @@ -1,7 +1,6 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @@ -9,17 +8,17 @@ import java.util.List; @Data -@ApiModel("Imagine提交参数") +@Schema(name = "Imagine提交参数") @EqualsAndHashCode(callSuper = true) public class SubmitImagineDTO extends BaseSubmitDTO { - @ApiModelProperty(value = "提示词", required = true, example = "Cat") + @Schema(description = "提示词", requiredMode = Schema.RequiredMode.REQUIRED, example = "Cat") private String prompt; - @ApiModelProperty(value = "垫图base64数组") + @Schema(description = "垫图base64数组") private List base64Array; - @ApiModelProperty(hidden = true) + @Schema(hidden = true) @Deprecated(since = "3.0", forRemoval = true) private String base64; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitModalDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitModalDTO.java index 4a321e4c..731f17b6 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitModalDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitModalDTO.java @@ -1,13 +1,13 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = true) -@ApiModel("局部重绘提交参数") +@Schema(name = "局部重绘提交参数") public class SubmitModalDTO extends BaseSubmitDTO{ private String maskBase64; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitShortenDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitShortenDTO.java index f8f7ed37..fa6274b3 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitShortenDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitShortenDTO.java @@ -1,13 +1,13 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode(callSuper = true) -@ApiModel("prompt分析提交参数") +@Schema(name = "prompt分析提交参数") public class SubmitShortenDTO extends BaseSubmitDTO{ private String botType; diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitSimpleChangeDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitSimpleChangeDTO.java index b4e09a08..db3297e6 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitSimpleChangeDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/SubmitSimpleChangeDTO.java @@ -1,17 +1,16 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; @Data -@ApiModel("变化任务提交参数-simple") +@Schema(name = "变化任务提交参数-simple") @EqualsAndHashCode(callSuper = true) public class SubmitSimpleChangeDTO extends BaseSubmitDTO { - @ApiModelProperty(value = "变化描述: ID $action$index", required = true, example = "1320098173412546 U2") + @Schema(description = "变化描述: ID $action$index", requiredMode = Schema.RequiredMode.REQUIRED, example = "1320098173412546 U2") private String content; } diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/TaskConditionDTO.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/TaskConditionDTO.java index 46864ce9..ac7bf4cb 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/TaskConditionDTO.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/domain/dto/TaskConditionDTO.java @@ -1,14 +1,16 @@ package org.ruoyi.chat.domain.dto; -import io.swagger.annotations.ApiModel; +import io.swagger.v3.oas.annotations.media.ArraySchema; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.util.List; @Data -@ApiModel("任务查询参数") +@Schema(name = "任务查询参数") public class TaskConditionDTO { + @ArraySchema(arraySchema = @Schema(description = "任务ID列表"), schema = @Schema(example = "1320098173412546")) private List ids; } From 2caf9a47ed3522d3c424e1f27cc27b1cd47eaca0 Mon Sep 17 00:00:00 2001 From: LM20230311 Date: Wed, 24 Sep 2025 19:28:34 +0800 Subject: [PATCH 12/16] =?UTF-8?q?upgrade:=20=E6=94=BE=E8=A1=8Cknife4j?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E7=9A=84=E8=B7=AF=E5=BE=84=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 1992a5ab..171c7a2f 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -144,6 +144,14 @@ security: # swagger 文档配置 - /*/api-docs - /*/api-docs/** + - /v3/api-docs + - /v3/api-docs/** + - /swagger-ui.html + - /swagger-ui/** + - /doc.html + - /webjars/** + - /swagger-resources + - /swagger-resources/** # actuator 监控配置 - /actuator - /actuator/** From bd346f1e85e52d2fb24a4f96d86c4206bdb27510 Mon Sep 17 00:00:00 2001 From: LM20230311 Date: Wed, 24 Sep 2025 20:27:55 +0800 Subject: [PATCH 13/16] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E4=B8=8D?= =?UTF-8?q?=E7=99=BB=E9=99=86=E6=97=A0=E6=B3=95=E9=97=AE=E7=AD=94=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B=E4=BF=AE=E5=A4=8D=E4=BD=99=E9=A2=9D=E4=B8=8D?= =?UTF-8?q?=E8=B6=B3=E5=90=8E=E6=B5=81=E4=B8=8D=E5=85=B3=E9=97=AD=E9=97=AE?= =?UTF-8?q?=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/common/core/config/ThreadPoolConfig.java | 5 ++++- .../chat/service/chat/impl/ChatCostServiceImpl.java | 4 ++-- .../service/chat/proxy/BillingChatServiceProxy.java | 11 ++++++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java index 69ab0736..24838a55 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/ruoyi/common/core/config/ThreadPoolConfig.java @@ -1,5 +1,6 @@ package org.ruoyi.common.core.config; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.ruoyi.common.core.config.properties.ThreadPoolProperties; import org.ruoyi.common.core.utils.Threads; @@ -18,6 +19,7 @@ import java.util.concurrent.ThreadPoolExecutor; * * @author Lion Li **/ +@Slf4j @AutoConfiguration @EnableConfigurationProperties(ThreadPoolProperties.class) public class ThreadPoolConfig { @@ -43,7 +45,8 @@ public class ThreadPoolConfig { * 执行周期性或定时任务 */ @Bean(name = "scheduledExecutorService") - protected ScheduledExecutorService scheduledExecutorService() { + public ScheduledExecutorService scheduledExecutorService() { + log.info("====创建定时任务线程池===="); return new ScheduledThreadPoolExecutor(core, new BasicThreadFactory.Builder().namingPattern("schedule-pool-%d").daemon(true).build(), new ThreadPoolExecutor.CallerRunsPolicy()) { diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java index 16507b94..8ca63b33 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/impl/ChatCostServiceImpl.java @@ -435,8 +435,8 @@ public class ChatCostServiceImpl implements IChatCostService { @Override public boolean checkBalanceSufficient(ChatRequest chatRequest) { if (chatRequest.getUserId() == null) { - log.warn("checkBalanceSufficient->用户ID为空,视为余额不足"); - return false; + log.warn("当前未登录"); + return true; } try { diff --git a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java index b414d86a..cd18974e 100644 --- a/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java +++ b/ruoyi-modules/ruoyi-chat/src/main/java/org/ruoyi/chat/service/chat/proxy/BillingChatServiceProxy.java @@ -34,7 +34,16 @@ public class BillingChatServiceProxy implements IChatService { String errorMsg = "余额不足,无法使用AI服务,请充值后再试"; log.warn("余额不足阻止AI回复,用户ID: {}, 模型: {}", chatRequest.getUserId(), chatRequest.getModel()); - throw new RuntimeException(errorMsg); + try { + emitter.send(errorMsg); + emitter.complete(); + } catch (IOException e) { + log.error("推送流异常,用户ID: {}, 模型: {}", + chatRequest.getUserId(), chatRequest.getModel()); + emitter.complete(); + throw new RuntimeException(errorMsg); + } + return emitter; } log.debug("余额检查通过,开始AI回复,用户ID: {}, 模型: {}", From 585e5ff0f82ef8b94c3804b3a55c144df5babd18 Mon Sep 17 00:00:00 2001 From: LM20230311 Date: Wed, 24 Sep 2025 20:47:22 +0800 Subject: [PATCH 14/16] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3knife4j=E8=AE=BF?= =?UTF-8?q?=E9=97=AE=E9=97=AE=E9=A2=98-=E6=9A=82=E6=9C=AA=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application.yml | 8 +++++++- ruoyi-modules/ruoyi-chat/pom.xml | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 171c7a2f..387681f3 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -146,6 +146,7 @@ security: - /*/api-docs/** - /v3/api-docs - /v3/api-docs/** + - /v3/api-docs/swagger-config - /swagger-ui.html - /swagger-ui/** - /doc.html @@ -260,13 +261,17 @@ springdoc: group-configs: - group: 1.系统模块 packages-to-scan: org.ruoyi.system + - group: 2.业务模块 + packages-to-scan: org.ruoyi.chat +knife4j: + enable: true # 防止XSS攻击 xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) - excludes: /system/notice + excludes: /system/notice,/v3/api-docs/**,/doc.html,/swagger-ui/**,/swagger-ui.html,/swagger-resources/**,/webjars/**,/druid/**,/actuator/**,/favicon.ico # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* @@ -298,6 +303,7 @@ management: logfile: external-file: ./logs/sys-console.log +# websocket # websocket websocket: enabled: true diff --git a/ruoyi-modules/ruoyi-chat/pom.xml b/ruoyi-modules/ruoyi-chat/pom.xml index f59d5abe..6c668a24 100644 --- a/ruoyi-modules/ruoyi-chat/pom.xml +++ b/ruoyi-modules/ruoyi-chat/pom.xml @@ -72,7 +72,7 @@ com.github.xiaoymin - knife4j-openapi3-spring-boot-starter + knife4j-openapi3-webflux-spring-boot-starter ${knife4j.verison} From 32fd910584f54c466d14ea3e499c914c7062c4ce Mon Sep 17 00:00:00 2001 From: lihao05 Date: Fri, 26 Sep 2025 15:06:43 +0800 Subject: [PATCH 15/16] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=96=87=E6=A1=A3=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- ruoyi-admin/src/main/resources/application.yml | 9 ++++----- .../ruoyi/common/security/handler/AllUrlHandler.java | 3 ++- ruoyi-modules/ruoyi-chat/pom.xml | 10 ++++++++-- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 4d6ac7f0..851893c2 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ 17 8.0.33 3.5.16 - 2.8.5 + 2.8.13 0.15.0 5.2.3 3.2.1 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 387681f3..f3458769 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -258,13 +258,12 @@ springdoc: in: HEADER name: ${sa-token.token-name} #这里定义了两个分组,可定义多个,也可以不定义 - group-configs: - - group: 1.系统模块 - packages-to-scan: org.ruoyi.system - - group: 2.业务模块 - packages-to-scan: org.ruoyi.chat + packages-to-scan: org.ruoyi + knife4j: enable: true + setting: + language: zh_cn # 防止XSS攻击 xss: diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java index 0180a4f9..353e9b2c 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/ruoyi/common/security/handler/AllUrlHandler.java @@ -7,6 +7,7 @@ import org.springframework.beans.factory.InitializingBean; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.mvc.method.RequestMappingInfo; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; +import org.springframework.web.util.pattern.PathPattern; import java.util.ArrayList; import java.util.List; @@ -42,7 +43,7 @@ public class AllUrlHandler implements InitializingBean { } // Spring 6 (PathPattern) 风格 if (info.getPathPatternsCondition() != null && info.getPathPatternsCondition().getPatterns() != null) { - return info.getPathPatternsCondition().getPatterns().stream().map(p -> p.getPatternString()); + return info.getPathPatternsCondition().getPatterns().stream().map(PathPattern::getPatternString); } return java.util.stream.Stream.empty(); }) diff --git a/ruoyi-modules/ruoyi-chat/pom.xml b/ruoyi-modules/ruoyi-chat/pom.xml index 6c668a24..50d6f074 100644 --- a/ruoyi-modules/ruoyi-chat/pom.xml +++ b/ruoyi-modules/ruoyi-chat/pom.xml @@ -19,7 +19,7 @@ 5.0.0-beta.9 1.1.2-beta0 2.0.0 - 4.5.0 + 4.4.0 1.21 4.5.14 17 @@ -72,10 +72,16 @@ com.github.xiaoymin - knife4j-openapi3-webflux-spring-boot-starter + knife4j-openapi3-jakarta-spring-boot-starter ${knife4j.verison} + + org.springdoc + springdoc-openapi-starter-webmvc-ui + ${springdoc.version} + + eu.bitwalker UserAgentUtils From 4ac63c32688d28fb3aca2740816066f45f27f0b6 Mon Sep 17 00:00:00 2001 From: evo Date: Sat, 27 Sep 2025 19:05:27 +0800 Subject: [PATCH 16/16] =?UTF-8?q?feat:=20=E5=88=A0=E9=99=A4oss=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E6=A1=B6=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ruoyi-admin/src/main/resources/application.yml | 4 ++-- .../src/main/java/org/ruoyi/common/oss/core/OssClient.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index f3458769..6d5e6d2f 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -240,9 +240,9 @@ springdoc: # persistAuthorization: true info: # 标题 - title: '标题:RuoYi-Vue-Plus多租户管理系统_接口文档' + title: '标题:ruoyi-ai 接口文档' # 描述 - description: ' 用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...' + description: '' # 版本 version: '版本号: ${ruoyi.version}' # 作者信息 diff --git a/ruoyi-common/ruoyi-common-oss/src/main/java/org/ruoyi/common/oss/core/OssClient.java b/ruoyi-common/ruoyi-common-oss/src/main/java/org/ruoyi/common/oss/core/OssClient.java index f9d4d09f..a870add1 100644 --- a/ruoyi-common/ruoyi-common-oss/src/main/java/org/ruoyi/common/oss/core/OssClient.java +++ b/ruoyi-common/ruoyi-common-oss/src/main/java/org/ruoyi/common/oss/core/OssClient.java @@ -68,7 +68,7 @@ public class OssClient { } this.client = build.build(); - createBucket(); + // createBucket(); } catch (Exception e) { if (e instanceof OssException) { throw e;