From b6367d72ba478c4532a9ffd3433c88918c90afca Mon Sep 17 00:00:00 2001 From: shahaibo <1023316923@qq.com> Date: Wed, 2 Apr 2025 17:13:58 +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/model/dto/DesignCollectionDTO.java | 2 +- .../com/ai/da/model/vo/ProjectChooseVO.java | 2 + .../java/com/ai/da/python/PythonService.java | 35 ++++++--- .../com/ai/da/service/UserLikeService.java | 3 + .../ai/da/service/impl/DesignServiceImpl.java | 8 +- .../impl/UserLikeGroupServiceImpl.java | 76 +++---------------- .../da/service/impl/UserLikeServiceImpl.java | 15 ++++ 7 files changed, 58 insertions(+), 83 deletions(-) diff --git a/src/main/java/com/ai/da/model/dto/DesignCollectionDTO.java b/src/main/java/com/ai/da/model/dto/DesignCollectionDTO.java index 97955204..dc92ad3f 100644 --- a/src/main/java/com/ai/da/model/dto/DesignCollectionDTO.java +++ b/src/main/java/com/ai/da/model/dto/DesignCollectionDTO.java @@ -22,7 +22,7 @@ public class DesignCollectionDTO { @ApiModelProperty("印花板图片 数组") private List printBoards; - @NotEmpty(message = "colorBoards.cannot.be.empty") +// @NotEmpty(message = "colorBoards.cannot.be.empty") @ApiModelProperty("颜色板RGB值 数组") private List colorBoards; diff --git a/src/main/java/com/ai/da/model/vo/ProjectChooseVO.java b/src/main/java/com/ai/da/model/vo/ProjectChooseVO.java index 68a94701..56e6f503 100644 --- a/src/main/java/com/ai/da/model/vo/ProjectChooseVO.java +++ b/src/main/java/com/ai/da/model/vo/ProjectChooseVO.java @@ -35,4 +35,6 @@ public class ProjectChooseVO { private WorkspaceVO workspaceVO; private String process; + + private Long collectionId; } diff --git a/src/main/java/com/ai/da/python/PythonService.java b/src/main/java/com/ai/da/python/PythonService.java index c9dc6013..1d30445d 100644 --- a/src/main/java/com/ai/da/python/PythonService.java +++ b/src/main/java/com/ai/da/python/PythonService.java @@ -1713,9 +1713,11 @@ public class PythonService { pythonItem.setBusinessId(sysFileVO.getId()); if (SysFileLevel2TypeEnum.SHOES.getRealName().equals(type)) { CollectionColorDTO randomColor = getRandomColor(elementVO.getColorBoards()); - pythonItem.setColor(randomColor.getRgbValue()); - pythonItem.setGradient(randomColor.getGradientMinioUrl()); - pythonItem.setGradientString(randomColor.getGradientString()); + if (Objects.nonNull(randomColor)) { + pythonItem.setColor(randomColor.getRgbValue()); + pythonItem.setGradient(randomColor.getGradientMinioUrl()); + pythonItem.setGradientString(randomColor.getGradientString()); + } } } } @@ -2079,9 +2081,11 @@ public class PythonService { //所有的icon都是none designPythonItemBlouse.setIcon("none"); CollectionColorDTO randomColor = getRandomColor(elementVO.getColorBoards()); - designPythonItemBlouse.setColor(randomColor.getRgbValue()); - designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); - designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + if (Objects.nonNull(randomColor)) { + designPythonItemBlouse.setColor(randomColor.getRgbValue()); + designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); + designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + } if (!elementVO.getDesignPythonItemPrint().getPath().equals("none") && elementVO.getDesignPrintPictureTypeLayoutList().contains(type)) { DesignPythonItemPrint designPythonItemPrint = CopyUtil.copyObject(elementVO.getDesignPythonItemPrint(), DesignPythonItemPrint.class); @@ -2108,9 +2112,11 @@ public class PythonService { //所有的icon都是none designPythonItemBlouse.setIcon("none"); CollectionColorDTO randomColor = getRandomColor(elementVO.getColorBoards()); - designPythonItemBlouse.setColor(randomColor.getRgbValue()); - designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); - designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + if (Objects.nonNull(randomColor)) { + designPythonItemBlouse.setColor(randomColor.getRgbValue()); + designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); + designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + } if (!elementVO.getDesignPythonItemPrint().getPath().equals("none") && elementVO.getDesignPrintPictureTypeLayoutList().contains(collectionElement.getLevel2Type())) { DesignPythonItemPrint designPythonItemPrint = CopyUtil.copyObject(elementVO.getDesignPythonItemPrint(), DesignPythonItemPrint.class); @@ -2137,9 +2143,11 @@ public class PythonService { //所有的icon都是none designPythonItemBlouse.setIcon("none"); CollectionColorDTO randomColor = getRandomColor(elementVO.getColorBoards()); - designPythonItemBlouse.setColor(randomColor.getRgbValue()); - designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); - designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + if (Objects.nonNull(randomColor)) { + designPythonItemBlouse.setColor(randomColor.getRgbValue()); + designPythonItemBlouse.setGradient(randomColor.getGradientMinioUrl()); + designPythonItemBlouse.setGradientString(randomColor.getGradientString()); + } if (!elementVO.getDesignPythonItemPrint().getPath().equals("none") && elementVO.getDesignPrintPictureTypeLayoutList().contains(category)) { DesignPythonItemPrint designPythonItemPrint = CopyUtil.copyObject(elementVO.getDesignPythonItemPrint(), DesignPythonItemPrint.class); @@ -2419,6 +2427,9 @@ public class PythonService { } private CollectionColorDTO getRandomColor(List colorBoards) { + if (CollectionUtils.isEmpty(colorBoards)) { + return null; + } if (colorBoards.size() == 1) { return colorBoards.get(0); } diff --git a/src/main/java/com/ai/da/service/UserLikeService.java b/src/main/java/com/ai/da/service/UserLikeService.java index 8847367c..40d707df 100644 --- a/src/main/java/com/ai/da/service/UserLikeService.java +++ b/src/main/java/com/ai/da/service/UserLikeService.java @@ -1,6 +1,7 @@ package com.ai.da.service; import com.ai.da.mapper.primary.entity.UserLike; +import com.ai.da.mapper.primary.entity.UserLikeGroup; import com.ai.da.model.vo.UserLikeVO; import com.baomidou.mybatisplus.extension.service.IService; @@ -26,4 +27,6 @@ public interface UserLikeService extends IService { void updateDate(Long designItemId,String timeZone); List getUserLikeList(Long id); + + UserLikeGroup getUserLikeGroupByProjectId(Long id); } 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 fa072a99..96a1061b 100644 --- a/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/DesignServiceImpl.java @@ -335,7 +335,7 @@ public class DesignServiceImpl extends ServiceImpl impleme log.info("组装入参运行时间:" + totalTimeInSeconds + " 秒"); // pythonObjects增加image_id关联 startTime = System.currentTimeMillis(); - List imageIds = relationImageIds(pythonObjects); + relationImageIds(pythonObjects); endTime = System.currentTimeMillis(); totalTimeInSeconds = (endTime - startTime) / 1000; log.info("增加image_id关联运行时间:" + totalTimeInSeconds + " 秒"); @@ -351,9 +351,9 @@ public class DesignServiceImpl extends ServiceImpl impleme startTime = System.currentTimeMillis(); generateLibrary(elementVO, designDTO.getTimeZone()); //处理关联关系,修复element覆盖得情况 - List relationElements = collectionElementService.getByOnlyCollectionId(collectionId); - List relationElementIds = relationElements.stream().map(CollectionElement::getId).collect(Collectors.toList()); - handleCollectionElementRelation(collectionId, null != collectionIdParam, relationElementIds); +// List relationElements = collectionElementService.getByOnlyCollectionId(collectionId); +// List relationElementIds = relationElements.stream().map(CollectionElement::getId).collect(Collectors.toList()); +// handleCollectionElementRelation(collectionId, null != collectionIdParam, relationElementIds); endTime = System.currentTimeMillis(); totalTimeInSeconds = (endTime - startTime) / 1000; log.info("处理关联关系运行时间:" + totalTimeInSeconds + " 秒"); diff --git a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java index 2f0a011a..8800c49c 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeGroupServiceImpl.java @@ -257,78 +257,22 @@ public class UserLikeGroupServiceImpl extends ServiceImpl moduleList = projectDTO.getModuleList(); -// for (String module : moduleList) { -// -// } - Long workspaceId = workspaceService.getByProjectId(project.getId()); WorkspaceVO workspaceVO = workspaceService.getByIdForProject(workspaceId); String process = project.getProcess(); String name = project.getName(); -// UserLikeGroup group = getByProjectId(projectDTO.getId()); -// if (Objects.isNull(group)) { -// throw new BusinessException("history.not.found"); -// } -// List userLikeVOS = userLikeService.getGroupDetail(group.getId()); -// String sex = null; -// -// QueryWrapper userLikeSortQw = new QueryWrapper<>(); -// userLikeSortQw.lambda().eq(UserLikeSort::getUserLikeGroupId, group.getId()); -// List userLikeSortList = userLikeSortMapper.selectList(userLikeSortQw); -// if (CollectionUtil.isEmpty(userLikeSortList)) { -// Integer sort = 1; -// for (UserLikeVO userLikeVO : userLikeVOS) { -// UserLikeSort userLikeSort = new UserLikeSort(); -// userLikeSort.setUserLikeId(userLikeVO.getId()); -// userLikeSort.setUserLikeGroupId(group.getId()); -// userLikeSort.setSort(sort); -// userLikeSortMapper.insert(userLikeSort); -// sort ++; -// } -// } -// -// userLikeVOS.forEach(o -> { -// TDesignPythonOutfit tDesignPythonOutfit1 = designPythonOutfitMapper.selectById(o.getDesignOutfitId()); -// o.setUrl(tDesignPythonOutfit1.getDesignUrl()); -// if (o.getUrl().contains("/")) { -// int index = o.getUrl().lastIndexOf("/"); -// o.setPictureName(o.getUrl().substring(index + 1)); -// } -// o.setDesignOutfitUrl(minioUtil.getPreSignedUrl(o.getUrl(), 24 * 60)); -// QueryWrapper qw = new QueryWrapper<>(); -// qw.lambda().eq(TDesignPythonOutfit::getDesignItemId, o.getDesignItemId()); -// List tDesignPythonOutfits = designPythonOutfitMapper.selectList(qw); -// if (CollectionUtil.isNotEmpty(tDesignPythonOutfits)) { -// TDesignPythonOutfit tDesignPythonOutfit = tDesignPythonOutfits.get(0); -// o.setDesignOutfitId(tDesignPythonOutfit.getId()); -// } -// -// QueryWrapper userLikeSortQueryWrapper = new QueryWrapper<>(); -// userLikeSortQueryWrapper.lambda().eq(UserLikeSort::getUserLikeId, o.getId()); -// List userLikeSorts = userLikeSortMapper.selectList(userLikeSortQueryWrapper); -// if (CollectionUtil.isNotEmpty(userLikeSorts)) { -// UserLikeSort userLikeSort = userLikeSorts.get(0); -// o.setSort(userLikeSort.getSort()); -// o.setUserLikeSortId(userLikeSort.getId()); -// } -// }); -// UserLikeCollectionVO userLikeCollection = collectionService.chooseCollection(group.getCollectionId()); -// Integer beenPublished = 0; -// QueryWrapper qw = new QueryWrapper<>(); -// qw.lambda().eq(Portfolio::getUserLikeGroupSourceId, group.getId()); -// List portfolios = portfolioMapper.selectList(qw); -//// Portfolio portfolio = new Portfolio(); -// PortfolioDTO portfolioDTO = new PortfolioDTO(); -// if (CollectionUtil.isNotEmpty(portfolios)) { -//// portfolio = portfolios.get(0); -// portfolioDTO = CopyUtil.copyObject(portfolios.get(0), PortfolioDTO.class); -// beenPublished = 1; -// portfolioDTO.setTagsDTO(tagsMapper.getTagByPortfolioId(portfolioDTO.getId())); -// } - return new ProjectChooseVO(projectDTO.getId(), name, workspaceVO, process); + UserLikeGroup userLikeGroup = userLikeService.getUserLikeGroupByProjectId(project.getId()); + Long collectionId = null; + if (Objects.nonNull(userLikeGroup)) { + Collection collection = collectionService.getById(userLikeGroup.getCollectionId()); + if (Objects.nonNull(collection)) { + collectionId = collection.getId(); + } + } + + return new ProjectChooseVO(projectDTO.getId(), name, workspaceVO, process, collectionId); } @Override diff --git a/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java b/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java index 93909070..14ef9904 100644 --- a/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/UserLikeServiceImpl.java @@ -2,8 +2,10 @@ package com.ai.da.service.impl; import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.DateUtil; +import com.ai.da.mapper.primary.UserLikeGroupMapper; import com.ai.da.mapper.primary.UserLikeMapper; import com.ai.da.mapper.primary.entity.UserLike; +import com.ai.da.mapper.primary.entity.UserLikeGroup; import com.ai.da.model.vo.UserLikeVO; import com.ai.da.service.UserLikeService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -33,6 +35,8 @@ public class UserLikeServiceImpl extends ServiceImpl i @Resource private UserLikeMapper userLikeMapper; @Resource + private UserLikeGroupMapper userLikeGroupMapper; + @Resource private DesignItemServiceImpl designItemService; @Override @@ -95,4 +99,15 @@ public class UserLikeServiceImpl extends ServiceImpl i return userLikeMapper.selectList(qw); } + @Override + public UserLikeGroup getUserLikeGroupByProjectId(Long id) { + QueryWrapper qw = new QueryWrapper<>(); + qw.lambda().eq(UserLikeGroup::getProjectId, id); + List userLikeGroupList = userLikeGroupMapper.selectList(qw); + if (CollectionUtils.isEmpty(userLikeGroupList)) { + return null; + } + return userLikeGroupList.get(0); + } + }