Commit 8727c4de92bcd04dc47dc82c44f81f8a5cf864f4
1 parent
fb055bfb
【优化】Midjourney 提交任务 保存 ImageOptions
Showing
3 changed files
with
17 additions
and
8 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageMidjourneyImagineReqVO.java
| ... | ... | @@ -27,10 +27,10 @@ public class AiImageMidjourneyImagineReqVO { |
| 27 | 27 | private String model; |
| 28 | 28 | |
| 29 | 29 | @Schema(description = "图片宽度 --ar 设置") |
| 30 | - private String width; | |
| 30 | + private Integer width; | |
| 31 | 31 | |
| 32 | 32 | @Schema(description = "图片高度 --ar 设置") |
| 33 | - private String height; | |
| 33 | + private Integer height; | |
| 34 | 34 | |
| 35 | 35 | @Schema(description = "版本号 --v 设置") |
| 36 | 36 | private String version; | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java
| ... | ... | @@ -92,7 +92,7 @@ public class AiImageDO extends BaseDO { |
| 92 | 92 | * 2. {@link StabilityAiImageOptions} |
| 93 | 93 | */ |
| 94 | 94 | @TableField(typeHandler = JacksonTypeHandler.class) |
| 95 | - private Map<String, String> options; | |
| 95 | + private Map<String, Object> options; | |
| 96 | 96 | |
| 97 | 97 | /** |
| 98 | 98 | * 绘画 response | ... | ... |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.ai.service.image; |
| 2 | 2 | |
| 3 | +import cn.hutool.core.bean.BeanUtil; | |
| 3 | 4 | import cn.hutool.core.codec.Base64; |
| 4 | 5 | import cn.hutool.core.exceptions.ExceptionUtil; |
| 5 | 6 | import cn.hutool.core.map.MapUtil; |
| ... | ... | @@ -138,9 +139,9 @@ public class AiImageServiceImpl implements AiImageService { |
| 138 | 139 | aiImageDO.setUserId(loginUserId); |
| 139 | 140 | aiImageDO.setPrompt(req.getPrompt()); |
| 140 | 141 | aiImageDO.setPlatform(AiPlatformEnum.MIDJOURNEY.getPlatform()); |
| 141 | - aiImageDO.setModel(null); | |
| 142 | - aiImageDO.setWidth(null); | |
| 143 | - aiImageDO.setHeight(null); | |
| 142 | + aiImageDO.setModel(req.getModel()); | |
| 143 | + aiImageDO.setWidth(req.getWidth()); | |
| 144 | + aiImageDO.setHeight(req.getHeight()); | |
| 144 | 145 | aiImageDO.setStatus(AiImageStatusEnum.IN_PROGRESS.getStatus()); |
| 145 | 146 | // 2、保存 image |
| 146 | 147 | imageMapper.insert(aiImageDO); |
| ... | ... | @@ -156,15 +157,23 @@ public class AiImageServiceImpl implements AiImageService { |
| 156 | 157 | if (!MidjourneySubmitCodeEnum.SUCCESS_CODES.contains(submitRespVO.getCode())) { |
| 157 | 158 | throw exception(AI_IMAGE_MIDJOURNEY_SUBMIT_FAIL, submitRespVO.getDescription()); |
| 158 | 159 | } |
| 160 | + // 7、构建 imageOptions 参数 | |
| 161 | + MidjourneyImageOptions imageOptions = new MidjourneyImageOptions() | |
| 162 | + .setWidth(req.getWidth()) | |
| 163 | + .setHeight(req.getHeight()) | |
| 164 | + .setModel(req.getModel()) | |
| 165 | + .setVersion(req.getVersion()) | |
| 166 | + .setState(imagineReqVO.getState()); | |
| 167 | + // 8、更新 taskId 和参数 | |
| 159 | 168 | imageMapper.updateById(new AiImageDO() |
| 160 | 169 | .setId(aiImageDO.getId()) |
| 161 | 170 | .setTaskId(submitRespVO.getResult()) |
| 171 | + .setOptions(BeanUtil.beanToMap(imageOptions)) | |
| 162 | 172 | ); |
| 163 | 173 | return aiImageDO.getId(); |
| 164 | 174 | } |
| 165 | 175 | |
| 166 | 176 | |
| 167 | - | |
| 168 | 177 | @Override |
| 169 | 178 | public void deleteImageMy(Long id, Long userId) { |
| 170 | 179 | // 1. 校验是否存在 |
| ... | ... | @@ -269,7 +278,7 @@ public class AiImageServiceImpl implements AiImageService { |
| 269 | 278 | * @param model |
| 270 | 279 | * @return |
| 271 | 280 | */ |
| 272 | - private String buildParams(String width, String height, String version, MidjourneyModelEnum model) { | |
| 281 | + private String buildParams(Integer width, Integer height, String version, MidjourneyModelEnum model) { | |
| 273 | 282 | StringBuilder params = new StringBuilder(); |
| 274 | 283 | // --ar 来设置尺寸 |
| 275 | 284 | params.append(String.format(" --ar %s:%s ", width, height)); | ... | ... |