From 0cdd3423e5050f2745aeb99a9a65d048bc62dd51 Mon Sep 17 00:00:00 2001 From: cherishsince Date: Mon, 27 May 2024 15:26:44 +0800 Subject: [PATCH] 【优化】AI Image 调整字段 --- yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java | 38 -------------------------------------- yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java | 38 ++++++++++++++++++++++++++++++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java | 4 ++-- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java | 37 ------------------------------------- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java | 45 --------------------------------------------- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java | 47 +++++++++++++++++++++++++++++++++++++++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java | 6 +++--- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java | 16 +++++++++++----- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java | 4 +--- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java | 40 ++++++++++++++++++++-------------------- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java | 18 +++++++++--------- 12 files changed, 167 insertions(+), 162 deletions(-) delete mode 100644 yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java create mode 100644 yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java delete mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java delete mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java create mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java create mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java diff --git a/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java b/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java deleted file mode 100644 index c38b177..0000000 --- a/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageDrawingStatusEnum.java +++ /dev/null @@ -1,38 +0,0 @@ -package cn.iocoder.yudao.module.ai.enums; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -/** - * ai绘画状态 - * - * @author fansili - * @time 2024/4/28 17:05 - * @since 1.0 - */ -@AllArgsConstructor -@Getter -public enum AiImageDrawingStatusEnum { - - SUBMIT("submit", "提交任务"), - WAITING("waiting", "等待"), - IN_PROGRESS("in_progress", "进行中"), - COMPLETE("complete", "完成"), - FAIL("fail", "失败"), - - ; - - private String status; - - private String name; - - - public static AiImageDrawingStatusEnum valueOfStatus(String status) { - for (AiImageDrawingStatusEnum itemEnum : AiImageDrawingStatusEnum.values()) { - if (itemEnum.getStatus().equals(status)) { - return itemEnum; - } - } - throw new IllegalArgumentException("Invalid MessageType value: " + status); - } -} diff --git a/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java b/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java new file mode 100644 index 0000000..a5231a3 --- /dev/null +++ b/yudao-module-ai/yudao-module-ai-api/src/main/java/cn/iocoder/yudao/module/ai/enums/AiImageStatusEnum.java @@ -0,0 +1,38 @@ +package cn.iocoder.yudao.module.ai.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * ai绘画状态 + * + * @author fansili + * @time 2024/4/28 17:05 + * @since 1.0 + */ +@AllArgsConstructor +@Getter +public enum AiImageStatusEnum { + + SUBMIT("submit", "提交任务"), + WAITING("waiting", "等待"), + IN_PROGRESS("in_progress", "进行中"), + COMPLETE("complete", "完成"), + FAIL("fail", "失败"), + + ; + + private String status; + + private String name; + + + public static AiImageStatusEnum valueOfStatus(String status) { + for (AiImageStatusEnum itemEnum : AiImageStatusEnum.values()) { + if (itemEnum.getStatus().equals(status)) { + return itemEnum; + } + } + throw new IllegalArgumentException("Invalid MessageType value: " + status); + } +} diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java index fd9ea08..2dbac1a 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java +++ b/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 { } @Operation(summary = "dall2/dall3绘画", description = "openAi dall3是付费的!") - @PostMapping("/dallDrawing") - public AiImageDallDrawingRespVO dallDrawing(@Validated @RequestBody AiImageDallDrawingReqVO req) { + @PostMapping("/dall") + public AiImageDallRespVO dallDrawing(@Validated @RequestBody AiImageDallReqVO req) { return aiImageService.dallDrawing(req); } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java deleted file mode 100644 index 3973eb2..0000000 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingReqVO.java +++ /dev/null @@ -1,37 +0,0 @@ -package cn.iocoder.yudao.module.ai.controller.admin.image.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * dall2/dall2 绘画 - * - * @author fansili - * @time 2024/4/25 16:24 - * @since 1.0 - */ -@Data -@Accessors(chain = true) -public class AiImageDallDrawingReqVO { - - @Schema(description = "提示词") - @NotNull(message = "提示词不能为空!") - @Size(max = 1200, message = "提示词最大1200") - private String prompt; - - @Schema(description = "模型") - @NotNull(message = "模型不能为空") - private String modal; - - @Schema(description = "图像生成的风格。可为vivid(生动)或natural(自然)") - @NotNull(message = "图像生成的风格,不能为空!") - private String style; - - @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") - @NotNull(message = "size不能为空!") - private String size; - -} diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java deleted file mode 100644 index 7e480a8..0000000 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallDrawingRespVO.java +++ /dev/null @@ -1,45 +0,0 @@ -package cn.iocoder.yudao.module.ai.controller.admin.image.vo; - -import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * dall2/dall2 绘画 - * - * @author fansili - * @time 2024/4/25 16:24 - * @since 1.0 - */ -@Data -@Accessors(chain = true) -public class AiImageDallDrawingRespVO { - - - @Schema(description = "提示词") - @NotNull(message = "提示词不能为空!") - @Size(max = 1200, message = "提示词最大1200") - private String prompt; - - @Schema(description = "模型") - @NotNull(message = "模型不能为空") - private String modal; - - @Schema(description = "风格") - private String style; - - @Schema(description = "图片size 1024x1024 ...") - private String size; - - @Schema(description = "可以访问图像的URL。") - private String url; - - @Schema(description = "图片base64。") - private String base64; - - @Schema(description = "错误信息。") - private String errorMessage; - -} diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java new file mode 100644 index 0000000..ef91618 --- /dev/null +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallReqVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.ai.controller.admin.image.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * dall2/dall2 绘画 + * + * @author fansili + * @time 2024/4/25 16:24 + * @since 1.0 + */ +@Data +@Accessors(chain = true) +public class AiImageDallReqVO { + + @Schema(description = "提示词") + @NotNull(message = "提示词不能为空!") + @Size(max = 1200, message = "提示词最大1200") + private String prompt; + + @Schema(description = "模型(dall2、dall3)") + @NotNull(message = "模型不能为空") + private String model; + + @Schema(description = "图像生成的风格。可为vivid(生动)或natural(自然)") + private String style; + + @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") + @NotNull(message = "size不能为空!") + private String size; + +} diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java new file mode 100644 index 0000000..18c27a6 --- /dev/null +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/vo/AiImageDallRespVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.ai.controller.admin.image.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * dall2/dall2 绘画 + * + * @author fansili + * @time 2024/4/25 16:24 + * @since 1.0 + */ +@Data +@Accessors(chain = true) +public class AiImageDallRespVO { + + @Schema(description = "提示词") + @NotNull(message = "提示词不能为空!") + @Size(max = 1200, message = "提示词最大1200") + private String prompt; + + @Schema(description = "模型") + @NotNull(message = "模型不能为空") + private String model; + + @Schema(description = "风格") + private String style; + + @Schema(description = "图片size 1024x1024 ...") + private String size; + + @Schema(description = "图片地址(自己服务器)") + private String picUrl; + + @Schema(description = "可以访问图像的URL。") + private String originalPicUrl; + + @Schema(description = "图片base64。") + private String base64; + + @Schema(description = "错误信息。") + private String errorMessage; + +} diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java index b0f8abc..f5e6699 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/convert/AiImageConvert.java @@ -1,8 +1,8 @@ package cn.iocoder.yudao.module.ai.convert; import org.springframework.ai.models.midjourney.MidjourneyMessage; -import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingReqVO; -import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallDrawingRespVO; +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallReqVO; +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDallRespVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageListRespVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageMidjourneyOperationsVO; import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; @@ -29,7 +29,7 @@ public interface AiImageConvert { * @param req * @return */ - AiImageDallDrawingRespVO convertAiImageDallDrawingRespVO(AiImageDallDrawingReqVO req); + AiImageDallRespVO convertAiImageDallDrawingRespVO(AiImageDallReqVO req); /** * 转换 - AiImageListRespVO diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java index c04fea1..cb3aedd 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/image/AiImageDO.java +++ b/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 { private String prompt; @Schema(description = "模型 dall2/dall3、MJ、NIJI") - private String modal; + private String model; @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") private String size; + @Schema(description = "风格") + private String style; + @Schema(description = "图片地址(自己服务器)") - private String imageUrl; + private String picUrl; @Schema(description = "绘画状态:提交、排队、绘画中、绘画完成、绘画失败") - private String drawingStatus; + private String status; @Schema(description = "绘画图片地址(绘画好的服务器)") - private String drawingImageUrl; + private String originalPicUrl; @Schema(description = "绘画错误信息") - private String drawingErrorMessage; + private String errorMessage; + + @Schema(description = "是否发布") + private String publicStatus; // ============ mj 需要字段 diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java index 836f37d..4af34d3 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java +++ b/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; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; -import java.util.List; - /** * ai 作图 * @@ -27,7 +25,7 @@ public interface AiImageService { * * @param req */ - AiImageDallDrawingRespVO dallDrawing(AiImageDallDrawingReqVO req); + AiImageDallRespVO dallDrawing(AiImageDallReqVO req); /** * midjourney 图片生成 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 f4521af..01476a4 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 @@ -22,7 +22,7 @@ import cn.iocoder.yudao.module.ai.controller.admin.image.vo.*; import cn.iocoder.yudao.module.ai.convert.AiImageConvert; import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; -import cn.iocoder.yudao.module.ai.enums.AiImageDrawingStatusEnum; +import cn.iocoder.yudao.module.ai.enums.AiImageStatusEnum; import jakarta.annotation.PostConstruct; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -85,12 +85,12 @@ public class AiImageServiceImpl implements AiImageService { } @Override - public AiImageDallDrawingRespVO dallDrawing(AiImageDallDrawingReqVO req) { + public AiImageDallRespVO dallDrawing(AiImageDallReqVO req) { // 获取 model - OpenAiImageModelEnum openAiImageModelEnum = OpenAiImageModelEnum.valueOfModel(req.getModal()); + OpenAiImageModelEnum openAiImageModelEnum = OpenAiImageModelEnum.valueOfModel(req.getModel()); OpenAiImageStyleEnum openAiImageStyleEnum = OpenAiImageStyleEnum.valueOfStyle(req.getStyle()); // 转换 AiImageDallDrawingRespVO - AiImageDallDrawingRespVO respVO = AiImageConvert.INSTANCE.convertAiImageDallDrawingRespVO(req); + AiImageDallRespVO respVO = AiImageConvert.INSTANCE.convertAiImageDallDrawingRespVO(req); try { // 转换openai 参数 OpenAiImageOptions openAiImageOptions = new OpenAiImageOptions(); @@ -101,17 +101,17 @@ public class AiImageServiceImpl implements AiImageService { // 发送 ImageGeneration imageGeneration = imageResponse.getResult(); // 保存数据库 - doSave(req.getPrompt(), req.getSize(), req.getModal(), - imageGeneration.getOutput().getUrl(), AiImageDrawingStatusEnum.COMPLETE, null, + doSave(req.getPrompt(), req.getSize(), req.getModel(), + imageGeneration.getOutput().getUrl(), AiImageStatusEnum.COMPLETE, null, null, null, null); // 返回 flex - respVO.setUrl(imageGeneration.getOutput().getUrl()); + respVO.setOriginalPicUrl(imageGeneration.getOutput().getUrl()); respVO.setBase64(imageGeneration.getOutput().getB64Json()); return respVO; } catch (AiException aiException) { // 保存数据库 - doSave(req.getPrompt(), req.getSize(), req.getModal(), - null, AiImageDrawingStatusEnum.FAIL, aiException.getMessage(), + doSave(req.getPrompt(), req.getSize(), req.getModel(), + null, AiImageStatusEnum.FAIL, aiException.getMessage(), null, null, null); // 发送错误信息 respVO.setErrorMessage(aiException.getMessage()); @@ -125,7 +125,7 @@ public class AiImageServiceImpl implements AiImageService { // 保存数据库 String messageId = String.valueOf(IdUtil.getSnowflakeNextId()); AiImageDO aiImageDO = doSave(req.getPrompt(), null, "midjoureny", - null, AiImageDrawingStatusEnum.SUBMIT, null, + null, AiImageStatusEnum.SUBMIT, null, messageId, null, null); // 提交 midjourney 任务 Boolean imagine = midjourneyInteractionsApi.imagine(messageId, req.getPrompt()); @@ -148,8 +148,8 @@ public class AiImageServiceImpl implements AiImageService { // 获取 mjOperationName String mjOperationName = midjourneyOperationsVO.getLabel(); // 保存一个 image 任务记录 - doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModal(), - null, AiImageDrawingStatusEnum.SUBMIT, null, + doSave(aiImageDO.getPrompt(), aiImageDO.getSize(), aiImageDO.getModel(), + null, AiImageStatusEnum.SUBMIT, null, req.getMessageId(), req.getOperateId(), mjOperationName); // 提交操作 midjourneyInteractionsApi.reRoll( @@ -201,9 +201,9 @@ public class AiImageServiceImpl implements AiImageService { private AiImageDO doSave(String prompt, String size, String model, - String drawingImageUrl, - AiImageDrawingStatusEnum drawingStatusEnum, - String drawingErrorMessage, + String originalPicUrl, + AiImageStatusEnum statusEnum, + String errorMessage, String mjMessageId, String mjOperationId, String mjOperationName) { @@ -213,13 +213,13 @@ public class AiImageServiceImpl implements AiImageService { aiImageDO.setId(null); aiImageDO.setPrompt(prompt); aiImageDO.setSize(size); - aiImageDO.setModal(model); + aiImageDO.setModel(model); aiImageDO.setUserId(loginUserId); // TODO @芋艿 如何上传到自己服务器 - aiImageDO.setImageUrl(null); - aiImageDO.setDrawingStatus(drawingStatusEnum.getStatus()); - aiImageDO.setDrawingImageUrl(drawingImageUrl); - aiImageDO.setDrawingErrorMessage(drawingErrorMessage); + aiImageDO.setPicUrl(null); + aiImageDO.setStatus(statusEnum.getStatus()); + aiImageDO.setOriginalPicUrl(originalPicUrl); + aiImageDO.setErrorMessage(errorMessage); // aiImageDO.setMjNonceId(mjMessageId); aiImageDO.setMjOperationId(mjOperationId); diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java index 5327d65..7b95b96 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/midjourneyHandler/YuDaoMidjourneyMessageHandler.java +++ b/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 import cn.iocoder.yudao.module.ai.convert.AiImageConvert; import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; import cn.iocoder.yudao.module.ai.dal.mysql.image.AiImageMapper; -import cn.iocoder.yudao.module.ai.enums.AiImageDrawingStatusEnum; +import cn.iocoder.yudao.module.ai.enums.AiImageStatusEnum; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -67,8 +67,8 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { String errorMessage = getErrorMessage(midjourneyMessage); aiImageMapper.updateByMjNonce(nonceId, new AiImageDO() - .setDrawingErrorMessage(errorMessage) - .setDrawingStatus(AiImageDrawingStatusEnum.FAIL.getStatus()) + .setErrorMessage(errorMessage) + .setStatus(AiImageStatusEnum.FAIL.getStatus()) ); } @@ -90,22 +90,22 @@ public class YuDaoMidjourneyMessageHandler implements MidjourneyMessageHandler { imageUrl = midjourneyMessage.getAttachments().get(0).getUrl(); } // 转换状态 - AiImageDrawingStatusEnum drawingStatusEnum = null; + AiImageStatusEnum drawingStatusEnum = null; String generateStatus = midjourneyMessage.getGenerateStatus(); if (MidjourneyGennerateStatusEnum.COMPLETED.getStatus().equals(generateStatus)) { - drawingStatusEnum = AiImageDrawingStatusEnum.COMPLETE; + drawingStatusEnum = AiImageStatusEnum.COMPLETE; } else if (MidjourneyGennerateStatusEnum.IN_PROGRESS.getStatus().equals(generateStatus)) { - drawingStatusEnum = AiImageDrawingStatusEnum.IN_PROGRESS; + drawingStatusEnum = AiImageStatusEnum.IN_PROGRESS; } else if (MidjourneyGennerateStatusEnum.WAITING.getStatus().equals(generateStatus)) { - drawingStatusEnum = AiImageDrawingStatusEnum.WAITING; + drawingStatusEnum = AiImageStatusEnum.WAITING; } // 获取 midjourneyOperations List midjourneyOperations = getMidjourneyOperationsList(midjourneyMessage); // 更新数据库 aiImageMapper.updateByMjNonce(nonceId, new AiImageDO() - .setDrawingImageUrl(imageUrl) - .setDrawingStatus(drawingStatusEnum == null ? null : drawingStatusEnum.getStatus()) + .setOriginalPicUrl(imageUrl) + .setStatus(drawingStatusEnum == null ? null : drawingStatusEnum.getStatus()) .setMjNonceId(midjourneyMessage.getId()) .setMjOperations(JsonUtils.toJsonString(midjourneyOperations)) ); -- libgit2 0.21.4