From d1603fbc168b6135bf6d5fd44c0d288c9d25435d Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Mon, 7 Apr 2025 16:07:26 +0800 Subject: [PATCH] =?UTF-8?q?TASK:=E6=A8=A1=E5=9D=97=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/da/controller/PortfolioController.java | 4 +- .../com/ai/da/service/PortfolioService.java | 2 +- .../da/service/impl/PortfolioServiceImpl.java | 284 ++++++++++-------- 3 files changed, 166 insertions(+), 124 deletions(-) diff --git a/src/main/java/com/ai/da/controller/PortfolioController.java b/src/main/java/com/ai/da/controller/PortfolioController.java index 010c3701..99accd06 100644 --- a/src/main/java/com/ai/da/controller/PortfolioController.java +++ b/src/main/java/com/ai/da/controller/PortfolioController.java @@ -31,7 +31,7 @@ public class PortfolioController { @ApiOperation(value = "发布作品集") @PostMapping("/publish") - public Response preLogin(@RequestParam("file") MultipartFile canvas, @RequestParam("data") String data) { + public Response publish(@RequestParam("file") MultipartFile canvas, @RequestParam("data") String data) { return Response.success(portfolioService.publish(canvas, data)); } @@ -57,7 +57,7 @@ public class PortfolioController { @ApiOperation(value = "选择作品") @PostMapping("/choose") - public Response choose(@Valid @RequestBody PortfolioDTO portfolioDTO) { + public Response choose(@Valid @RequestBody PortfolioDTO portfolioDTO) { return Response.success(portfolioService.choose(portfolioDTO)); } diff --git a/src/main/java/com/ai/da/service/PortfolioService.java b/src/main/java/com/ai/da/service/PortfolioService.java index dd55077a..aef657cf 100644 --- a/src/main/java/com/ai/da/service/PortfolioService.java +++ b/src/main/java/com/ai/da/service/PortfolioService.java @@ -19,7 +19,7 @@ public interface PortfolioService extends IService { PortfolioVO detail(PortfolioDTO portfolioDTO); - UserLikeChooseVO choose(PortfolioDTO portfolioDTO); + ProjectChooseVO choose(PortfolioDTO portfolioDTO); Boolean designWorksRegister(DesignWorksRegisterDTO designWorksRegisterDTO); diff --git a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java index dcf4287e..c219c74e 100644 --- a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java @@ -125,6 +125,9 @@ public class PortfolioServiceImpl extends ServiceImpl designQueryWrapper = new QueryWrapper<>(); designQueryWrapper.lambda().eq(Design::getCollectionId, collectionIdOld); @@ -173,6 +193,7 @@ public class PortfolioServiceImpl extends ServiceImpl userLikeGroupQueryWrapper = new QueryWrapper<>(); userLikeGroupQueryWrapper.lambda().eq(UserLikeGroup::getCollectionId, portfolio.getCollectionId()); UserLikeGroup userLikeGroup = userLikeGroupMapper.selectOne(userLikeGroupQueryWrapper); - Long portfolioUserLikeGroupId = userLikeGroup.getId(); if (Objects.isNull(userLikeGroup)) { throw new BusinessException(""); } + Long portfolioUserLikeGroupId = userLikeGroup.getId(); + + Project project = projectMapper.selectById(userLikeGroup.getProjectId()); + Long projectIdOld = project.getId(); + project.setCreateTime(LocalDateTime.now()); + project.setId(null); + project.setAccountId(authPrincipalVo.getId()); + project.setName(project.getName() + "_copy"); + projectMapper.insert(project); + UserLikeGroup userLikeGroupNew = CopyUtil.copyObject(userLikeGroup, UserLikeGroup.class); userLikeGroupNew.setId(null); userLikeGroupNew.setCreateDate(new Date()); + userLikeGroupNew.setProjectId(project.getId()); if (portfolio.getOriginal() == 1) { if (Objects.equals(portfolio.getAccountId(), authPrincipalVo.getId())) { userLikeGroupNew.setOriginal(1); @@ -692,6 +723,7 @@ public class PortfolioServiceImpl extends ServiceImpl collectionElementRelationListNew = new ArrayList<>(); for (CollectionElement element : collectionElementListOld) { + element.setProjectId(project.getId()); element.setCollectionId(collectionIdNew); element.setId(null); collectionElementMapper.insert(element); @@ -766,126 +798,136 @@ public class PortfolioServiceImpl extends ServiceImpl getWorkspaceQw = new QueryWrapper<>(); - getWorkspaceQw.lambda().eq(Design::getCollectionId, collectionId); - List designs = designMapper.selectList(getWorkspaceQw); - if (!CollectionUtils.isEmpty(designs)) { - Design design1 = designs.get(0); - Long accountId = authPrincipalVo.getId(); - QueryWrapper currentWorkspaceQw = new QueryWrapper<>(); - currentWorkspaceQw.lambda().eq(Workspace::getAccountId, accountId); - currentWorkspaceQw.lambda().eq(Workspace::getIsLastIndex, 1); - List workspaces = workspaceMapper.selectList(currentWorkspaceQw); - if (!CollectionUtils.isEmpty(workspaces)) { - Workspace workspace1 = workspaces.get(0); - workspace1.setIsLastIndex(0); - workspaceMapper.updateById(workspace1); - Workspace workspaceNew = new Workspace(); - String workspaceName = "workspace of " + accountMapper.selectById(portfolio.getAccountId()).getUserName() + portfolio.getPortfolioName(); - QueryWrapper existSameNameQw = new QueryWrapper<>(); - existSameNameQw.lambda().eq(Workspace::getWorkSpaceName, workspaceName); - existSameNameQw.lambda().eq(Workspace::getAccountId, authPrincipalVo.getId()); - List existSameNameList = workspaceMapper.selectList(existSameNameQw); - if (!CollectionUtils.isEmpty(existSameNameList)) { - workspaceName = workspaceName + "_copy"; - } - workspaceNew.setWorkSpaceName(workspaceName); - workspaceNew.setAccountId(accountId); - workspaceNew.setIsDeleted(0); - workspaceNew.setIsLastIndex(1); - workspaceNew.setCreateTime(LocalDateTime.now()); - workspaceNew.setSystemDesignerPercentage((design1.getSystemScale().multiply(BigDecimal.valueOf(100)).intValue())); - if (design1.getSingleOverall().equals("overall")) { - workspaceNew.setPosition("Overall"); - } else { - workspaceNew.setPosition(design1.getSwitchCategory()); - } - workspaceMapper.insert(workspaceNew); - if (design1.getModelType().equals("System")) { - SysFile sysFile = sysFileMapper.selectById(design1.getTemplateId()); - if (sysFile.getLevel2Type().equals("Female")) { - workspaceNew.setSex("Female"); - workspaceNew.setMannequinFemaleId(design1.getTemplateId()); - workspaceNew.setMannequinFemaleType("System"); - QueryWrapper getAnotherOneQw = new QueryWrapper<>(); - getAnotherOneQw.lambda().eq(SysFile::getLevel1Type, "Models"); - getAnotherOneQw.lambda().eq(SysFile::getLevel2Type, "Male"); - if (!StringUtils.isEmpty(sysFile.getLevel3Type())) { - getAnotherOneQw.lambda().eq(SysFile::getLevel3Type, sysFile.getLevel3Type()); - QueryWrapper