|
@@ -2,11 +2,10 @@ package com.simuwang.manage.service.impl;
|
|
|
|
|
|
import com.simuwang.base.common.support.MybatisPage;
|
|
|
import com.simuwang.base.common.util.StringUtil;
|
|
|
-import com.simuwang.base.mapper.CompanyInformationMapper;
|
|
|
-import com.simuwang.base.mapper.EmailFundAssetMapper;
|
|
|
-import com.simuwang.base.mapper.EmailFundNavMapper;
|
|
|
-import com.simuwang.base.mapper.FundAliasMapper;
|
|
|
+import com.simuwang.base.mapper.*;
|
|
|
import com.simuwang.base.pojo.dos.FundAliasDO;
|
|
|
+import com.simuwang.base.pojo.dos.FundNotMappingInfoDO;
|
|
|
+import com.simuwang.base.pojo.dos.FundRegisterDO;
|
|
|
import com.simuwang.base.pojo.dto.query.FundAliasPageQuery;
|
|
|
import com.simuwang.base.pojo.vo.FundAliasVO;
|
|
|
import com.simuwang.base.pojo.vo.IdListVO;
|
|
@@ -16,6 +15,7 @@ import com.simuwang.manage.service.EmailFundInfoService;
|
|
|
import com.simuwang.manage.service.FundAliasService;
|
|
|
import com.simuwang.shiro.utils.UserUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -41,9 +41,6 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
private EmailFundAssetMapper emailFundAssetMapper;
|
|
|
|
|
|
@Autowired
|
|
|
- private CompanyInformationMapper companyInformationMapper;
|
|
|
-
|
|
|
- @Autowired
|
|
|
private EmailFundInfoService emailFundInfoService;
|
|
|
|
|
|
@Autowired
|
|
@@ -52,20 +49,13 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
@Autowired
|
|
|
private EmailFundAssetService emailFundAssetService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private FundNotMappingMapper fundNotMappingMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public MybatisPage<FundAliasVO> searchFundAlias(FundAliasPageQuery fundAliasPageQuery) {
|
|
|
List<FundAliasDO> fundAliasDOList = fundAliasMapper.searchFundAlias(fundAliasPageQuery);
|
|
|
List<FundAliasVO> fundAliasVOList = fundAliasDOList.stream().map(FundAliasDO::toVo).collect(Collectors.toList());
|
|
|
- for(FundAliasVO vo : fundAliasVOList){
|
|
|
- //异常净值数量
|
|
|
- Integer navTotal = emailFundNavMapper.countNoStoreNav(vo.getSourceFundName(),vo.getSourceRegisterNumber());
|
|
|
- vo.setNavTotal(navTotal);
|
|
|
- //异常净值数量
|
|
|
- Integer assetTotal = emailFundAssetMapper.countNoStoreAsset(vo.getSourceFundName(),vo.getSourceRegisterNumber());
|
|
|
- vo.setAssetTotal(assetTotal);
|
|
|
-// //最新净值日期
|
|
|
-// vo.setPriceDate(emailFundNavMapper.getMaxPriceDate(vo.getSourceFundName()));
|
|
|
- }
|
|
|
long total = fundAliasMapper.countFundAlias(fundAliasPageQuery);
|
|
|
return MybatisPage.of(total,fundAliasVOList);
|
|
|
}
|
|
@@ -80,7 +70,8 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void saveFundAlias(FundAliasVO fundAliasVO) {
|
|
|
+ @Async
|
|
|
+ public void saveFundAlias(FundAliasVO fundAliasVO,Integer userId) {
|
|
|
FundAliasDO fundAliasDO = new FundAliasDO();
|
|
|
fundAliasDO.setSourceFundName(fundAliasVO.getSourceFundName());
|
|
|
fundAliasDO.setTargetFundId(fundAliasVO.getTargetFundId());
|
|
@@ -89,10 +80,9 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
fundAliasDO.setTargetRegisterNumber(fundAliasVO.getTargetRegisterNumber());
|
|
|
fundAliasDO.setId(fundAliasVO.getId());
|
|
|
fundAliasDO.setIsvalid(1);
|
|
|
- fundAliasDO.setUpdaterId(UserUtils.getLoginUser().getUserId());
|
|
|
- fundAliasDO.setCreatorId(UserUtils.getLoginUser().getUserId());
|
|
|
+ fundAliasDO.setUpdaterId(userId);
|
|
|
+ fundAliasDO.setCreatorId(userId);
|
|
|
fundAliasDO.setUpdateTime(new Date());
|
|
|
-
|
|
|
FundAliasDO oldFundAliasDO = fundAliasMapper.searchFundAliasById(fundAliasVO.getId());
|
|
|
String oldFundId = oldFundAliasDO.getTargetFundId();
|
|
|
fundAliasMapper.saveFundAlias(fundAliasDO);
|
|
@@ -102,6 +92,28 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
emailFundAssetService.reparseFileAsset(fundAliasVO.getSourceFundName(),fundAliasVO.getSourceRegisterNumber(),fundAliasVO.getTargetFundId(),oldFundId);
|
|
|
//处理采集数据,将采集的数据入库
|
|
|
emailFundInfoService.reparseValuationFile(fundAliasVO.getSourceFundName(),fundAliasVO.getSourceRegisterNumber());
|
|
|
+ //更新别名统计数据
|
|
|
+ computeFundMappingInfo(fundAliasVO.getSourceFundName(),fundAliasVO.getSourceRegisterNumber());
|
|
|
+ }
|
|
|
+
|
|
|
+ private void computeFundMappingInfo(String fundName,String registerNumber){
|
|
|
+ FundNotMappingInfoDO fundNotMappingInfoDO = new FundNotMappingInfoDO();
|
|
|
+ fundNotMappingInfoDO.setFundName(fundName);
|
|
|
+ fundNotMappingInfoDO.setRegisterNumber(registerNumber);
|
|
|
+ //异常净值数量
|
|
|
+ Integer navTotal = emailFundNavMapper.countNoStoreNav(fundName,registerNumber);
|
|
|
+ //异常净值数量
|
|
|
+ Integer assetTotal = emailFundAssetMapper.countNoStoreAsset(fundName,registerNumber);
|
|
|
+ fundNotMappingInfoDO.setAssetTotal(assetTotal);
|
|
|
+ fundNotMappingInfoDO.setNavTotal(navTotal);
|
|
|
+ fundNotMappingInfoDO.setIsvalid(1);
|
|
|
+ fundNotMappingInfoDO.setCreateTime(new Date());
|
|
|
+ fundNotMappingInfoDO.setUpdateTime(new Date());
|
|
|
+ FundNotMappingInfoDO oldFundNotMappingInfoDO = fundNotMappingMapper.getFundNotMappingInfo(fundNotMappingInfoDO);
|
|
|
+ if(oldFundNotMappingInfoDO != null){
|
|
|
+ fundNotMappingInfoDO.setId(oldFundNotMappingInfoDO.getId());
|
|
|
+ }
|
|
|
+ fundNotMappingMapper.insertOrUpdate(fundNotMappingInfoDO);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -112,4 +124,9 @@ public class FundAliasServiceImpl implements FundAliasService {
|
|
|
fundAliasMapper.batchDelete(idList,userId);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<FundRegisterDO> getNotMappingFundList() {
|
|
|
+ return fundAliasMapper.getNotMappingFundList();
|
|
|
+ }
|
|
|
}
|