From 27f052de0a7bf9f61d17eea59427aee8fcf79c47 Mon Sep 17 00:00:00 2001
From: cherishsince <cherishsince@aliyun.com>
Date: Fri, 31 May 2024 14:05:16 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91midjourney?=
 =?UTF-8?q?=20=E5=A2=9E=E5=8A=A0=20--ar=20=E5=8F=82=E6=95=B0=E8=AE=BE?=
 =?UTF-8?q?=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../admin/image/vo/AiImageMidjourneyImagineReqVO.java       | 6 ++++++
 .../yudao/module/ai/service/image/AiImageServiceImpl.java   | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageMidjourneyImagineReqVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageMidjourneyImagineReqVO.java
index 07cd10ab6..ee17f1065 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageMidjourneyImagineReqVO.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageMidjourneyImagineReqVO.java
@@ -25,6 +25,12 @@ public class AiImageMidjourneyImagineReqVO {
     @Schema(description = "模型(midjourney、niji)")
     private String model;
 
+    @Schema(description = "图片宽度")
+    private String width;
+
+    @Schema(description = "图片高度")
+    private String height;
+
     @Schema(description = "垫图(参考图)base64数组")
     private List<String> base64Array;
 }
diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
index d6da654f5..ee45eee73 100644
--- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
+++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
@@ -12,8 +12,8 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.ai.AiCommonConstants;
 import cn.iocoder.yudao.module.ai.ErrorCodeConstants;
 import cn.iocoder.yudao.module.ai.client.MidjourneyProxyClient;
+import cn.iocoder.yudao.module.ai.client.enums.MidjourneySubmitCodeEnum;
 import cn.iocoder.yudao.module.ai.client.vo.MidjourneyImagineReqVO;
-import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitCodeEnum;
 import cn.iocoder.yudao.module.ai.client.vo.MidjourneySubmitRespVO;
 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*;
 import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO;
@@ -157,7 +157,8 @@ public class AiImageServiceImpl implements AiImageService {
         // 3、调用 MidjourneyProxy 提交任务
         MidjourneyImagineReqVO imagineReqVO = BeanUtils.toBean(req, MidjourneyImagineReqVO.class);
         imagineReqVO.setNotifyHook(midjourneyNotifyUrl);
-        imagineReqVO.setState(String.valueOf(aiImageDO.getId()));
+        // 设置 midjourney 扩展参数,通过 --ar 来设置尺寸
+        imagineReqVO.setState(String.format("--ar %s:%s", req.getWidth(), req.getHeight()));
         MidjourneySubmitRespVO submitRespVO = midjourneyProxyClient.imagine(imagineReqVO);
 
         // 4、保存任务 id (状态码: 1(提交成功), 21(已存在), 22(排队中), other(错误))