Commit 44f7c841de1878f61e51df966d1114456380d77b

Authored by cherishsince
1 parent edb2a844

【修改】增加 dall2\dall3 绘画方法,还未实现

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/AiImageController.java
1 package cn.iocoder.yudao.module.ai.controller; 1 package cn.iocoder.yudao.module.ai.controller;
2 2
  3 +import cn.iocoder.yudao.module.ai.service.AiImageService;
  4 +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq;
  5 +import io.swagger.v3.oas.annotations.Operation;
3 import io.swagger.v3.oas.annotations.tags.Tag; 6 import io.swagger.v3.oas.annotations.tags.Tag;
4 import lombok.AllArgsConstructor; 7 import lombok.AllArgsConstructor;
5 import lombok.extern.slf4j.Slf4j; 8 import lombok.extern.slf4j.Slf4j;
  9 +import org.springframework.validation.annotation.Validated;
  10 +import org.springframework.web.bind.annotation.GetMapping;
  11 +import org.springframework.web.bind.annotation.ModelAttribute;
6 import org.springframework.web.bind.annotation.RequestMapping; 12 import org.springframework.web.bind.annotation.RequestMapping;
7 import org.springframework.web.bind.annotation.RestController; 13 import org.springframework.web.bind.annotation.RestController;
  14 +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
8 15
9 /** 16 /**
10 * ai作图 17 * ai作图
@@ -15,10 +22,18 @@ import org.springframework.web.bind.annotation.RestController; @@ -15,10 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
15 */ 22 */
16 @Tag(name = "A10-ai作图") 23 @Tag(name = "A10-ai作图")
17 @RestController 24 @RestController
18 -@RequestMapping("/ai/chat/message") 25 +@RequestMapping("/ai/image")
19 @Slf4j 26 @Slf4j
20 @AllArgsConstructor 27 @AllArgsConstructor
21 public class AiImageController { 28 public class AiImageController {
22 29
  30 + private final AiImageService aiImageService;
23 31
  32 + @Operation(summary = "dall2/dall3绘画", description = "openAi dall3是付费的!")
  33 + @GetMapping("/dallDrawing")
  34 + public SseEmitter dallDrawing(@Validated @ModelAttribute AiImageDallDrawingReq req) {
  35 + Utf8SseEmitter sseEmitter = new Utf8SseEmitter();
  36 + aiImageService.dallDrawing(req, sseEmitter);
  37 + return null;
  38 + }
24 } 39 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImage.java renamed to yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/dal/dataobject/AiDrawingImageDO.java
@@ -18,7 +18,7 @@ import lombok.experimental.Accessors; @@ -18,7 +18,7 @@ import lombok.experimental.Accessors;
18 @Data 18 @Data
19 @Accessors(chain = true) 19 @Accessors(chain = true)
20 @TableName("ai_drawing_image") 20 @TableName("ai_drawing_image")
21 -public class AiDrawingImage extends BaseDO { 21 +public class AiDrawingImageDO extends BaseDO {
22 22
23 @TableId(type = IdType.AUTO) 23 @TableId(type = IdType.AUTO)
24 private Long id; 24 private Long id;
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java
1 package cn.iocoder.yudao.module.ai.service; 1 package cn.iocoder.yudao.module.ai.service;
2 2
  3 +import cn.iocoder.yudao.module.ai.controller.Utf8SseEmitter;
  4 +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq;
  5 +
3 /** 6 /**
4 * ai 作图 7 * ai 作图
5 * 8 *
@@ -8,4 +11,12 @@ package cn.iocoder.yudao.module.ai.service; @@ -8,4 +11,12 @@ package cn.iocoder.yudao.module.ai.service;
8 * @since 1.0 11 * @since 1.0
9 */ 12 */
10 public interface AiImageService { 13 public interface AiImageService {
  14 +
  15 + /**
  16 + * ai绘画 - dall2/dall3 绘画
  17 + *
  18 + * @param req
  19 + * @param sseEmitter
  20 + */
  21 + void dallDrawing(AiImageDallDrawingReq req, Utf8SseEmitter sseEmitter);
11 } 22 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/impl/AiImageServiceImpl.java
1 package cn.iocoder.yudao.module.ai.service.impl; 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2
  3 +import cn.iocoder.yudao.module.ai.controller.Utf8SseEmitter;
3 import cn.iocoder.yudao.module.ai.service.AiImageService; 4 import cn.iocoder.yudao.module.ai.service.AiImageService;
  5 +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq;
4 import lombok.AllArgsConstructor; 6 import lombok.AllArgsConstructor;
5 import lombok.extern.slf4j.Slf4j; 7 import lombok.extern.slf4j.Slf4j;
6 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
@@ -18,5 +20,8 @@ import org.springframework.stereotype.Service; @@ -18,5 +20,8 @@ import org.springframework.stereotype.Service;
18 public class AiImageServiceImpl implements AiImageService { 20 public class AiImageServiceImpl implements AiImageService {
19 21
20 22
  23 + @Override
  24 + public void dallDrawing(AiImageDallDrawingReq req, Utf8SseEmitter sseEmitter) {
21 25
  26 + }
22 } 27 }
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/vo/AiImageDallDrawingReq.java 0 → 100644
  1 +package cn.iocoder.yudao.module.ai.vo;
  2 +
  3 +import io.swagger.v3.oas.annotations.media.Schema;
  4 +import jakarta.validation.constraints.NotNull;
  5 +import lombok.Data;
  6 +import lombok.experimental.Accessors;
  7 +
  8 +/**
  9 + * dall2/dall2 绘画
  10 + *
  11 + * @author fansili
  12 + * @time 2024/4/25 16:24
  13 + * @since 1.0
  14 + */
  15 +@Data
  16 +@Accessors(chain = true)
  17 +public class AiImageDallDrawingReq {
  18 +
  19 + @Schema(description = "提示词")
  20 + @NotNull(message = "提示词不能为空!")
  21 + private String prompt;
  22 +}