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 b5498105..e252deae 100644 --- a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java @@ -638,149 +638,172 @@ public class PortfolioServiceImpl extends ServiceImpl userLikeGroupQueryWrapper = new QueryWrapper<>(); - userLikeGroupQueryWrapper.lambda().eq(UserLikeGroup::getCollectionId, portfolio.getCollectionId()); - UserLikeGroup userLikeGroup = userLikeGroupMapper.selectOne(userLikeGroupQueryWrapper); - if (Objects.isNull(userLikeGroup)) { - throw new BusinessException(""); - } - Long portfolioUserLikeGroupId = userLikeGroup.getId(); +// QueryWrapper userLikeGroupQueryWrapper = new QueryWrapper<>(); +// userLikeGroupQueryWrapper.lambda().eq(UserLikeGroup::getCollectionId, portfolio.getCollectionId()); + UserLikeGroup userLikeGroup = userLikeService.getUserLikeGroupByProjectId(projectId); - Project project = projectMapper.selectById(userLikeGroup.getProjectId()); - Long projectIdOld = project.getId(); + Project project = projectMapper.selectById(projectId); +// 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); + project.setOriginal(1); } else { - userLikeGroupNew.setOriginal(0); - userLikeGroupNew.setOriginalAccountId(portfolio.getAccountId()); - userLikeGroupNew.setOriginalPortfolioId(portfolio.getId()); + project.setOriginal(0); + project.setOriginalAccountId(portfolio.getAccountId()); + project.setOriginalPortfolioId(portfolio.getId()); } } else { - userLikeGroupNew.setOriginal(0); - userLikeGroupNew.setOriginalAccountId(portfolio.getOriginalAccountId()); - userLikeGroupNew.setOriginalPortfolioId(portfolio.getId()); + project.setOriginal(0); + project.setOriginalAccountId(portfolio.getOriginalAccountId()); + project.setOriginalPortfolioId(portfolio.getId()); } - userLikeGroupNew.setAccountId(authPrincipalVo.getId()); - Long collectionIdOld = userLikeGroup.getCollectionId(); - Collection collectionOld = collectionMapper.selectById(collectionIdOld); - List collectionElementListOld = collectionElementService.getByCollectionId(collectionIdOld); - collectionOld.setId(null); - collectionMapper.insert(collectionOld); - Long collectionIdNew = collectionOld.getId(); - Workspace workspace = workspaceService.getCurrentWorkspace(); - Design design = new Design(); - design.setCollectionId(collectionIdNew); - design.setAccountId(authPrincipalVo.getId()); - if (workspace.getSex().equals(Sex.FEMALE.getValue())) { - design.setTemplateId(workspace.getMannequinFemaleId()); - design.setModelType(workspace.getMannequinFemaleType()); - } else { - design.setTemplateId(workspace.getMannequinMaleId()); - design.setModelType(workspace.getMannequinMaleType()); - } - design.setSystemScale(BigDecimal.valueOf(workspace.getSystemDesignerPercentage())); - if (workspace.getPosition().equals(Position.OVERALL.getValue())) { - design.setSingleOverall("overall"); - design.setSwitchCategory(""); - } else { - design.setSingleOverall("single"); - design.setSwitchCategory(workspace.getPosition()); - } - design.setCreateDate(new Date()); - designMapper.insert(design); + projectMapper.insert(project); - userLikeGroupNew.setCollectionId(collectionIdNew); - userLikeGroupNew.setUpdateDate(new Date()); - userLikeGroupMapper.insert(userLikeGroupNew); -// List collectionElementRelationListNew = new ArrayList<>(); + Long projectIdNew = project.getId(); + + List collectionElementListOld = collectionElementService.getByProjectId(projectId); for (CollectionElement element : collectionElementListOld) { - element.setProjectId(project.getId()); - element.setCollectionId(collectionIdNew); + element.setProjectId(projectIdNew); element.setId(null); collectionElementMapper.insert(element); - TCollectionElementRelation collectionElementRelationNew = new TCollectionElementRelation(); - collectionElementRelationNew.setCollectionId(collectionIdNew); - collectionElementRelationNew.setElementId(element.getId()); - collectionElementRelationNew.setCreateDate(new Date()); - collectionElementRelationMapper.insert(collectionElementRelationNew); } + if (Objects.nonNull(userLikeGroup)) { + Long portfolioUserLikeGroupId = userLikeGroup.getId(); - List userLikeList = userLikeService.getUserLikeList(portfolioUserLikeGroupId); + UserLikeGroup userLikeGroupNew = CopyUtil.copyObject(userLikeGroup, UserLikeGroup.class); + userLikeGroupNew.setId(null); + userLikeGroupNew.setCreateDate(new Date()); + userLikeGroupNew.setProjectId(projectIdNew); + if (portfolio.getOriginal() == 1) { + if (Objects.equals(portfolio.getAccountId(), authPrincipalVo.getId())) { + userLikeGroupNew.setOriginal(1); + } else { + userLikeGroupNew.setOriginal(0); + userLikeGroupNew.setOriginalAccountId(portfolio.getAccountId()); + userLikeGroupNew.setOriginalPortfolioId(portfolio.getId()); + } + } else { + userLikeGroupNew.setOriginal(0); + userLikeGroupNew.setOriginalAccountId(portfolio.getOriginalAccountId()); + userLikeGroupNew.setOriginalPortfolioId(portfolio.getId()); + } + userLikeGroupNew.setAccountId(authPrincipalVo.getId()); + Long collectionIdOld = userLikeGroup.getCollectionId(); + Collection collectionOld = collectionMapper.selectById(collectionIdOld); +// List collectionElementListOld = collectionElementService.getByCollectionId(collectionIdOld); + collectionOld.setId(null); + collectionMapper.insert(collectionOld); + Long collectionIdNew = collectionOld.getId(); - for (UserLike userLike : userLikeList) { - Long designOutfitIdOld = userLike.getDesignOutfitId(); - TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(designOutfitIdOld); - designPythonOutfit.setDesignId(design.getId()); - designPythonOutfit.setDesignItemId(-1L); - designPythonOutfit.setCollectionId(collectionIdNew); + Workspace workspace = workspaceService.getCurrentWorkspace(); + Design design = new Design(); + design.setCollectionId(collectionIdNew); + design.setAccountId(authPrincipalVo.getId()); + if (workspace.getSex().equals(Sex.FEMALE.getValue())) { + design.setTemplateId(workspace.getMannequinFemaleId()); + design.setModelType(workspace.getMannequinFemaleType()); + } else { + design.setTemplateId(workspace.getMannequinMaleId()); + design.setModelType(workspace.getMannequinMaleType()); + } + design.setSystemScale(BigDecimal.valueOf(workspace.getSystemDesignerPercentage())); + if (workspace.getPosition().equals(Position.OVERALL.getValue())) { + design.setSingleOverall("overall"); + design.setSwitchCategory(""); + } else { + design.setSingleOverall("single"); + design.setSwitchCategory(workspace.getPosition()); + } + design.setCreateDate(new Date()); + designMapper.insert(design); - designPythonOutfit.setId(null); - designPythonOutfitMapper.insert(designPythonOutfit); - Long designOutfitIdNew = designPythonOutfit.getId(); - userLike.setDesignOutfitId(designOutfitIdNew); - QueryWrapper qw = new QueryWrapper<>(); - qw.lambda().eq(TDesignPythonOutfitDetail::getDesignPythonOutfitId, designOutfitIdOld); - List tDesignPythonOutfitDetails = designPythonOutfitDetailMapper.selectList(qw); - for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { -// Long designPythonOutfitDetailIdOld = tDesignPythonOutfitDetail.getId(); - tDesignPythonOutfitDetail.setId(null); - tDesignPythonOutfitDetail.setDesignId(design.getId()); - tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); - designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); + userLikeGroupNew.setCollectionId(collectionIdNew); + userLikeGroupNew.setUpdateDate(new Date()); + userLikeGroupMapper.insert(userLikeGroupNew); +// List collectionElementRelationListNew = new ArrayList<>(); + for (CollectionElement element : collectionElementListOld) { + element.setCollectionId(collectionIdNew); + collectionElementMapper.updateById(element); + TCollectionElementRelation collectionElementRelationNew = new TCollectionElementRelation(); + collectionElementRelationNew.setCollectionId(collectionIdNew); + collectionElementRelationNew.setElementId(element.getId()); + collectionElementRelationNew.setCreateDate(new Date()); + collectionElementRelationMapper.insert(collectionElementRelationNew); } - Long designItemIdOld = userLike.getDesignItemId(); - DesignItem designItemOld = designItemMapper.selectById(designItemIdOld); - designItemOld.setId(null); - designItemOld.setAccountId(authPrincipalVo.getId()); - designItemOld.setDesignId(design.getId()); - designItemOld.setCollectionId(collectionIdNew); - designItemMapper.insert(designItemOld); - Long designItemIdNew = designItemOld.getId(); - designPythonOutfit.setDesignItemId(designItemIdNew); - designPythonOutfitMapper.updateById(designPythonOutfit); + List userLikeList = userLikeService.getUserLikeList(portfolioUserLikeGroupId); - userLike.setDesignItemId(designItemIdNew); - userLike.setId(null); - userLike.setDesignId(design.getId()); - userLike.setUserLikeGroupId(userLikeGroupNew.getId()); - userLikeMapper.insert(userLike); - QueryWrapper designItemDetailQueryWrapper = new QueryWrapper<>(); - designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemIdOld); - List designItemDetailListOld = designItemDetailMapper.selectList(designItemDetailQueryWrapper); - for (DesignItemDetail designItemDetailOld : designItemDetailListOld) { - Long designItemDetailIdOld = designItemDetailOld.getId(); - designItemDetailOld.setId(null); - designItemDetailOld.setAccountId(authPrincipalVo.getId()); - designItemDetailOld.setDesignId(design.getId()); - designItemDetailOld.setDesignItemId(designItemIdNew); - designItemDetailMapper.insert(designItemDetailOld); - Long designItemDetailIdNew = designItemDetailOld.getId(); - QueryWrapper designItemDetailPrintQueryWrapper = new QueryWrapper<>(); - designItemDetailPrintQueryWrapper.lambda().eq(DesignItemDetailPrint::getDesignItemDetailId, designItemDetailIdOld); - List designItemDetailPrintList = designItemDetailPrintMapper.selectList(designItemDetailPrintQueryWrapper); - for (DesignItemDetailPrint designItemDetailPrint : designItemDetailPrintList) { - designItemDetailPrint.setId(null); - designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); - designItemDetailPrintMapper.insert(designItemDetailPrint); + for (UserLike userLike : userLikeList) { + Long designOutfitIdOld = userLike.getDesignOutfitId(); + TDesignPythonOutfit designPythonOutfit = designPythonOutfitMapper.selectById(designOutfitIdOld); + designPythonOutfit.setDesignId(design.getId()); + designPythonOutfit.setDesignItemId(-1L); + designPythonOutfit.setCollectionId(collectionIdNew); + + designPythonOutfit.setId(null); + designPythonOutfitMapper.insert(designPythonOutfit); + Long designOutfitIdNew = designPythonOutfit.getId(); + userLike.setDesignOutfitId(designOutfitIdNew); + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(TDesignPythonOutfitDetail::getDesignPythonOutfitId, designOutfitIdOld); + List tDesignPythonOutfitDetails = designPythonOutfitDetailMapper.selectList(qw); + for (TDesignPythonOutfitDetail tDesignPythonOutfitDetail : tDesignPythonOutfitDetails) { +// Long designPythonOutfitDetailIdOld = tDesignPythonOutfitDetail.getId(); + tDesignPythonOutfitDetail.setId(null); + tDesignPythonOutfitDetail.setDesignId(design.getId()); + tDesignPythonOutfitDetail.setDesignPythonOutfitId(designOutfitIdNew); + designPythonOutfitDetailMapper.insert(tDesignPythonOutfitDetail); + } + + Long designItemIdOld = userLike.getDesignItemId(); + DesignItem designItemOld = designItemMapper.selectById(designItemIdOld); + designItemOld.setId(null); + designItemOld.setAccountId(authPrincipalVo.getId()); + designItemOld.setDesignId(design.getId()); + designItemOld.setCollectionId(collectionIdNew); + designItemMapper.insert(designItemOld); + Long designItemIdNew = designItemOld.getId(); + + designPythonOutfit.setDesignItemId(designItemIdNew); + designPythonOutfitMapper.updateById(designPythonOutfit); + + userLike.setDesignItemId(designItemIdNew); + userLike.setId(null); + userLike.setDesignId(design.getId()); + userLike.setUserLikeGroupId(userLikeGroupNew.getId()); + userLikeMapper.insert(userLike); + QueryWrapper designItemDetailQueryWrapper = new QueryWrapper<>(); + designItemDetailQueryWrapper.lambda().eq(DesignItemDetail::getDesignItemId, designItemIdOld); + List designItemDetailListOld = designItemDetailMapper.selectList(designItemDetailQueryWrapper); + for (DesignItemDetail designItemDetailOld : designItemDetailListOld) { + Long designItemDetailIdOld = designItemDetailOld.getId(); + designItemDetailOld.setId(null); + designItemDetailOld.setAccountId(authPrincipalVo.getId()); + designItemDetailOld.setDesignId(design.getId()); + designItemDetailOld.setDesignItemId(designItemIdNew); + designItemDetailMapper.insert(designItemDetailOld); + Long designItemDetailIdNew = designItemDetailOld.getId(); + QueryWrapper designItemDetailPrintQueryWrapper = new QueryWrapper<>(); + designItemDetailPrintQueryWrapper.lambda().eq(DesignItemDetailPrint::getDesignItemDetailId, designItemDetailIdOld); + List designItemDetailPrintList = designItemDetailPrintMapper.selectList(designItemDetailPrintQueryWrapper); + for (DesignItemDetailPrint designItemDetailPrint : designItemDetailPrintList) { + designItemDetailPrint.setId(null); + designItemDetailPrint.setDesignItemDetailId(designItemDetailIdNew); + designItemDetailPrintMapper.insert(designItemDetailPrint); + } } } } + // Long collectionId = portfolio.getCollectionId(); // QueryWrapper getWorkspaceQw = new QueryWrapper<>(); // getWorkspaceQw.lambda().eq(Design::getCollectionId, collectionId); @@ -899,10 +922,10 @@ public class PortfolioServiceImpl extends ServiceImpl