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 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2  
  3 +import cn.hutool.core.util.IdUtil;
3 4 import cn.hutool.core.util.StrUtil;
4 5 import cn.iocoder.yudao.framework.ai.exception.AiException;
5 6 import cn.iocoder.yudao.framework.ai.image.ImageGeneration;
... ... @@ -123,11 +124,12 @@ public class AiImageServiceImpl implements AiImageService {
123 124 @Transactional(rollbackFor = Exception.class)
124 125 public void midjourney(AiImageMidjourneyReqVO req) {
125 126 // 保存数据库
  127 + String messageId = String.valueOf(IdUtil.getSnowflakeNextId());
126 128 AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny",
127 129 null, AiImageDrawingStatusEnum.SUBMIT, null,
128   - null, null, null);
  130 + messageId, null, null);
129 131 // 提交 midjourney 任务
130   - Boolean imagine = midjourneyInteractionsApi.imagine(aiImageDO.getId(), req.getPrompt());
  132 + Boolean imagine = midjourneyInteractionsApi.imagine(messageId, req.getPrompt());
131 133 if (!imagine) {
132 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 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 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 40 @Test
41 41 public void mjImageTest() {
42 42 MidjourneyInteractionsApi mjImagineInteractions = new MidjourneyInteractionsApi(midjourneyConfig);
43   - mjImagineInteractions.imagine(IdUtil.getSnowflakeNextId(), "童话里应该是什么样子?");
  43 + mjImagineInteractions.imagine(String.valueOf(IdUtil.getSnowflakeNextId()), "童话里应该是什么样子?");
44 44 }
45 45  
46 46  
... ...