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 3d80b845b..69ffb2d40 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 ebd8ebd6b..f65bb3ee3 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 接口 * @@ -35,6 +38,14 @@ public interface AiImageService { */ AiImageDO getImage(Long id); + /** + * 获得绘图记录 - 多个 + * + * @param ids + * @return + */ + List getImageByIds(List ids); + /** * 绘制图片 * 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 7f8697274..42cba8084 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 @@ -74,6 +74,11 @@ public class AiImageServiceImpl implements AiImageService { return imageMapper.selectById(id); } + @Override + public List getImageByIds(List ids) { + return imageMapper.selectBatchIds(ids); + } + @Override public Long drawImage(Long userId, AiImageDrawReqVO drawReqVO) { // 1. 保存数据库