123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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.pojo.dos.FundAliasDO;
- import com.simuwang.base.pojo.dto.query.FundAliasPageQuery;
- import com.simuwang.base.pojo.vo.FundAliasVO;
- import com.simuwang.base.pojo.vo.IdListVO;
- import com.simuwang.manage.service.EmailFundAssetService;
- import com.simuwang.manage.service.EmailFundNavService;
- import com.simuwang.manage.service.EmailFundInfoService;
- import com.simuwang.manage.service.FundAliasService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.Date;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * FileName: FunAliasServiceImpl
- * Author: chenjianhua
- * Date: 2024/9/14 16:18
- * Description: ${DESCRIPTION}
- */
- @Service
- public class FundAliasServiceImpl implements FundAliasService {
- @Autowired
- private FundAliasMapper fundAliasMapper;
- @Autowired
- private EmailFundNavMapper emailFundNavMapper;
- @Autowired
- private EmailFundAssetMapper emailFundAssetMapper;
- @Autowired
- private CompanyInformationMapper companyInformationMapper;
- @Autowired
- private EmailFundInfoService emailFundInfoService;
- @Autowired
- private EmailFundNavService emailFileNavService;
- @Autowired
- private EmailFundAssetService emailFundAssetService;
- @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.setNavTotal(navTotal);
- //异常净值数量
- Integer assetTotal = emailFundAssetMapper.countNoStoreAsset(vo.getSourceFundName());
- vo.setAssetTotal(assetTotal);
- //管理人
- if(vo.getTargetFundId() !=null){
- vo.setCompanyName(companyInformationMapper.getCompanyNameByFundId(vo.getTargetFundId()));
- }
- //最新净值日期
- vo.setPriceDate(emailFundNavMapper.getMaxPriceDate(vo.getSourceFundName()));
- }
- long total = fundAliasMapper.countFundAlias(fundAliasPageQuery);
- return MybatisPage.of(total,fundAliasVOList);
- }
- @Override
- public FundAliasVO searchFundAliasById(Integer id) {
- FundAliasDO fundAliasDO = fundAliasMapper.searchFundAliasById(id);
- if(StringUtil.isNull(fundAliasDO)){
- return null;
- }
- return fundAliasDO.toVo();
- }
- @Override
- public void saveFundAlias(FundAliasVO fundAliasVO) {
- FundAliasDO fundAliasDO = new FundAliasDO();
- fundAliasDO.setSourceFundName(fundAliasVO.getSourceFundName());
- fundAliasDO.setTargetFundId(fundAliasVO.getTargetFundId());
- fundAliasDO.setSourceRegisterNumber(fundAliasVO.getSourceRegisterNumber());
- fundAliasDO.setTargetFundName(fundAliasVO.getTargetFundName());
- fundAliasDO.setTargetRegisterNumber(fundAliasVO.getTargetRegisterNumber());
- fundAliasDO.setId(fundAliasVO.getId());
- fundAliasDO.setIsvalid(1);
- fundAliasDO.setUpdateTime(new Date());
- fundAliasMapper.saveFundAlias(fundAliasDO);
- //将采集的净值数据匹配之后重新入库
- emailFileNavService.reparseFileNav(fundAliasVO.getSourceFundName(),fundAliasVO.getTargetFundId());
- //将采集的规模数据匹配之后重新入库
- emailFundAssetService.reparseFileAsset(fundAliasVO.getSourceFundName(),fundAliasVO.getTargetFundId());
- //处理采集数据,将采集的数据入库
- emailFundInfoService.reparseValuationFile(fundAliasVO.getSourceFundName());
- }
- @Override
- public void deleteFundAlias(IdListVO idListVO) {
- List<Integer> idList = idListVO.getIdList();
- if(idList.size() > 0){
- fundAliasMapper.batchDelete(idList);
- }
- }
- }
|