From c7ee3dc2cd623148c0e56c5db5a9e76dbe138d00 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 29 May 2024 08:34:40 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E3=80=91AI=EF=BC=9AAI=20=E7=BB=98=E5=9B=BE=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/dal/dataobject/image/AiImageDO.java | 16 +++++++++++----- .../ai/service/image/AiImageServiceImpl.java | 3 +-- 2 files changed, 12 insertions(+), 7 deletions(-) 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 eb901e23f..2a21acd13 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 @@ -8,16 +8,17 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; +// TODO @fan:@time、@sine 注解可以不加哈 /** - * ai 绘画 + * AI 绘画 DO * * @author fansili * @time 2024/4/25 15:53 * @since 1.0 */ @Data -@Accessors(chain = true) -@TableName("ai_image") +@Accessors(chain = true) // TODO @fan:这个不用添加哈,全局的 lombok.config 搞啦 +@TableName("ai_image") // TODO @fan:建议放在 @Data 前面,因为它是关键注解,@Data 本质可悲替代 public class AiImageDO extends BaseDO { @TableId(type = IdType.AUTO) @@ -31,12 +32,14 @@ public class AiImageDO extends BaseDO { // TODO @fan:要加一个平台字段;platform;因为一个平台,会有多种 model 模型; - @Schema(description = "模型 dall2/dall3、MJ、NIJI") + @Schema(description = "模型") private String model; - @Schema(description = "生成图像的尺寸大小。对于dall-e-2模型,尺寸可为256x256, 512x512, 或 1024x1024。对于dall-e-3模型,尺寸可为1024x1024, 1792x1024, 或 1024x1792。") + // TODO @fan:这个记录到 db,要不改成 width、height?更明确的尺寸 + @Schema(description = "尺寸大小") private String size; + // TODO @fan:style 是所有模型都有么?如果不是,是不是靠 drawRequest 记录下就好了; @Schema(description = "风格") private String style; @@ -55,6 +58,9 @@ public class AiImageDO extends BaseDO { @Schema(description = "是否发布") private String publicStatus; + // TODO @fan:增加一个 Map 字段,drawRequest;用于记录请求模型的字段;对应的就是 ImageOptions + // TODO @fan:增加一个 Map 字段,记录 ImageResponseMetadata?这样 mjNonceId、mjOperationId、mjOperationName、mjOperations 这些字段,貌似可以收掉 + // ============ mj 需要字段 @Schema(description = "用户操作的Nonce编号(MJ返回)") 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 77299fceb..18b1ef0ea 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 @@ -141,8 +141,7 @@ public class AiImageServiceImpl implements AiImageService { String filePath = fileApi.createFile(HttpUtil.downloadBytes(imageGeneration.getOutput().getUrl())); // 更新数据库 aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.COMPLETE.getStatus()) - .setPicUrl(filePath).setOriginalPicUrl(imageGeneration.getOutput().getUrl()) - ); + .setPicUrl(filePath).setOriginalPicUrl(imageGeneration.getOutput().getUrl())); } catch (AiException aiException) { // TODO @fan:错误日志,也打印下哈;因为 aiException.getMessage() 比较精简; aiImageMapper.updateById(new AiImageDO().setId(aiImageDO.getId()).setStatus(AiImageStatusEnum.FAIL.getStatus())