123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- package com.simuwang.manage.service.impl;
- import com.simuwang.base.common.conts.NavParseStatusConst;
- import com.simuwang.base.common.enums.NavReviewStatus;
- 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.daq.*;
- 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 com.simuwang.shiro.utils.UserUtils;
- import com.smppw.common.pojo.ResultVo;
- import com.smppw.common.pojo.enums.status.ResultCode;
- import com.smppw.utils.DateUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.ArrayList;
- import java.util.Date;
- 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 EmailFundAssetMapper emailFundAssetMapper;
- @Autowired
- private NavMapper navMapper;
- @Override
- public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery) {
- if(StringUtil.isNotEmpty(parseDetailPageQuery.getUpdateEndDate())){
- parseDetailPageQuery.setUpdateEndDate(DateUtil.getAroundDate(DateUtils.parse(parseDetailPageQuery.getUpdateEndDate(),DateUtils.YYYY_MM_DD),1));
- }
- List<EmailFundNavDO> dataList = emailFundNavMapper.searchNavDetail(parseDetailPageQuery);
- List<EmailFundNavVO> voList = dataList.stream().map(EmailFundNavDO::toVo).collect(Collectors.toList());
- long total = emailFundNavMapper.countNavDetail(parseDetailPageQuery);
- return MybatisPage.of(total,voList);
- }
- @Override
- public MybatisPage<EmailFundAssetVO> searchAssetDetail(ParseDetailPageQuery parseDetailPageQuery) {
- if(StringUtil.isNotEmpty(parseDetailPageQuery.getUpdateEndDate())){
- parseDetailPageQuery.setUpdateEndDate(DateUtil.getAroundDate(DateUtils.parse(parseDetailPageQuery.getUpdateEndDate(),DateUtils.YYYY_MM_DD),1));
- }
- List<EmailFundAssetDO> dataList = emailFundAssetMapper.searchAssetDetail(parseDetailPageQuery);
- List<EmailFundAssetVO> voList = dataList.stream().map(EmailFundAssetDO::toVo).collect(Collectors.toList());
- long total = emailFundAssetMapper.countAssetDetail(parseDetailPageQuery);
- return MybatisPage.of(total,voList);
- }
- @Override
- public ResultVo reviewEmailNav(NavReviewVO navReviewVO) {
- ResultVo vo = new ResultVo(ResultCode.SUCCESS.getCode());
- try{
- if(navReviewVO.getReviewStatus().equals(NavReviewStatus.PASS.getCode())){
- //审核通过的情况,需要修改解析状态以及入库数据
- EmailFundNavDO emailFundNavDO = emailFundNavMapper.selectFundNavById(navReviewVO.getId());
- emailFundNavDO.setRemark(navReviewVO.getRemark());
- emailFundNavDO.setIsStored(1);
- emailFundNavDO.setExceptionStatus(NavParseStatusConst.SUCCESS);
- emailFundNavDO.setUpdateTime(new Date());
- Integer userId = UserUtils.getLoginUser().getUserId();
- emailFundNavDO.setUpdaterId(userId);
- emailFundNavMapper.updateEmailNav(emailFundNavDO);
- //将净值入库
- NavDO navDO = navMapper.queryNavByFundIdDate(emailFundNavDO.getFundId(),DateUtils.format(emailFundNavDO.getPriceDate(),DateUtils.YYYY_MM_DD),emailFundNavDO.getChannelId());
- if(navDO == null){
- navDO = new NavDO();
- navDO.setNav(emailFundNavDO.getNav());
- navDO.setCumulativeNavWithdrawal(emailFundNavDO.getCumulativeNavWithdrawal());
- navDO.setFundId(emailFundNavDO.getFundId());
- navDO.setPriceDate(emailFundNavDO.getPriceDate());
- navDO.setUpdaterId(userId);
- navDO.setCreatorId(userId);
- navDO.setIsvalid(1);
- navDO.setUpdateTime(new Date());
- navDO.setCreateTime(new Date());
- navMapper.saveNav(navDO);
- }else{
- navDO.setNav(emailFundNavDO.getNav());
- navDO.setCumulativeNavWithdrawal(emailFundNavDO.getCumulativeNavWithdrawal());
- navDO.setUpdaterId(userId);
- navDO.setUpdateTime(new Date());
- navMapper.updateNav(navDO);
- }
- }
- //保存审核备注
- emailFundNavMapper.updateRemark(navReviewVO.getId(),navReviewVO.getRemark());
- }catch (Exception e){
- vo = new ResultVo(ResultCode.SAVE_FAILED.getCode());
- }
- return vo;
- }
- }
|