123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- package com.simuwang.manage.service.impl;
- import com.simuwang.base.common.support.MybatisPage;
- import com.simuwang.base.common.util.DateUtils;
- import com.simuwang.base.common.util.StringUtil;
- import com.simuwang.base.mapper.*;
- import com.simuwang.base.pojo.dos.*;
- import com.simuwang.base.pojo.dto.query.ParseDetailPageQuery;
- import com.simuwang.base.pojo.vo.*;
- import com.simuwang.manage.service.ParseEmailDetailService;
- import org.checkerframework.checker.units.qual.A;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- * FileName: ParseEmailDetailServiceImpl
- * Author: chenjianhua
- * Date: 2024/9/12 23:08
- * Description: ${DESCRIPTION}
- */
- @Service
- public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
- @Autowired
- private EmailFundNavMapper emailFundNavMapper;
- @Autowired
- private FundInfoMapper fundInfoMapper;
- @Autowired
- private EmailFundAssetMapper emailFundAssetMapper;
- @Autowired
- private AssetMapper assetMapper;
- @Autowired
- private NavMapper navMapper;
- @Override
- public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery) {
- List<EmailFundNavDO> dataList = emailFundNavMapper.searchNavDetail(parseDetailPageQuery);
- List<EmailFundNavVO> voList = dataList.stream().map(EmailFundNavDO::toVo).collect(Collectors.toList());
- for(EmailFundNavVO vo : voList){
- //查找匹配基金
- if(vo.getFundId() != null){
- vo.setTargetFundId(vo.getFundId());
- vo.setTargetFundName(fundInfoMapper.getFundNameByFundId(vo.getFundId()));
- }
- }
- long total = emailFundNavMapper.countNavDetail(parseDetailPageQuery);
- return MybatisPage.of(total,voList);
- }
- @Override
- public MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery) {
- List<EmailFundAssetDO> dataList = emailFundAssetMapper.searchAssetDetail(parseDetailPageQuery);
- List<EmailFundAssetVO> voList = dataList.stream().map(EmailFundAssetDO::toVo).collect(Collectors.toList());
- for(EmailFundAssetVO vo : voList){
- //查找匹配基金
- if(vo.getFundId() != null){
- vo.setTargetFundId(vo.getFundId());
- vo.setTargetFundName(fundInfoMapper.getFundNameByFundId(vo.getFundId()));
- }
- }
- long total = emailFundAssetMapper.countAssetDetail(parseDetailPageQuery);
- return MybatisPage.of(total,voList);
- }
- @Override
- public void saveFundAsset(FundAssetVO fundAssetVO) {
- List<AssetDO> assetDOList = new ArrayList<>();
- AssetDO assetDO = new AssetDO();
- assetDO.setAssetNet(fundAssetVO.getAssetNet());
- assetDO.setAssetShare(fundAssetVO.getAssetShare());
- assetDO.setPriceDate(DateUtils.parse(fundAssetVO.getPriceDate(),DateUtils.YYYY_MM_DD));
- assetDO.setFundId(fundAssetVO.getFundId());
- assetDO.setUpdateTime(DateUtils.getNowDate());
- assetDO.setIsvalid(1);
- AssetDO oldAssetDO = assetMapper.queryFundAsset(assetDO);
- if(StringUtil.isNull(oldAssetDO)){
- assetDO.setCreateTime(DateUtils.getNowDate());
- assetDOList.add(assetDO);
- assetMapper.batchInsert(assetDOList);
- }else{
- oldAssetDO.setAssetShare(assetDO.getAssetShare());
- oldAssetDO.setAssetNet(assetDO.getAssetNet());
- assetDOList.add(oldAssetDO);
- assetMapper.batchUpdate(assetDOList);
- }
- }
- @Override
- public void saveFundNav(FundNavVO fundNavVO) {
- List<NavDO> navDOList = new ArrayList<>();
- NavDO navDO = new NavDO();
- navDO.setCumulativeNavWithdrawal(fundNavVO.getCumulativeNavWithdrawal());
- navDO.setNav(fundNavVO.getNav());
- navDO.setFundId(fundNavVO.getFundId());
- navDO.setNav(fundNavVO.getNav());
- navDO.setPriceDate(DateUtils.parse(fundNavVO.getPriceDate(),DateUtils.YYYY_MM_DD));
- navDO.setIsvalid(1);
- navDO.setUpdateTime(DateUtils.getNowDate());
- NavDO oldNav = navMapper.queryFundNav(navDO);
- if(StringUtil.isNull(oldNav)){
- navDO.setCreateTime(DateUtils.getNowDate());
- navDOList.add(navDO);
- navMapper.batchInsert(navDOList);
- }else{
- oldNav.setUpdateTime(DateUtils.getNowDate());
- oldNav.setCumulativeNav(navDO.getCumulativeNav());
- oldNav.setCumulativeNavWithdrawal(navDO.getCumulativeNavWithdrawal());
- oldNav.setNav(navDO.getNav());
- navDOList.add(oldNav);
- navMapper.batchUpdate(navDOList);
- }
- }
- }
|