|
@@ -1,5 +1,7 @@
|
|
|
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;
|
|
@@ -8,12 +10,16 @@ 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.checkerframework.checker.units.qual.A;
|
|
|
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;
|
|
|
|
|
@@ -32,6 +38,9 @@ public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
|
|
|
@Autowired
|
|
|
private EmailFundAssetMapper emailFundAssetMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private NavMapper navMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public MybatisPage<EmailFundNavVO> searchNavDetail(ParseDetailPageQuery parseDetailPageQuery) {
|
|
|
if(StringUtil.isNotEmpty(parseDetailPageQuery.getUpdateEndDate())){
|
|
@@ -53,4 +62,49 @@ public class ParseEmailDetailServiceImpl implements ParseEmailDetailService {
|
|
|
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));
|
|
|
+ if(navDO == null){
|
|
|
+ navDO = new NavDO();
|
|
|
+ navDO.setNav(emailFundNavDO.getNav());
|
|
|
+ navDO.setCumulativeNav(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.setCumulativeNav(emailFundNavDO.getCumulativeNavWithdrawal());
|
|
|
+ navDO.setUpdaterId(userId);
|
|
|
+ navDO.setUpdateTime(new Date());
|
|
|
+ navMapper.updateNav(navDO);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ //审核不通过的情况,保存审核备注
|
|
|
+ emailFundNavMapper.updateRemark(navReviewVO.getId(),navReviewVO.getRemark());
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ vo = new ResultVo(ResultCode.SAVE_FAILED.getCode());
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
}
|