Commit 671c3016c80a3cb302277f244517007bed5f195d

Authored by cherishsince
1 parent 39ecc7a0

【增加】根据多个id获取 image 信息,用于前端轮训任务

yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java
1 1 package cn.iocoder.yudao.module.ai.controller.admin.image;
2 2  
  3 +import cn.hutool.core.collection.CollUtil;
3 4 import cn.hutool.core.util.ObjUtil;
4 5 import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi;
5 6 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
... ... @@ -25,6 +26,10 @@ import org.springframework.security.access.prepost.PreAuthorize;
25 26 import org.springframework.validation.annotation.Validated;
26 27 import org.springframework.web.bind.annotation.*;
27 28  
  29 +import java.util.Collections;
  30 +import java.util.List;
  31 +import java.util.Objects;
  32 +
28 33 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
29 34 import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
30 35  
... ... @@ -54,6 +59,19 @@ public class AiImageController {
54 59 return success(BeanUtils.toBean(image, AiImageRespVO.class));
55 60 }
56 61  
  62 + @Operation(summary = "获取【我的】绘图记录 - ids")
  63 + @GetMapping("/get-my-ids")
  64 + public CommonResult<List<AiImageRespVO>> getImageMyIds(@RequestParam("ids") List<Long> ids) {
  65 + List<AiImageDO> imageList = imageService.getImageByIds(ids);
  66 + if (CollUtil.isEmpty(imageList)) {
  67 + return success(Collections.emptyList());
  68 + }
  69 + List<AiImageDO> userImageList = imageList.stream()
  70 + .map(item -> ObjUtil.equal(getLoginUserId(), item.getUserId()) ? item : null)
  71 + .filter(Objects::nonNull).toList();
  72 + return success(BeanUtils.toBean(userImageList, AiImageRespVO.class));
  73 + }
  74 +
57 75 @Operation(summary = "生成图片")
58 76 @PostMapping("/draw")
59 77 public CommonResult<Long> drawImage(@Validated @RequestBody AiImageDrawReqVO drawReqVO) {
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java
... ... @@ -5,12 +5,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDrawReqVO;
7 7 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImagePageReqVO;
  8 +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageRespVO;
8 9 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageUpdatePublicStatusReqVO;
9 10 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyActionReqVO;
10 11 import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyImagineReqVO;
11 12 import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO;
12 13 import jakarta.validation.Valid;
13 14  
  15 +import java.util.List;
  16 +
14 17 /**
15 18 * AI 绘图 Service 接口
16 19 *
... ... @@ -36,6 +39,14 @@ public interface AiImageService {
36 39 AiImageDO getImage(Long id);
37 40  
38 41 /**
  42 + * 获得绘图记录 - 多个
  43 + *
  44 + * @param ids
  45 + * @return
  46 + */
  47 + List<AiImageDO> getImageByIds(List<Long> ids);
  48 +
  49 + /**
39 50 * 绘制图片
40 51 *
41 52 * @param userId 用户编号
... ...
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java
... ... @@ -75,6 +75,11 @@ public class AiImageServiceImpl implements AiImageService {
75 75 }
76 76  
77 77 @Override
  78 + public List<AiImageDO> getImageByIds(List<Long> ids) {
  79 + return imageMapper.selectBatchIds(ids);
  80 + }
  81 +
  82 + @Override
78 83 public Long drawImage(Long userId, AiImageDrawReqVO drawReqVO) {
79 84 // 1. 保存数据库
80 85 AiImageDO image = BeanUtils.toBean(drawReqVO, AiImageDO.class).setUserId(userId).setPublicStatus(false)
... ...