bugfix:参与活动作品为0时查询出错

This commit is contained in:
2024-10-09 16:42:45 +08:00
parent 823e96b014
commit c439f41d69

View File

@@ -1131,28 +1131,32 @@ public class PortfolioServiceImpl extends ServiceImpl<PortfolioMapper, Portfolio
List<PortfolioTags> portfolioTags = portfolioTagsMapper.selectList(queryWrapper);
List<Long> portfolioIdList = portfolioTags.stream().map(PortfolioTags::getPortfolioId).collect(Collectors.toList());
QueryWrapper<Portfolio> qw = new QueryWrapper<>();
qw.in("id", portfolioIdList);
Page<Portfolio> portfolioPage = baseMapper.selectPage(new Page<>(page, size), qw);
// List<Portfolio> portfolios = baseMapper.selectList(qw);
if (!portfolioIdList.isEmpty()){
QueryWrapper<Portfolio> qw = new QueryWrapper<>();
qw.in("id", portfolioIdList);
Page<Portfolio> portfolioPage = baseMapper.selectPage(new Page<>(page, size), qw);
// 将 Portfolio 转换为 PortfolioVO 并进行相关处理
IPage<PortfolioVO> convert = portfolioPage.convert((Function<Portfolio, PortfolioVO>) portfolio -> {
if (portfolio != null) {
PortfolioVO vo = CopyUtil.copyObject(portfolio, PortfolioVO.class);
Canvas canvas = canvasMapper.selectById(vo.getCanvasId());
vo.setCanvasUrl(minioUtil.getPreSignedUrl(canvas.getUrl(), 24 * 60));
vo.setLikeNum(redisUtil.getLikeCount(vo.getId()));
vo.setViewNums(redisUtil.getViewCount(vo.getId()));
Long accountId = vo.getAccountId();
vo.setUserName(accountMapper.selectById(accountId).getUserName());
if (vo.getOriginal() == 0) {
vo.setOriginalUserName(accountMapper.selectById(vo.getOriginalAccountId()).getUserName());
// 将 Portfolio 转换为 PortfolioVO 并进行相关处理
IPage<PortfolioVO> convert = portfolioPage.convert((Function<Portfolio, PortfolioVO>) portfolio -> {
if (portfolio != null) {
PortfolioVO vo = CopyUtil.copyObject(portfolio, PortfolioVO.class);
Canvas canvas = canvasMapper.selectById(vo.getCanvasId());
vo.setCanvasUrl(minioUtil.getPreSignedUrl(canvas.getUrl(), 24 * 60));
vo.setLikeNum(redisUtil.getLikeCount(vo.getId()));
vo.setViewNums(redisUtil.getViewCount(vo.getId()));
Long accountId = vo.getAccountId();
vo.setUserName(accountMapper.selectById(accountId).getUserName());
if (vo.getOriginal() == 0) {
vo.setOriginalUserName(accountMapper.selectById(vo.getOriginalAccountId()).getUserName());
}
return vo;
}
return vo;
}
return null;
});
return PageBaseResponse.success(convert);
return null;
});
return PageBaseResponse.success(convert);
}else {
return PageBaseResponse.success(new Page<>());
}
}
}