fix: 普通纪念币,bug修复,分页问题。

This commit is contained in:
tianyongbao
2026-02-22 18:59:22 +08:00
parent 8be3f3b155
commit 257a7cb8f7
3 changed files with 67 additions and 16 deletions

View File

@@ -29,6 +29,14 @@ public interface CommemorativeCoinMapper
*/
public List<CommemorativeCoinVo> selectCommemorativeCoinList(CommemorativeCoinDto commemorativeCoinDto);
/**
* 根据ID列表查询流通纪念币及其关联文件
*
* @param ids 流通纪念币ID列表
* @return 流通纪念币集合(包含关联文件)
*/
public List<CommemorativeCoinVo> selectCommemorativeCoinListWithFiles(List<Long> ids);
/**
* 新增流通纪念币
*

View File

@@ -2,6 +2,8 @@ package com.intc.collect.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.intc.collect.domain.CollectFile;
import com.intc.collect.mapper.CollectFileMapper;
@@ -53,7 +55,35 @@ public class CommemorativeCoinServiceImpl implements ICommemorativeCoinService
@Override
public List<CommemorativeCoinVo> selectCommemorativeCoinList(CommemorativeCoinDto commemorativeCoinDto)
{
return commemorativeCoinMapper.selectCommemorativeCoinList(commemorativeCoinDto);
// 第一步:先分页查询主表数据
List<CommemorativeCoinVo> list = commemorativeCoinMapper.selectCommemorativeCoinList(commemorativeCoinDto);
// 如果查询结果为空,直接返回
if (list == null || list.isEmpty())
{
return list;
}
// 第二步提取主表ID列表
List<Long> ids = list.stream().map(CommemorativeCoinVo::getId).collect(Collectors.toList());
// 第三步:批量查询关联的文件信息
List<CommemorativeCoinVo> listWithFiles = commemorativeCoinMapper.selectCommemorativeCoinListWithFiles(ids);
// 第四步:将关联文件数据填充回主表对象
Map<Long, CommemorativeCoinVo> fileMap = listWithFiles.stream()
.collect(Collectors.toMap(CommemorativeCoinVo::getId, vo -> vo));
for (CommemorativeCoinVo vo : list)
{
CommemorativeCoinVo voWithFiles = fileMap.get(vo.getId());
if (voWithFiles != null && voWithFiles.getCollectFileList() != null)
{
vo.setCollectFileList(voWithFiles.getCollectFileList());
}
}
return list;
}
/**