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 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 6 import io.swagger.v3.oas.annotations.tags.Tag;
4 7 import lombok.AllArgsConstructor;
5 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 12 import org.springframework.web.bind.annotation.RequestMapping;
7 13 import org.springframework.web.bind.annotation.RestController;
  14 +import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
8 15  
9 16 /**
10 17 * ai作图
... ... @@ -15,10 +22,18 @@ import org.springframework.web.bind.annotation.RestController;
15 22 */
16 23 @Tag(name = "A10-ai作图")
17 24 @RestController
18   -@RequestMapping("/ai/chat/message")
  25 +@RequestMapping("/ai/image")
19 26 @Slf4j
20 27 @AllArgsConstructor
21 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 18 @Data
19 19 @Accessors(chain = true)
20 20 @TableName("ai_drawing_image")
21   -public class AiDrawingImage extends BaseDO {
  21 +public class AiDrawingImageDO extends BaseDO {
22 22  
23 23 @TableId(type = IdType.AUTO)
24 24 private Long id;
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/AiImageService.java
1 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 7 * ai 作图
5 8 *
... ... @@ -8,4 +11,12 @@ package cn.iocoder.yudao.module.ai.service;
8 11 * @since 1.0
9 12 */
10 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 1 package cn.iocoder.yudao.module.ai.service.impl;
2 2  
  3 +import cn.iocoder.yudao.module.ai.controller.Utf8SseEmitter;
3 4 import cn.iocoder.yudao.module.ai.service.AiImageService;
  5 +import cn.iocoder.yudao.module.ai.vo.AiImageDallDrawingReq;
4 6 import lombok.AllArgsConstructor;
5 7 import lombok.extern.slf4j.Slf4j;
6 8 import org.springframework.stereotype.Service;
... ... @@ -18,5 +20,8 @@ import org.springframework.stereotype.Service;
18 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 +}
... ...