From 671c3016c80a3cb302277f244517007bed5f195d Mon Sep 17 00:00:00 2001 From: cherishsince Date: Thu, 27 Jun 2024 17:52:53 +0800 Subject: [PATCH] 【增加】根据多个id获取 image 信息,用于前端轮训任务 --- yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java | 18 ++++++++++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java | 11 +++++++++++ yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageServiceImpl.java | 5 +++++ 3 files changed, 34 insertions(+), 0 deletions(-) diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java index 3d80b84..69ffb2d 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java +++ b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/controller/admin/image/AiImageController.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.ai.controller.admin.image; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjUtil; import cn.iocoder.yudao.framework.ai.core.model.midjourney.api.MidjourneyApi; import cn.iocoder.yudao.framework.common.pojo.CommonResult; @@ -25,6 +26,10 @@ import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; @@ -54,6 +59,19 @@ public class AiImageController { return success(BeanUtils.toBean(image, AiImageRespVO.class)); } + @Operation(summary = "获取【我的】绘图记录 - ids") + @GetMapping("/get-my-ids") + public CommonResult> getImageMyIds(@RequestParam("ids") List ids) { + List imageList = imageService.getImageByIds(ids); + if (CollUtil.isEmpty(imageList)) { + return success(Collections.emptyList()); + } + List userImageList = imageList.stream() + .map(item -> ObjUtil.equal(getLoginUserId(), item.getUserId()) ? item : null) + .filter(Objects::nonNull).toList(); + return success(BeanUtils.toBean(userImageList, AiImageRespVO.class)); + } + @Operation(summary = "生成图片") @PostMapping("/draw") public CommonResult drawImage(@Validated @RequestBody AiImageDrawReqVO drawReqVO) { diff --git a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java b/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java index ebd8ebd..f65bb3e 100644 --- a/yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/image/AiImageService.java +++ b/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; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageDrawReqVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImagePageReqVO; +import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageRespVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.AiImageUpdatePublicStatusReqVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyActionReqVO; import cn.iocoder.yudao.module.ai.controller.admin.image.vo.midjourney.AiMidjourneyImagineReqVO; import cn.iocoder.yudao.module.ai.dal.dataobject.image.AiImageDO; import jakarta.validation.Valid; +import java.util.List; + /** * AI 绘图 Service 接口 * @@ -36,6 +39,14 @@ public interface AiImageService { AiImageDO getImage(Long id); /** + * 获得绘图记录 - 多个 + * + * @param ids + * @return + */ + List getImageByIds(List ids); + + /** * 绘制图片 * * @param userId 用户编号 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 7f86972..42cba80 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 @@ -75,6 +75,11 @@ public class AiImageServiceImpl implements AiImageService { } @Override + public List getImageByIds(List ids) { + return imageMapper.selectBatchIds(ids); + } + + @Override public Long drawImage(Long userId, AiImageDrawReqVO drawReqVO) { // 1. 保存数据库 AiImageDO image = BeanUtils.toBean(drawReqVO, AiImageDO.class).setUserId(userId).setPublicStatus(false) -- libgit2 0.21.4