fix: 普通纪念币,bug修复,分页问题。
This commit is contained in:
@@ -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);
|
||||
|
||||
/**
|
||||
* 新增流通纪念币
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user