BUGFIX:aida;

This commit is contained in:
shahaibo
2024-07-02 15:23:27 +08:00
parent ce384dbba9
commit a71fa4df51
4 changed files with 35 additions and 4 deletions

View File

@@ -51,6 +51,8 @@ public class Portfolio implements Serializable {
private Long originalAccountId;
private Long originalPortfolioId;
@ApiModelProperty(value = "作品集作者ID")
private Long accountId;

View File

@@ -47,6 +47,8 @@ public class UserLikeGroup implements Serializable {
private Long originalAccountId;
private Long originalPortfolioId;
/**
* 创建时间
*/

View File

@@ -20,4 +20,6 @@ public class PortfolioVO extends Portfolio {
private String userName;
private String originalUserName;
private String originalPortfolioName;
}

View File

@@ -97,8 +97,15 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
private AccountMapper accountMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean publish(MultipartFile file, String data) {
PortfolioDTO portfolioDTO = JSONObject.parseObject(data, PortfolioDTO.class);
QueryWrapper<Portfolio> existSameNameQw = new QueryWrapper<>();
existSameNameQw.lambda().eq(Portfolio::getPortfolioName, portfolioDTO.getPortfolioName());
List<Portfolio> 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<PortfolioMapper, Portfolio
if (userLikeGroup.getOriginal() == 0) {
portfolio.setOriginal(0);
portfolio.setOriginalAccountId(userLikeGroup.getOriginalAccountId());
portfolio.setOriginalPortfolioId(userLikeGroup.getOriginalPortfolioId());
}else {
portfolio.setOriginal(0);
portfolio.setOriginal(1);
portfolio.setOriginalAccountId(authPrincipalVo.getId());
}
portfolio.setPortfolioName(portfolioDTO.getPortfolioName());
@@ -266,7 +274,15 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
}
@Override
@Transactional(rollbackFor = Exception.class)
public PortfolioVO update(PortfolioDTO portfolioDTO) {
QueryWrapper<Portfolio> existSameNameQw = new QueryWrapper<>();
existSameNameQw.lambda().ne(Portfolio::getId, portfolioDTO.getId());
existSameNameQw.lambda().eq(Portfolio::getPortfolioName, portfolioDTO.getPortfolioName());
List<Portfolio> 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<PortfolioMapper, Portfolio
vo.setUserName(accountMapper.selectById(vo.getAccountId()).getUserName());
if (vo.getOriginal() == 0) {
vo.setOriginalUserName(accountMapper.selectById(vo.getOriginalAccountId()).getUserName());
vo.setOriginalPortfolioName(portfolioMapper.selectById(vo.getOriginalPortfolioId()).getPortfolioName());
}
return vo;
}
@@ -476,12 +493,20 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
throw new BusinessException("");
}
// UserLikeGroup userLikeGroup = userLikeGroupMapper.selectById();
UserLikeGroup userLikeGroupNew = userLikeGroup.setId(null);
userLikeGroupNew.setOriginal(0);
UserLikeGroup userLikeGroupNew = CopyUtil.copyObject(userLikeGroup, UserLikeGroup.class);
userLikeGroupNew.setId(null);
if (portfolio.getOriginal() == 1) {
if (Objects.equals(portfolio.getAccountId(), authPrincipalVo.getId())) {
userLikeGroupNew.setOriginal(0);
userLikeGroupNew.setOriginalAccountId(portfolio.getAccountId());
userLikeGroupNew.setOriginalPortfolioId(portfolio.getId());
}else {
userLikeGroupNew.setOriginal(1);
}
}else {
userLikeGroupNew.setOriginal(0);
userLikeGroupNew.setOriginalAccountId(portfolio.getOriginalAccountId());
userLikeGroupNew.setOriginalPortfolioId(portfolio.getId());
}
userLikeGroupNew.setAccountId(authPrincipalVo.getId());
Long collectionIdOld = userLikeGroup.getCollectionId();