From 26a61a44a23abb20e64d27900f6c7bdbb1b86cb7 Mon Sep 17 00:00:00 2001 From: xupei Date: Thu, 14 Dec 2023 11:26:12 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=E6=A0=B9=E6=8D=AEdesignItemId=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=A8=A1=E7=89=B9=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/DesignController.java | 6 +++ .../com/ai/da/service/DesignItemService.java | 1 + .../java/com/ai/da/service/DesignService.java | 2 + .../com/ai/da/service/SysFileService.java | 2 + .../service/impl/DesignItemServiceImpl.java | 8 ++++ .../ai/da/service/impl/DesignServiceImpl.java | 37 +++++++++++++++++++ .../da/service/impl/SysFileServiceImpl.java | 7 ++++ 7 files changed, 63 insertions(+) diff --git a/src/main/java/com/ai/da/controller/DesignController.java b/src/main/java/com/ai/da/controller/DesignController.java index d6b75dd1..b36cf6f9 100644 --- a/src/main/java/com/ai/da/controller/DesignController.java +++ b/src/main/java/com/ai/da/controller/DesignController.java @@ -76,4 +76,10 @@ public class DesignController { return Response.success(designService.sketchesBoundingBox(sketchesBoundingBoxDTO)); } + @ApiOperation(value = "通过designItemId获取模特图") + @PostMapping("/getModel") + public Response> getModel(@RequestBody List designItemIdList){ + return Response.success(designService.getModel(designItemIdList)); + } + } diff --git a/src/main/java/com/ai/da/service/DesignItemService.java b/src/main/java/com/ai/da/service/DesignItemService.java index e4ae3573..26163bf1 100644 --- a/src/main/java/com/ai/da/service/DesignItemService.java +++ b/src/main/java/com/ai/da/service/DesignItemService.java @@ -53,4 +53,5 @@ public interface DesignItemService extends IService { ComposeLayersVO editLayersPositionAndScale(EditLayersPositionAndScaleVO positionAndScaleVO) throws IOException; + List selectDesignIdById(List designItemIdList); } diff --git a/src/main/java/com/ai/da/service/DesignService.java b/src/main/java/com/ai/da/service/DesignService.java index 19230151..bbca6f7f 100644 --- a/src/main/java/com/ai/da/service/DesignService.java +++ b/src/main/java/com/ai/da/service/DesignService.java @@ -94,4 +94,6 @@ public interface DesignService extends IService { void relationImageId(DesignPythonObjects objects); List sketchesBoundingBox(SketchesBoundingBoxDTO sketchesBoundingBoxDTO); + + List getModel(List designItemIdList); } diff --git a/src/main/java/com/ai/da/service/SysFileService.java b/src/main/java/com/ai/da/service/SysFileService.java index 8d7a05e3..0cef4818 100644 --- a/src/main/java/com/ai/da/service/SysFileService.java +++ b/src/main/java/com/ai/da/service/SysFileService.java @@ -58,4 +58,6 @@ public interface SysFileService extends IService { * @param urlList */ List getByUrlList(List urlList); + + List getByIds(List ids); } diff --git a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java index 7914f4cc..da8b1df5 100644 --- a/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignItemServiceImpl.java @@ -667,4 +667,12 @@ public class DesignItemServiceImpl extends ServiceImpl selectDesignIdById(List designItemIdList){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + + queryWrapper.in("id",designItemIdList); + return designItemMapper.selectList(queryWrapper); + } } diff --git a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java index 3040c78a..49000f4d 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -1205,4 +1205,41 @@ public class DesignServiceImpl extends ServiceImpl impleme return designSinglePrintDTO; } + + @Override + public List getModel(List designItemIdList){ + ArrayList models = new ArrayList<>(); + List designIdById = designItemService.selectDesignIdById(designItemIdList); + if (CollectionUtil.isEmpty(designIdById)){ + log.info("according to the designItemIdList cannot find the designIdList"); + throw new BusinessException("design.not.found"); + } + List designIdList = designIdById.stream().map(DesignItem::getDesignId).collect(Collectors.toList()); + List designs = selectList(designIdList); + if (CollectionUtil.isEmpty(designIdList)){ + log.info("according to the designIdList cannot find the design"); + throw new BusinessException("design.not.found"); + } + List modelFromLibIds = designs.stream().filter(design -> design.getModelType().equals("Library")).map(Design::getTemplateId).collect(Collectors.toList()); + if (!CollectionUtil.isEmpty(modelFromLibIds)){ + models.addAll(libraryService.getByIds(modelFromLibIds).stream() + .map(d -> minioUtil.getPresignedUrl(d.getUrl(), 24 * 60)) + .collect(Collectors.toList())); + } + List modelFromSysIds = designs.stream().filter(design -> design.getModelType().equals("System")).map(Design::getTemplateId).collect(Collectors.toList()); + if (!CollectionUtil.isEmpty(modelFromSysIds)){ + models.addAll(sysFileService.getByIds(modelFromSysIds).stream() + .map(d -> minioUtil.getPresignedUrl(d.getUrl(), 24 * 60)) + .collect(Collectors.toList())); + } + + return models; + } + + private List selectList(List designIdList){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id",designIdList); + + return designMapper.selectList(queryWrapper); + } } diff --git a/src/main/java/com/ai/da/service/impl/SysFileServiceImpl.java b/src/main/java/com/ai/da/service/impl/SysFileServiceImpl.java index 5e6bba14..ea2a0de3 100644 --- a/src/main/java/com/ai/da/service/impl/SysFileServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/SysFileServiceImpl.java @@ -260,4 +260,11 @@ public class SysFileServiceImpl extends ServiceImpl impl queryWrapper.in("url", urlList); return CopyUtil.copyList(sysFileMapper.selectList(queryWrapper), SysFileVO.class); } + + @Override + public List getByIds(List ids) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("id", ids); + return sysFileMapper.selectList(queryWrapper); + } }