Commit 0cdd3423e5050f2745aeb99a9a65d048bc62dd51
1 parent
3afb3089
【优化】AI Image 调整字段
Showing
9 changed files
with
58 additions
and
53 deletions
yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java renamed to yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java
| @@ -12,7 +12,7 @@ import lombok.Getter; | @@ -12,7 +12,7 @@ import lombok.Getter; | ||
| 12 | */ | 12 | */ |
| 13 | @AllArgsConstructor | 13 | @AllArgsConstructor |
| 14 | @Getter | 14 | @Getter |
| 15 | -public enum AiImageDrawingStatusEnum { | 15 | +public enum AiImageStatusEnum { |
| 16 | 16 | ||
| 17 | SUBMIT("submit", "提交任务"), | 17 | SUBMIT("submit", "提交任务"), |
| 18 | WAITING("waiting", "等待"), | 18 | WAITING("waiting", "等待"), |
| @@ -27,8 +27,8 @@ public enum AiImageDrawingStatusEnum { | @@ -27,8 +27,8 @@ public enum AiImageDrawingStatusEnum { | ||
| 27 | private String name; | 27 | private String name; |
| 28 | 28 | ||
| 29 | 29 | ||
| 30 | - public static AiImageDrawingStatusEnum valueOfStatus(String status) { | ||
| 31 | - for (AiImageDrawingStatusEnum itemEnum : AiImageDrawingStatusEnum.values()) { | 30 | + public static AiImageStatusEnum valueOfStatus(String status) { |
| 31 | + for (AiImageStatusEnum itemEnum : AiImageStatusEnum.values()) { | ||
| 32 | if (itemEnum.getStatus().equals(status)) { | 32 | if (itemEnum.getStatus().equals(status)) { |
| 33 | return itemEnum; | 33 | return itemEnum; |
| 34 | } | 34 | } |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java
| @@ -37,8 +37,8 @@ public class AiImageController { | @@ -37,8 +37,8 @@ public class AiImageController { | ||
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | @Operation(summary = "dall2/dall3绘画", description = "openAi dall3是付费的!") | 39 | @Operation(summary = "dall2/dall3绘画", description = "openAi dall3是付费的!") |
| 40 | - @PostMapping("/dallDrawing") | ||
| 41 | - public AiImageDallDrawingRespVO dallDrawing(@Validated @RequestBody AiImageDallDrawingReqVO req) { | 40 | + @PostMapping("/dall") |
| 41 | + public AiImageDallRespVO dallDrawing(@Validated @RequestBody AiImageDallReqVO req) { | ||
| 42 | return aiImageService.dallDrawing(req); | 42 | return aiImageService.dallDrawing(req); |
| 43 | } | 43 | } |
| 44 | 44 |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java
| @@ -15,19 +15,18 @@ import lombok.experimental.Accessors; | @@ -15,19 +15,18 @@ import lombok.experimental.Accessors; | ||
| 15 | */ | 15 | */ |
| 16 | @Data | 16 | @Data |
| 17 | @Accessors(chain = true) | 17 | @Accessors(chain = true) |
| 18 | -public class AiImageDallDrawingReqVO { | 18 | +public class AiImageDallReqVO { |
| 19 | 19 | ||
| 20 | @Schema(description = "提示词") | 20 | @Schema(description = "提示词") |
| 21 | @NotNull(message = "提示词不能为空!") | 21 | @NotNull(message = "提示词不能为空!") |
| 22 | @Size(max = 1200, message = "提示词最大1200") | 22 | @Size(max = 1200, message = "提示词最大1200") |
| 23 | private String prompt; | 23 | private String prompt; |
| 24 | 24 | ||
| 25 | - @Schema(description = "模型") | 25 | + @Schema(description = "模型(dall2、dall3)") |
| 26 | @NotNull(message = "模型不能为空") | 26 | @NotNull(message = "模型不能为空") |
| 27 | - private String modal; | 27 | + private String model; |
| 28 | 28 | ||
| 29 | @Schema(description = "图像生成的风格。可为vivid(生动)或natural(自然)") | 29 | @Schema(description = "图像生成的风格。可为vivid(生动)或natural(自然)") |
| 30 | - @NotNull(message = "图像生成的风格,不能为空!") | ||
| 31 | private String style; | 30 | private String style; |
| 32 | 31 | ||
| 33 | @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") | 32 | @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java
| @@ -15,8 +15,7 @@ import lombok.experimental.Accessors; | @@ -15,8 +15,7 @@ import lombok.experimental.Accessors; | ||
| 15 | */ | 15 | */ |
| 16 | @Data | 16 | @Data |
| 17 | @Accessors(chain = true) | 17 | @Accessors(chain = true) |
| 18 | -public class AiImageDallDrawingRespVO { | ||
| 19 | - | 18 | +public class AiImageDallRespVO { |
| 20 | 19 | ||
| 21 | @Schema(description = "提示词") | 20 | @Schema(description = "提示词") |
| 22 | @NotNull(message = "提示词不能为空!") | 21 | @NotNull(message = "提示词不能为空!") |
| @@ -25,7 +24,7 @@ public class AiImageDallDrawingRespVO { | @@ -25,7 +24,7 @@ public class AiImageDallDrawingRespVO { | ||
| 25 | 24 | ||
| 26 | @Schema(description = "模型") | 25 | @Schema(description = "模型") |
| 27 | @NotNull(message = "模型不能为空") | 26 | @NotNull(message = "模型不能为空") |
| 28 | - private String modal; | 27 | + private String model; |
| 29 | 28 | ||
| 30 | @Schema(description = "风格") | 29 | @Schema(description = "风格") |
| 31 | private String style; | 30 | private String style; |
| @@ -33,8 +32,11 @@ public class AiImageDallDrawingRespVO { | @@ -33,8 +32,11 @@ public class AiImageDallDrawingRespVO { | ||
| 33 | @Schema(description = "图片size 1024x1024 ...") | 32 | @Schema(description = "图片size 1024x1024 ...") |
| 34 | private String size; | 33 | private String size; |
| 35 | 34 | ||
| 35 | + @Schema(description = "图片地址(自己服务器)") | ||
| 36 | + private String picUrl; | ||
| 37 | + | ||
| 36 | @Schema(description = "可以访问图像的URL。") | 38 | @Schema(description = "可以访问图像的URL。") |
| 37 | - private String url; | 39 | + private String originalPicUrl; |
| 38 | 40 | ||
| 39 | @Schema(description = "图片base64。") | 41 | @Schema(description = "图片base64。") |
| 40 | private String base64; | 42 | private String base64; |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java
| 1 | package cn.iocoder.yudao.module.ai.convert; | 1 | package cn.iocoder.yudao.module.ai.convert; |
| 2 | 2 | ||
| 3 | import org.springframework.ai.models.midjourney.MidjourneyMessage; | 3 | import org.springframework.ai.models.midjourney.MidjourneyMessage; |
| 4 | -import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingReqVO; | ||
| 5 | -import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingRespVO; | 4 | +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallReqVO; |
| 5 | +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallRespVO; | ||
| 6 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO; | 6 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO; |
| 7 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO; | 7 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO; |
| 8 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; | 8 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; |
| @@ -29,7 +29,7 @@ public interface AiImageConvert { | @@ -29,7 +29,7 @@ public interface AiImageConvert { | ||
| 29 | * @param req | 29 | * @param req |
| 30 | * @return | 30 | * @return |
| 31 | */ | 31 | */ |
| 32 | - AiImageDallDrawingRespVO convertAiImageDallDrawingRespVO(AiImageDallDrawingReqVO req); | 32 | + AiImageDallRespVO convertAiImageDallDrawingRespVO(AiImageDallReqVO req); |
| 33 | 33 | ||
| 34 | /** | 34 | /** |
| 35 | * 转换 - AiImageListRespVO | 35 | * 转换 - AiImageListRespVO |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java
| @@ -30,22 +30,28 @@ public class AiImageDO extends BaseDO { | @@ -30,22 +30,28 @@ public class AiImageDO extends BaseDO { | ||
| 30 | private String prompt; | 30 | private String prompt; |
| 31 | 31 | ||
| 32 | @Schema(description = "模型 dall2/dall3、MJ、NIJI") | 32 | @Schema(description = "模型 dall2/dall3、MJ、NIJI") |
| 33 | - private String modal; | 33 | + private String model; |
| 34 | 34 | ||
| 35 | @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") | 35 | @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") |
| 36 | private String size; | 36 | private String size; |
| 37 | 37 | ||
| 38 | + @Schema(description = "风格") | ||
| 39 | + private String style; | ||
| 40 | + | ||
| 38 | @Schema(description = "图片地址(自己服务器)") | 41 | @Schema(description = "图片地址(自己服务器)") |
| 39 | - private String imageUrl; | 42 | + private String picUrl; |
| 40 | 43 | ||
| 41 | @Schema(description = "绘画状态:提交、排队、绘画中、绘画完成、绘画失败") | 44 | @Schema(description = "绘画状态:提交、排队、绘画中、绘画完成、绘画失败") |
| 42 | - private String drawingStatus; | 45 | + private String status; |
| 43 | 46 | ||
| 44 | @Schema(description = "绘画图片地址(绘画好的服务器)") | 47 | @Schema(description = "绘画图片地址(绘画好的服务器)") |
| 45 | - private String drawingImageUrl; | 48 | + private String originalPicUrl; |
| 46 | 49 | ||
| 47 | @Schema(description = "绘画错误信息") | 50 | @Schema(description = "绘画错误信息") |
| 48 | - private String drawingErrorMessage; | 51 | + private String errorMessage; |
| 52 | + | ||
| 53 | + @Schema(description = "是否发布") | ||
| 54 | + private String publicStatus; | ||
| 49 | 55 | ||
| 50 | // ============ mj 需要字段 | 56 | // ============ mj 需要字段 |
| 51 | 57 |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java
| @@ -3,8 +3,6 @@ package cn.iocoder.yudao.module.ai.service.image; | @@ -3,8 +3,6 @@ package cn.iocoder.yudao.module.ai.service.image; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; | 4 | import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; |
| 5 | 5 | ||
| 6 | -import java.util.List; | ||
| 7 | - | ||
| 8 | /** | 6 | /** |
| 9 | * ai 作图 | 7 | * ai 作图 |
| 10 | * | 8 | * |
| @@ -27,7 +25,7 @@ public interface AiImageService { | @@ -27,7 +25,7 @@ public interface AiImageService { | ||
| 27 | * | 25 | * |
| 28 | * @param req | 26 | * @param req |
| 29 | */ | 27 | */ |
| 30 | - AiImageDallDrawingRespVO dallDrawing(AiImageDallDrawingReqVO req); | 28 | + AiImageDallRespVO dallDrawing(AiImageDallReqVO req); |
| 31 | 29 | ||
| 32 | /** | 30 | /** |
| 33 | * midjourney 图片生成 | 31 | * midjourney 图片生成 |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
| @@ -22,7 +22,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; | @@ -22,7 +22,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; | ||
| 22 | import cn.iocoder.yudao.module.ai.convert.AiImageConvert; | 22 | import cn.iocoder.yudao.module.ai.convert.AiImageConvert; |
| 23 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; | 23 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; |
| 24 | import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; | 24 | import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; |
| 25 | -import cn.iocoder.yudao.module.ai.enums.AiImageDrawingStatusEnum; | 25 | +import cn.iocoder.yudao.module.ai.enums.AiImageStatusEnum; |
| 26 | import jakarta.annotation.PostConstruct; | 26 | import jakarta.annotation.PostConstruct; |
| 27 | import lombok.AllArgsConstructor; | 27 | import lombok.AllArgsConstructor; |
| 28 | import lombok.extern.slf4j.Slf4j; | 28 | import lombok.extern.slf4j.Slf4j; |
| @@ -85,12 +85,12 @@ public class AiImageServiceImpl implements AiImageService { | @@ -85,12 +85,12 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | @Override | 87 | @Override |
| 88 | - public AiImageDallDrawingRespVO dallDrawing(AiImageDallDrawingReqVO req) { | 88 | + public AiImageDallRespVO dallDrawing(AiImageDallReqVO req) { |
| 89 | // 获取 model | 89 | // 获取 model |
| 90 | - OpenAiImageModelEnum openAiImageModelEnum = OpenAiImageModelEnum.valueOfModel(req.getModal()); | 90 | + OpenAiImageModelEnum openAiImageModelEnum = OpenAiImageModelEnum.valueOfModel(req.getModel()); |
| 91 | OpenAiImageStyleEnum openAiImageStyleEnum = OpenAiImageStyleEnum.valueOfStyle(req.getStyle()); | 91 | OpenAiImageStyleEnum openAiImageStyleEnum = OpenAiImageStyleEnum.valueOfStyle(req.getStyle()); |
| 92 | // 转换 AiImageDallDrawingRespVO | 92 | // 转换 AiImageDallDrawingRespVO |
| 93 | - AiImageDallDrawingRespVO respVO = AiImageConvert.INSTANCE.convertAiImageDallDrawingRespVO(req); | 93 | + AiImageDallRespVO respVO = AiImageConvert.INSTANCE.convertAiImageDallDrawingRespVO(req); |
| 94 | try { | 94 | try { |
| 95 | // 转换openai 参数 | 95 | // 转换openai 参数 |
| 96 | OpenAiImageOptions openAiImageOptions = new OpenAiImageOptions(); | 96 | OpenAiImageOptions openAiImageOptions = new OpenAiImageOptions(); |
| @@ -101,17 +101,17 @@ public class AiImageServiceImpl implements AiImageService { | @@ -101,17 +101,17 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 101 | // 发送 | 101 | // 发送 |
| 102 | ImageGeneration imageGeneration = imageResponse.getResult(); | 102 | ImageGeneration imageGeneration = imageResponse.getResult(); |
| 103 | // 保存数据库 | 103 | // 保存数据库 |
| 104 | - doSave(req.getPrompt(), req.getSize(), req.getModal(), | ||
| 105 | - imageGeneration.getOutput().getUrl(), AiImageDrawingStatusEnum.COMPLETE, null, | 104 | + doSave(req.getPrompt(), req.getSize(), req.getModel(), |
| 105 | + imageGeneration.getOutput().getUrl(), AiImageStatusEnum.COMPLETE, null, | ||
| 106 | null, null, null); | 106 | null, null, null); |
| 107 | // 返回 flex | 107 | // 返回 flex |
| 108 | - respVO.setUrl(imageGeneration.getOutput().getUrl()); | 108 | + respVO.setOriginalPicUrl(imageGeneration.getOutput().getUrl()); |
| 109 | respVO.setBase64(imageGeneration.getOutput().getB64Json()); | 109 | respVO.setBase64(imageGeneration.getOutput().getB64Json()); |
| 110 | return respVO; | 110 | return respVO; |
| 111 | } catch (AiException aiException) { | 111 | } catch (AiException aiException) { |
| 112 | // 保存数据库 | 112 | // 保存数据库 |
| 113 | - doSave(req.getPrompt(), req.getSize(), req.getModal(), | ||
| 114 | - null, AiImageDrawingStatusEnum.FAIL, aiException.getMessage(), | 113 | + doSave(req.getPrompt(), req.getSize(), req.getModel(), |
| 114 | + null, AiImageStatusEnum.FAIL, aiException.getMessage(), | ||
| 115 | null, null, null); | 115 | null, null, null); |
| 116 | // 发送错误信息 | 116 | // 发送错误信息 |
| 117 | respVO.setErrorMessage(aiException.getMessage()); | 117 | respVO.setErrorMessage(aiException.getMessage()); |
| @@ -125,7 +125,7 @@ public class AiImageServiceImpl implements AiImageService { | @@ -125,7 +125,7 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 125 | // 保存数据库 | 125 | // 保存数据库 |
| 126 | String messageId = String.valueOf(IdUtil.getSnowflakeNextId()); | 126 | String messageId = String.valueOf(IdUtil.getSnowflakeNextId()); |
| 127 | AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny", | 127 | AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny", |
| 128 | - null, AiImageDrawingStatusEnum.SUBMIT, null, | 128 | + null, AiImageStatusEnum.SUBMIT, null, |
| 129 | messageId, null, null); | 129 | messageId, null, null); |
| 130 | // 提交 midjourney 任务 | 130 | // 提交 midjourney 任务 |
| 131 | Boolean imagine = midjourneyInteractionsApi.imagine(messageId, req.getPrompt()); | 131 | Boolean imagine = midjourneyInteractionsApi.imagine(messageId, req.getPrompt()); |
| @@ -148,8 +148,8 @@ public class AiImageServiceImpl implements AiImageService { | @@ -148,8 +148,8 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 148 | // 获取 mjOperationName | 148 | // 获取 mjOperationName |
| 149 | String mjOperationName = midjourneyOperationsVO.getLabel(); | 149 | String mjOperationName = midjourneyOperationsVO.getLabel(); |
| 150 | // 保存一个 image 任务记录 | 150 | // 保存一个 image 任务记录 |
| 151 | - doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModal(), | ||
| 152 | - null, AiImageDrawingStatusEnum.SUBMIT, null, | 151 | + doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModel(), |
| 152 | + null, AiImageStatusEnum.SUBMIT, null, | ||
| 153 | req.getMessageId(), req.getOperateId(), mjOperationName); | 153 | req.getMessageId(), req.getOperateId(), mjOperationName); |
| 154 | // 提交操作 | 154 | // 提交操作 |
| 155 | midjourneyInteractionsApi.reRoll( | 155 | midjourneyInteractionsApi.reRoll( |
| @@ -201,9 +201,9 @@ public class AiImageServiceImpl implements AiImageService { | @@ -201,9 +201,9 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 201 | private AiImageDO doSave(String prompt, | 201 | private AiImageDO doSave(String prompt, |
| 202 | String size, | 202 | String size, |
| 203 | String model, | 203 | String model, |
| 204 | - String drawingImageUrl, | ||
| 205 | - AiImageDrawingStatusEnum drawingStatusEnum, | ||
| 206 | - String drawingErrorMessage, | 204 | + String originalPicUrl, |
| 205 | + AiImageStatusEnum statusEnum, | ||
| 206 | + String errorMessage, | ||
| 207 | String mjMessageId, | 207 | String mjMessageId, |
| 208 | String mjOperationId, | 208 | String mjOperationId, |
| 209 | String mjOperationName) { | 209 | String mjOperationName) { |
| @@ -213,13 +213,13 @@ public class AiImageServiceImpl implements AiImageService { | @@ -213,13 +213,13 @@ public class AiImageServiceImpl implements AiImageService { | ||
| 213 | aiImageDO.setId(null); | 213 | aiImageDO.setId(null); |
| 214 | aiImageDO.setPrompt(prompt); | 214 | aiImageDO.setPrompt(prompt); |
| 215 | aiImageDO.setSize(size); | 215 | aiImageDO.setSize(size); |
| 216 | - aiImageDO.setModal(model); | 216 | + aiImageDO.setModel(model); |
| 217 | aiImageDO.setUserId(loginUserId); | 217 | aiImageDO.setUserId(loginUserId); |
| 218 | // TODO @芋艿 如何上传到自己服务器 | 218 | // TODO @芋艿 如何上传到自己服务器 |
| 219 | - aiImageDO.setImageUrl(null); | ||
| 220 | - aiImageDO.setDrawingStatus(drawingStatusEnum.getStatus()); | ||
| 221 | - aiImageDO.setDrawingImageUrl(drawingImageUrl); | ||
| 222 | - aiImageDO.setDrawingErrorMessage(drawingErrorMessage); | 219 | + aiImageDO.setPicUrl(null); |
| 220 | + aiImageDO.setStatus(statusEnum.getStatus()); | ||
| 221 | + aiImageDO.setOriginalPicUrl(originalPicUrl); | ||
| 222 | + aiImageDO.setErrorMessage(errorMessage); | ||
| 223 | // | 223 | // |
| 224 | aiImageDO.setMjNonceId(mjMessageId); | 224 | aiImageDO.setMjNonceId(mjMessageId); |
| 225 | aiImageDO.setMjOperationId(mjOperationId); | 225 | aiImageDO.setMjOperationId(mjOperationId); |
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java
| @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOpe | @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOpe | ||
| 11 | import cn.iocoder.yudao.module.ai.convert.AiImageConvert; | 11 | import cn.iocoder.yudao.module.ai.convert.AiImageConvert; |
| 12 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; | 12 | import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; |
| 13 | import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; | 13 | import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; |
| 14 | -import cn.iocoder.yudao.module.ai.enums.AiImageDrawingStatusEnum; | 14 | +import cn.iocoder.yudao.module.ai.enums.AiImageStatusEnum; |
| 15 | import lombok.AllArgsConstructor; | 15 | import lombok.AllArgsConstructor; |
| 16 | import lombok.extern.slf4j.Slf4j; | 16 | import lombok.extern.slf4j.Slf4j; |
| 17 | import org.springframework.stereotype.Component; | 17 | import org.springframework.stereotype.Component; |
| @@ -67,8 +67,8 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { | @@ -67,8 +67,8 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { | ||
| 67 | String errorMessage = getErrorMessage(midjourneyMessage); | 67 | String errorMessage = getErrorMessage(midjourneyMessage); |
| 68 | aiImageMapper.updateByMjNonce(nonceId, | 68 | aiImageMapper.updateByMjNonce(nonceId, |
| 69 | new AiImageDO() | 69 | new AiImageDO() |
| 70 | - .setDrawingErrorMessage(errorMessage) | ||
| 71 | - .setDrawingStatus(AiImageDrawingStatusEnum.FAIL.getStatus()) | 70 | + .setErrorMessage(errorMessage) |
| 71 | + .setStatus(AiImageStatusEnum.FAIL.getStatus()) | ||
| 72 | ); | 72 | ); |
| 73 | } | 73 | } |
| 74 | 74 | ||
| @@ -90,22 +90,22 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { | @@ -90,22 +90,22 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { | ||
| 90 | imageUrl = midjourneyMessage.getAttachments().get(0).getUrl(); | 90 | imageUrl = midjourneyMessage.getAttachments().get(0).getUrl(); |
| 91 | } | 91 | } |
| 92 | // 转换状态 | 92 | // 转换状态 |
| 93 | - AiImageDrawingStatusEnum drawingStatusEnum = null; | 93 | + AiImageStatusEnum drawingStatusEnum = null; |
| 94 | String generateStatus = midjourneyMessage.getGenerateStatus(); | 94 | String generateStatus = midjourneyMessage.getGenerateStatus(); |
| 95 | if (MidjourneyGennerateStatusEnum.COMPLETED.getStatus().equals(generateStatus)) { | 95 | if (MidjourneyGennerateStatusEnum.COMPLETED.getStatus().equals(generateStatus)) { |
| 96 | - drawingStatusEnum = AiImageDrawingStatusEnum.COMPLETE; | 96 | + drawingStatusEnum = AiImageStatusEnum.COMPLETE; |
| 97 | } else if (MidjourneyGennerateStatusEnum.IN_PROGRESS.getStatus().equals(generateStatus)) { | 97 | } else if (MidjourneyGennerateStatusEnum.IN_PROGRESS.getStatus().equals(generateStatus)) { |
| 98 | - drawingStatusEnum = AiImageDrawingStatusEnum.IN_PROGRESS; | 98 | + drawingStatusEnum = AiImageStatusEnum.IN_PROGRESS; |
| 99 | } else if (MidjourneyGennerateStatusEnum.WAITING.getStatus().equals(generateStatus)) { | 99 | } else if (MidjourneyGennerateStatusEnum.WAITING.getStatus().equals(generateStatus)) { |
| 100 | - drawingStatusEnum = AiImageDrawingStatusEnum.WAITING; | 100 | + drawingStatusEnum = AiImageStatusEnum.WAITING; |
| 101 | } | 101 | } |
| 102 | // 获取 midjourneyOperations | 102 | // 获取 midjourneyOperations |
| 103 | List<AiImageMidjourneyOperationsVO> midjourneyOperations = getMidjourneyOperationsList(midjourneyMessage); | 103 | List<AiImageMidjourneyOperationsVO> midjourneyOperations = getMidjourneyOperationsList(midjourneyMessage); |
| 104 | // 更新数据库 | 104 | // 更新数据库 |
| 105 | aiImageMapper.updateByMjNonce(nonceId, | 105 | aiImageMapper.updateByMjNonce(nonceId, |
| 106 | new AiImageDO() | 106 | new AiImageDO() |
| 107 | - .setDrawingImageUrl(imageUrl) | ||
| 108 | - .setDrawingStatus(drawingStatusEnum == null ? null : drawingStatusEnum.getStatus()) | 107 | + .setOriginalPicUrl(imageUrl) |
| 108 | + .setStatus(drawingStatusEnum == null ? null : drawingStatusEnum.getStatus()) | ||
| 109 | .setMjNonceId(midjourneyMessage.getId()) | 109 | .setMjNonceId(midjourneyMessage.getId()) |
| 110 | .setMjOperations(JsonUtils.toJsonString(midjourneyOperations)) | 110 | .setMjOperations(JsonUtils.toJsonString(midjourneyOperations)) |
| 111 | ); | 111 | ); |