diff --git a/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java b/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java index f8cff637..258012f1 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/Portfolio.java @@ -51,6 +51,8 @@ public class Portfolio implements Serializable { private Long originalAccountId; + private Long originalPortfolioId; + @ApiModelProperty(value = "作品集作者ID") private Long accountId; diff --git a/src/main/java/com/ai/da/mapper/primary/entity/UserLikeGroup.java b/src/main/java/com/ai/da/mapper/primary/entity/UserLikeGroup.java index 1747c83b..4f3867ca 100644 --- a/src/main/java/com/ai/da/mapper/primary/entity/UserLikeGroup.java +++ b/src/main/java/com/ai/da/mapper/primary/entity/UserLikeGroup.java @@ -47,6 +47,8 @@ public class UserLikeGroup implements Serializable { private Long originalAccountId; + private Long originalPortfolioId; + /** * 创建时间 */ diff --git a/src/main/java/com/ai/da/model/vo/PortfolioVO.java b/src/main/java/com/ai/da/model/vo/PortfolioVO.java index de059c3c..fb7b7366 100644 --- a/src/main/java/com/ai/da/model/vo/PortfolioVO.java +++ b/src/main/java/com/ai/da/model/vo/PortfolioVO.java @@ -20,4 +20,6 @@ public class PortfolioVO extends Portfolio { private String userName; private String originalUserName; + + private String originalPortfolioName; } 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 3144ed5b..b8637efb 100644 --- a/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/PortfolioServiceImpl.java @@ -97,8 +97,15 @@ public class PortfolioServiceImpl extends ServiceImpl existSameNameQw = new QueryWrapper<>(); + existSameNameQw.lambda().eq(Portfolio::getPortfolioName, portfolioDTO.getPortfolioName()); + List portfoliosSameName = portfolioMapper.selectList(existSameNameQw); + if (!CollectionUtils.isEmpty(portfoliosSameName)) { + throw new BusinessException("The title of the published work has been used."); + } AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); if (file != null && file.getOriginalFilename() != null) { String upload = minioUtil.upload("aida-canvas", String.valueOf(authPrincipalVo.getId()), file); @@ -141,8 +148,9 @@ public class PortfolioServiceImpl extends ServiceImpl existSameNameQw = new QueryWrapper<>(); + existSameNameQw.lambda().ne(Portfolio::getId, portfolioDTO.getId()); + existSameNameQw.lambda().eq(Portfolio::getPortfolioName, portfolioDTO.getPortfolioName()); + List portfoliosSameName = portfolioMapper.selectList(existSameNameQw); + if (!CollectionUtils.isEmpty(portfoliosSameName)) { + throw new BusinessException("The title of the published work has been used."); + } if (portfolioDTO.getPortfolioType().equals("History")) { AuthPrincipalVo authPrincipalVo = UserContext.getUserHolder(); UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById(portfolioDTO.getUserLikeGroupId()); @@ -459,6 +475,7 @@ public class PortfolioServiceImpl extends ServiceImpl