|
@@ -163,7 +163,7 @@ public class DeletionServiceImpl implements DeletionService {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
//将现有数据无效掉
|
|
//将现有数据无效掉
|
|
- deletionInfoMapper.deleteDeletionRemark(fundId,DeletionType.DISTRIBUTION_DELETION.getCode(),null);
|
|
|
|
|
|
+ deletionInfoMapper.deleteDistributeDeletion(fundId,DeletionType.DISTRIBUTION_DELETION.getCode());
|
|
//查询是否存在拆分
|
|
//查询是否存在拆分
|
|
List<DistributionDO> distributionDOS = distributionMapper.getDistributionByFundId(fundId, DistributeType.DIVIDENDS_SPLIT);
|
|
List<DistributionDO> distributionDOS = distributionMapper.getDistributionByFundId(fundId, DistributeType.DIVIDENDS_SPLIT);
|
|
if(distributionDOS.size() > 0){
|
|
if(distributionDOS.size() > 0){
|
|
@@ -204,6 +204,8 @@ public class DeletionServiceImpl implements DeletionService {
|
|
}
|
|
}
|
|
|
|
|
|
private void assetDeletion(String fundId, List<AssetDO> assetDOList, List<TradeDateDO> tradeDateDOList, FundReportFrequencyDO fundReportFrequencyDO) {
|
|
private void assetDeletion(String fundId, List<AssetDO> assetDOList, List<TradeDateDO> tradeDateDOList, FundReportFrequencyDO fundReportFrequencyDO) {
|
|
|
|
+ //将现有数据无效掉
|
|
|
|
+ deletionInfoMapper.deleteDistributeDeletion(fundId,DeletionType.ASSET_DELETION.getCode());
|
|
if(Frequency.DAY == Frequency.getFrequencyByCode(fundReportFrequencyDO.getAssetFrequency())){
|
|
if(Frequency.DAY == Frequency.getFrequencyByCode(fundReportFrequencyDO.getAssetFrequency())){
|
|
Map<String,List<AssetDO>> navListMap = assetDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
Map<String,List<AssetDO>> navListMap = assetDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
Map<String,List<TradeDateDO>> tradeListMap = tradeDateDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getTradeDate(),DateUtils.YYYY_MM_DD)));
|
|
Map<String,List<TradeDateDO>> tradeListMap = tradeDateDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getTradeDate(),DateUtils.YYYY_MM_DD)));
|
|
@@ -245,7 +247,7 @@ public class DeletionServiceImpl implements DeletionService {
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
if(weekNavListMap.containsKey(weekOfYear)){
|
|
for(TradeDateDO tradeDateDO : tradeListMap.get(weekOfYear)){
|
|
for(TradeDateDO tradeDateDO : tradeListMap.get(weekOfYear)){
|
|
String tradeDate = DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD);
|
|
String tradeDate = DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD);
|
|
- deletionInfoMapper.updateRemark(fundId,DeletionType.NAV_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
|
|
|
|
+ deletionInfoMapper.updateRemark(fundId,DeletionType.ASSET_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
}
|
|
}
|
|
continue;
|
|
continue;
|
|
}else{
|
|
}else{
|
|
@@ -303,7 +305,7 @@ public class DeletionServiceImpl implements DeletionService {
|
|
if(monthNavListMap.containsKey(yearMonth)){
|
|
if(monthNavListMap.containsKey(yearMonth)){
|
|
for(TradeDateDO tradeDateDO : tradeListMap.get(yearMonth)){
|
|
for(TradeDateDO tradeDateDO : tradeListMap.get(yearMonth)){
|
|
String tradeDate = DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD);
|
|
String tradeDate = DateUtils.format(tradeDateDO.getTradeDate(),DateUtils.YYYY_MM_DD);
|
|
- deletionInfoMapper.updateRemark(fundId,DeletionType.NAV_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
|
|
|
|
+ deletionInfoMapper.updateRemark(fundId,DeletionType.ASSET_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
}
|
|
}
|
|
continue;
|
|
continue;
|
|
}else{
|
|
}else{
|
|
@@ -336,6 +338,8 @@ public class DeletionServiceImpl implements DeletionService {
|
|
}
|
|
}
|
|
|
|
|
|
private void navDeletion(String fundId,List<NavDO> navDOList, List<TradeDateDO> tradeDateDOList,FundReportFrequencyDO fundReportFrequencyDO) {
|
|
private void navDeletion(String fundId,List<NavDO> navDOList, List<TradeDateDO> tradeDateDOList,FundReportFrequencyDO fundReportFrequencyDO) {
|
|
|
|
+ //将现有数据无效掉
|
|
|
|
+ deletionInfoMapper.deleteDistributeDeletion(fundId,DeletionType.NAV_DELETION.getCode());
|
|
//只处理日月季频率
|
|
//只处理日月季频率
|
|
if(Frequency.DAY == Frequency.getFrequencyByCode(fundReportFrequencyDO.getNavFrequency())){
|
|
if(Frequency.DAY == Frequency.getFrequencyByCode(fundReportFrequencyDO.getNavFrequency())){
|
|
Map<String,List<NavDO>> navListMap = navDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
Map<String,List<NavDO>> navListMap = navDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
@@ -345,6 +349,13 @@ public class DeletionServiceImpl implements DeletionService {
|
|
deletionInfoMapper.updateRemark(fundId,DeletionType.NAV_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
deletionInfoMapper.updateRemark(fundId,DeletionType.NAV_DELETION.getCode(),tradeDate,DeletionType.NO_DELETION.getInfo(),null);
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ if(tradeDateDOList.size() <= 3){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ TradeDateDO tradeDateDO = tradeDateDOList.get(tradeDateDOList.size()-3);
|
|
|
|
+ if(tradeDateDO.getTradeDate().compareTo(DateUtils.parse(tradeDate,DateUtils.YYYY_MM_DD)) < 0){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
//写入缺失信息表
|
|
//写入缺失信息表
|
|
saveDeletionInfoDO(fundId,tradeDate,DeletionType.NAV_DELETION.getCode());
|
|
saveDeletionInfoDO(fundId,tradeDate,DeletionType.NAV_DELETION.getCode());
|
|
}
|
|
}
|
|
@@ -475,6 +486,10 @@ public class DeletionServiceImpl implements DeletionService {
|
|
deletionInfoDO.setUpdateTime(DateUtils.getNowDate());
|
|
deletionInfoDO.setUpdateTime(DateUtils.getNowDate());
|
|
deletionInfoDO.setCreateTime(DateUtils.getNowDate());
|
|
deletionInfoDO.setCreateTime(DateUtils.getNowDate());
|
|
deletionInfoMapper.saveDeletionInfoDO(deletionInfoDO);
|
|
deletionInfoMapper.saveDeletionInfoDO(deletionInfoDO);
|
|
|
|
+ }else{
|
|
|
|
+ oldDeletionDO.setIsvalid(1);
|
|
|
|
+ oldDeletionDO.setUpdateTime(DateUtils.getNowDate());
|
|
|
|
+ deletionInfoMapper.updateDeletionInfoDO(oldDeletionDO);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|