|
@@ -45,8 +45,8 @@ public class FundNavServiceImpl implements FundNavService {
|
|
|
return navDataDTOList;
|
|
|
}
|
|
|
List<String> fundIdList = navDOList.stream().map(NavDO::getFundId).distinct().toList();
|
|
|
- List<FundInfoDO> fundInfoDOList = fundInfoMapper.queryFundInfoByFundId(fundIdList);
|
|
|
- Map<String, FundInfoDO> fundIdInfoMap = fundInfoDOList.stream().collect(Collectors.toMap(FundInfoDO::getFundId, v -> v, (oldValue, newValue) -> oldValue));
|
|
|
+ List<FundAndCompanyInfoDO> fundInfoCompanyNameList = fundInfoMapper.queryFundAndTrustByFundId(fundIdList);
|
|
|
+ Map<String, FundAndCompanyInfoDO> fundIdCompanyNameMap = fundInfoCompanyNameList.stream().collect(Collectors.toMap(FundAndCompanyInfoDO::getFundId, v -> v));
|
|
|
|
|
|
List<AssetDO> assetDOList = assetMapper.queryAssetByFundId(fundIdList);
|
|
|
Map<String, List<AssetDO>> fundIdAssetMap = MapUtil.newHashMap();
|
|
@@ -59,7 +59,7 @@ public class FundNavServiceImpl implements FundNavService {
|
|
|
String fundId = fundIdNavEntry.getKey();
|
|
|
List<NavDO> fundNavDoList = fundIdNavEntry.getValue();
|
|
|
List<AssetDO> fundAssetDoList = fundIdAssetMap.get(fundId);
|
|
|
- FundInfoDO fundInfoDO = fundIdInfoMap.get(fundId);
|
|
|
+ FundAndCompanyInfoDO fundInfoDO = fundIdCompanyNameMap.get(fundId);
|
|
|
List<FundNavDataDTO> fundNavDataDTOList = buildFundNavDataDTO(fundInfoDO, fundNavDoList, fundAssetDoList);
|
|
|
navDataDTOList.addAll(fundNavDataDTOList);
|
|
|
}
|
|
@@ -96,10 +96,13 @@ public class FundNavServiceImpl implements FundNavService {
|
|
|
private List<FundNavDeletionDTO> buildFundNavDeletionDTO(FundAndCompanyInfoDO fundAndCompanyInfoDO, List<FundDeletionInfoDO> fundDeletionInfoDOList, Map<String, TradeDateDO> tradeDateDoMap) {
|
|
|
String fundName = fundAndCompanyInfoDO.getFundName();
|
|
|
String trustName = fundAndCompanyInfoDO.getCompanyName();
|
|
|
+ String trustRegisterNumber = fundAndCompanyInfoDO.getCompanyRegisterNumber();
|
|
|
String registerNumber = fundAndCompanyInfoDO.getRegisterNumber();
|
|
|
return fundDeletionInfoDOList.stream().map(e -> {
|
|
|
FundNavDeletionDTO fundNavDeletionDTO = new FundNavDeletionDTO();
|
|
|
fundNavDeletionDTO.setTrustName(trustName);
|
|
|
+ fundNavDeletionDTO.setTrustRegisterNumber(trustRegisterNumber);
|
|
|
+ fundNavDeletionDTO.setFundId(e.getFundId());
|
|
|
fundNavDeletionDTO.setFundName(fundName);
|
|
|
fundNavDeletionDTO.setRegisterNumber(registerNumber);
|
|
|
TradeDateDO tradeDateDO = tradeDateDoMap.get(e.getDeletionDate());
|
|
@@ -110,9 +113,11 @@ public class FundNavServiceImpl implements FundNavService {
|
|
|
}).sorted(Comparator.comparing(FundNavDeletionDTO::getFundName).thenComparing(FundNavDeletionDTO::getDate)).toList();
|
|
|
}
|
|
|
|
|
|
- private List<FundNavDataDTO> buildFundNavDataDTO(FundInfoDO fundInfoDO, List<NavDO> fundNavDoList, List<AssetDO> fundAssetDoList) {
|
|
|
+ private List<FundNavDataDTO> buildFundNavDataDTO(FundAndCompanyInfoDO fundInfoDO, List<NavDO> fundNavDoList, List<AssetDO> fundAssetDoList) {
|
|
|
String fundName = fundInfoDO.getFundName();
|
|
|
String registerNumber = fundInfoDO.getRegisterNumber();
|
|
|
+ String trustName = fundInfoDO.getCompanyName();
|
|
|
+ String trustRegisterNumber = fundInfoDO.getCompanyRegisterNumber();
|
|
|
Map<String, BigDecimal> priceDateAssetMap = MapUtil.newHashMap();
|
|
|
if (CollUtil.isNotEmpty(fundAssetDoList)) {
|
|
|
priceDateAssetMap = fundAssetDoList.stream().collect(Collectors.toMap(k -> DateUtil.format(k.getPriceDate(), DateConst.YYYY_MM_DD), AssetDO::getAssetNet));
|
|
@@ -120,6 +125,9 @@ public class FundNavServiceImpl implements FundNavService {
|
|
|
Map<String, BigDecimal> finalPriceDateAssetMap = priceDateAssetMap;
|
|
|
return fundNavDoList.stream().map(e -> {
|
|
|
FundNavDataDTO fundNavDataDTO = new FundNavDataDTO();
|
|
|
+ fundNavDataDTO.setTrustName(trustName);
|
|
|
+ fundNavDataDTO.setTrustRegisterNumber(trustRegisterNumber);
|
|
|
+ fundNavDataDTO.setFundId(e.getFundId());
|
|
|
fundNavDataDTO.setFundName(fundName);
|
|
|
fundNavDataDTO.setRegisterNumber(registerNumber);
|
|
|
String priceDate = e.getPriceDate() != null ? DateUtil.format(e.getPriceDate(), DateConst.YYYY_MM_DD) : null;
|