|
@@ -2,17 +2,21 @@ package com.simuwang.manage.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
+import com.simuwang.base.common.util.DateUtils;
|
|
import com.simuwang.base.mapper.EmailFundAssetMapper;
|
|
import com.simuwang.base.mapper.EmailFundAssetMapper;
|
|
import com.simuwang.base.pojo.dos.AssetDO;
|
|
import com.simuwang.base.pojo.dos.AssetDO;
|
|
import com.simuwang.base.pojo.dos.EmailFundAssetDO;
|
|
import com.simuwang.base.pojo.dos.EmailFundAssetDO;
|
|
|
|
+import com.simuwang.base.pojo.dos.EmailFundNavDO;
|
|
import com.simuwang.base.pojo.dos.NavDO;
|
|
import com.simuwang.base.pojo.dos.NavDO;
|
|
import com.simuwang.daq.service.EmailParseService;
|
|
import com.simuwang.daq.service.EmailParseService;
|
|
import com.simuwang.manage.service.EmailFundAssetService;
|
|
import com.simuwang.manage.service.EmailFundAssetService;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -33,6 +37,13 @@ public class EmailFundAssetServiceImpl implements EmailFundAssetService {
|
|
@Override
|
|
@Override
|
|
public void reparseFileAsset(String sourceFundName, String targetFundId) {
|
|
public void reparseFileAsset(String sourceFundName, String targetFundId) {
|
|
List<EmailFundAssetDO> fundAssetDOList = emailFundAssetMapper.selectNotMappingAsset(sourceFundName);
|
|
List<EmailFundAssetDO> fundAssetDOList = emailFundAssetMapper.selectNotMappingAsset(sourceFundName);
|
|
|
|
+ Map<String,List<EmailFundAssetDO>> fundAssetDOGroup = fundAssetDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
|
|
|
|
+ List<EmailFundAssetDO> dataList = new ArrayList<>();
|
|
|
|
+ //去重
|
|
|
|
+ for(String priceDate : fundAssetDOGroup.keySet()){
|
|
|
|
+ List<EmailFundAssetDO> doList = fundAssetDOGroup.get(priceDate);
|
|
|
|
+ dataList.add(doList.get(0));
|
|
|
|
+ }
|
|
if(fundAssetDOList.size() > 0){
|
|
if(fundAssetDOList.size() > 0){
|
|
//修改采集库的数据
|
|
//修改采集库的数据
|
|
for(EmailFundAssetDO fundNavDO : fundAssetDOList){
|
|
for(EmailFundAssetDO fundNavDO : fundAssetDOList){
|
|
@@ -40,10 +51,11 @@ public class EmailFundAssetServiceImpl implements EmailFundAssetService {
|
|
fundNavDO.setExceptionStatus(1);
|
|
fundNavDO.setExceptionStatus(1);
|
|
fundNavDO.setIsvalid(1);
|
|
fundNavDO.setIsvalid(1);
|
|
fundNavDO.setUpdateTime(new Date());
|
|
fundNavDO.setUpdateTime(new Date());
|
|
|
|
+ fundNavDO.setCreateTime(new Date());
|
|
}
|
|
}
|
|
emailFundAssetMapper.batchUpdate(fundAssetDOList);
|
|
emailFundAssetMapper.batchUpdate(fundAssetDOList);
|
|
//净值入库
|
|
//净值入库
|
|
- List<AssetDO> assetDOList = fundAssetDOList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
|
|
|
|
|
|
+ List<AssetDO> assetDOList = dataList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
|
|
.map(e -> BeanUtil.copyProperties(e, AssetDO.class)).collect(Collectors.toList());
|
|
.map(e -> BeanUtil.copyProperties(e, AssetDO.class)).collect(Collectors.toList());
|
|
emailParseService.saveAssetDo(assetDOList);
|
|
emailParseService.saveAssetDo(assetDOList);
|
|
}
|
|
}
|