From 44f7c841de1878f61e51df966d1114456380d77b Mon Sep 17 00:00:00 2001 From: cherishsince Date: Thu, 25 Apr 2024 16:56:54 +0800 Subject: [PATCH] 【修改】增加 dall2\dall3 绘画方法,还未实现 --- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java | 17 ++++++++++++++++- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java | 36 ------------------------------------ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java | 36 ++++++++++++++++++++++++++++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java | 11 +++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java | 5 +++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java | 22 ++++++++++++++++++++++ 6 files changed, 90 insertions(+), 37 deletions(-) delete mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java create mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java create mode 100644 yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java index 1f10398..dad0d00 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java @@ -1,10 +1,17 @@ package cn.iocoder.yudao.module.ai.controller; +import cn.iocoder.yudao.module.ai.service.AiImageService; +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; /** * ai作图 @@ -15,10 +22,18 @@ import org.springframework.web.bind.annotation.RestController; */ @Tag(name = "A10-ai作图") @RestController -@RequestMapping("/ai/chat/message") +@RequestMapping("/ai/image") @Slf4j @AllArgsConstructor public class AiImageController { + private final AiImageService aiImageService; + @Operation(summary = "dall2/dall3绘画", description = "openAi dall3是付费的!") + @GetMapping("/dallDrawing") + public SseEmitter dallDrawing(@Validated @ModelAttribute AiImageDallDrawingReq req) { + Utf8SseEmitter sseEmitter = new Utf8SseEmitter(); + aiImageService.dallDrawing(req, sseEmitter); + return null; + } } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java deleted file mode 100644 index 3b29be6..0000000 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.module.ai.dal.dataobject; - -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; -import lombok.experimental.Accessors; - -/** - * ai 绘画 - * - * @author fansili - * @time 2024/4/25 15:53 - * @since 1.0 - */ -@Data -@Accessors(chain = true) -@TableName("ai_drawing_image") -public class AiDrawingImage extends BaseDO { - - @TableId(type = IdType.AUTO) - private Long id; - - @Schema(description = "提示词") - private String prompt; - - @Schema(description = "绘画状态:提交、排队、绘画中、绘画完成、绘画失败") - private String drawingStatus; - - @Schema(description = "绘画图片地址") - private String drawingImageUrl; - -} - diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java new file mode 100644 index 0000000..87d885d --- /dev/null +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.ai.dal.dataobject; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * ai 绘画 + * + * @author fansili + * @time 2024/4/25 15:53 + * @since 1.0 + */ +@Data +@Accessors(chain = true) +@TableName("ai_drawing_image") +public class AiDrawingImageDO extends BaseDO { + + @TableId(type = IdType.AUTO) + private Long id; + + @Schema(description = "提示词") + private String prompt; + + @Schema(description = "绘画状态:提交、排队、绘画中、绘画完成、绘画失败") + private String drawingStatus; + + @Schema(description = "绘画图片地址") + private String drawingImageUrl; + +} + diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java index 703359f..05e512d 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java @@ -1,5 +1,8 @@ package cn.iocoder.yudao.module.ai.service; +import cn.iocoder.yudao.module.ai.controller.Utf8SseEmitter; +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq; + /** * ai 作图 * @@ -8,4 +11,12 @@ package cn.iocoder.yudao.module.ai.service; * @since 1.0 */ public interface AiImageService { + + /** + * ai绘画 - dall2/dall3 绘画 + * + * @param req + * @param sseEmitter + */ + void dallDrawing(AiImageDallDrawingReq req, Utf8SseEmitter sseEmitter); } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java index 8720999..2221ae3 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.ai.service.impl; +import cn.iocoder.yudao.module.ai.controller.Utf8SseEmitter; import cn.iocoder.yudao.module.ai.service.AiImageService; +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -18,5 +20,8 @@ import org.springframework.stereotype.Service; public class AiImageServiceImpl implements AiImageService { + @Override + public void dallDrawing(AiImageDallDrawingReq req, Utf8SseEmitter sseEmitter) { + } } diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java new file mode 100644 index 0000000..e640e81 --- /dev/null +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java @@ -0,0 +1,22 @@ +package cn.iocoder.yudao.module.ai.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +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 AiImageDallDrawingReq { + + @Schema(description = "提示词") + @NotNull(message = "提示词不能为空!") + private String prompt; +} -- libgit2 0.21.4