Commit 84a3cd3a757998cf51bde89dc1d74f91ab2ec4dd

Authored by cherishsince
1 parent b058090a

【优化】处理 nonce id 必须是一个长整型id问题

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java
1 package cn.iocoder.yudao.module.ai.service.impl; 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2
  3 +import cn.hutool.core.util.IdUtil;
3 import cn.hutool.core.util.StrUtil; 4 import cn.hutool.core.util.StrUtil;
4 import cn.iocoder.yudao.framework.ai.exception.AiException; 5 import cn.iocoder.yudao.framework.ai.exception.AiException;
5 import cn.iocoder.yudao.framework.ai.image.ImageGeneration; 6 import cn.iocoder.yudao.framework.ai.image.ImageGeneration;
@@ -123,11 +124,12 @@ public class AiImageServiceImpl implements AiImageService { @@ -123,11 +124,12 @@ public class AiImageServiceImpl implements AiImageService {
123 @Transactional(rollbackFor = Exception.class) 124 @Transactional(rollbackFor = Exception.class)
124 public void midjourney(AiImageMidjourneyReqVO req) { 125 public void midjourney(AiImageMidjourneyReqVO req) {
125 // 保存数据库 126 // 保存数据库
  127 + String messageId = String.valueOf(IdUtil.getSnowflakeNextId());
126 AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny", 128 AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny",
127 null, AiImageDrawingStatusEnum.SUBMIT, null, 129 null, AiImageDrawingStatusEnum.SUBMIT, null,
128 - null, null, null); 130 + messageId, null, null);
129 // 提交 midjourney 任务 131 // 提交 midjourney 任务
130 - Boolean imagine = midjourneyInteractionsApi.imagine(aiImageDO.getId(), req.getPrompt()); 132 + Boolean imagine = midjourneyInteractionsApi.imagine(messageId, req.getPrompt());
131 if (!imagine) { 133 if (!imagine) {
132 throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MIDJOURNEY_IMAGINE_FAIL); 134 throw ServiceExceptionUtil.exception(ErrorCodeConstants.AI_MIDJOURNEY_IMAGINE_FAIL);
133 } 135 }
yudao-module-ai/yudao-spring-boot-starter-ai/src/main/java/cn/iocoder/yudao/framework/ai/midjourney/api/MidjourneyInteractionsApi.java
@@ -38,8 +38,7 @@ public class MidjourneyInteractionsApi extends MidjourneyInteractions { @@ -38,8 +38,7 @@ public class MidjourneyInteractionsApi extends MidjourneyInteractions {
38 this.url = midjourneyConfig.getServerUrl().concat(midjourneyConfig.getApiInteractions()); 38 this.url = midjourneyConfig.getServerUrl().concat(midjourneyConfig.getApiInteractions());
39 } 39 }
40 40
41 - public Boolean imagine(Long id, String prompt) {  
42 - String nonce = String.valueOf(id); 41 + public Boolean imagine(String nonce, String prompt) {
43 // 获取请求模板 42 // 获取请求模板
44 String requestTemplate = midjourneyConfig.getRequestTemplates().get("imagine"); 43 String requestTemplate = midjourneyConfig.getRequestTemplates().get("imagine");
45 // 设置参数 44 // 设置参数
yudao-module-ai/yudao-spring-boot-starter-ai/src/test/java/cn/iocoder/yudao/framework/ai/midjourney/MidjourneyInteractionsTests.java
@@ -40,7 +40,7 @@ public class MidjourneyInteractionsTests { @@ -40,7 +40,7 @@ public class MidjourneyInteractionsTests {
40 @Test 40 @Test
41 public void mjImageTest() { 41 public void mjImageTest() {
42 MidjourneyInteractionsApi mjImagineInteractions = new MidjourneyInteractionsApi(midjourneyConfig); 42 MidjourneyInteractionsApi mjImagineInteractions = new MidjourneyInteractionsApi(midjourneyConfig);
43 - mjImagineInteractions.imagine(IdUtil.getSnowflakeNextId(), "童话里应该是什么样子?"); 43 + mjImagineInteractions.imagine(String.valueOf(IdUtil.getSnowflakeNextId()), "童话里应该是什么样子?");
44 } 44 }
45 45
46 46