|
@@ -424,18 +424,22 @@ public class EmailParseService {
|
|
|
fundAliasDOList = fundAliasMapper.queryFundIdByName(fundName);
|
|
|
}
|
|
|
|
|
|
- // 说明未匹配基金已经写入别名表
|
|
|
+ // 未匹配基金且已写入别名表
|
|
|
if (CollUtil.isEmpty(fundIdList) && CollUtil.isNotEmpty(fundAliasDOList)) {
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+ // 未匹配基金且未写入别名表
|
|
|
+ if (CollUtil.isEmpty(fundIdList) && CollUtil.isEmpty(fundAliasDOList)) {
|
|
|
+ fundAliasMapper.batchInsert(ListUtil.toList(buildFundAliasDO(fundName, registerNumber, null)));
|
|
|
+ log.info("写入别名表 -> 基金名称:{},备案编码:{},基金id:{}", fundName, registerNumber, fundIdList);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 匹配上基金 -> 需要判断此时基金id是否已经在别名管理表
|
|
|
if (CollUtil.isNotEmpty(fundAliasDOList)) {
|
|
|
List<String> collect = fundAliasDOList.stream().filter(Objects::nonNull).map(FundAliasDO::getTargetFundId).filter(Objects::nonNull).distinct().toList();
|
|
|
fundIdList = fundIdList.stream().filter(e -> !collect.contains(e)).toList();
|
|
|
}
|
|
|
-
|
|
|
- List<FundAliasDO> fundAliasDOS = CollUtil.isEmpty(fundIdList) ? ListUtil.toList(buildFundAliasDO(fundName, registerNumber, null))
|
|
|
- : fundIdList.stream().map(e -> buildFundAliasDO(fundName, registerNumber, e)).toList();
|
|
|
+ List<FundAliasDO> fundAliasDOS = CollUtil.isNotEmpty(fundIdList) ? fundIdList.stream().map(e -> buildFundAliasDO(fundName, registerNumber, e)).toList() : null;
|
|
|
if (CollUtil.isNotEmpty(fundAliasDOS)) {
|
|
|
fundAliasMapper.batchInsert(fundAliasDOS);
|
|
|
log.info("写入别名表 -> 基金名称:{},备案编码:{},基金id:{}", fundName, registerNumber, fundIdList);
|