浏览代码

fix: 别名保存,净值规模入库报错问题修复

chenjianhua 7 月之前
父节点
当前提交
5018c23a17

+ 3 - 3
service-manage/src/main/java/com/simuwang/manage/api/company/CompanyEmailSendHistoryController.java

@@ -121,12 +121,12 @@ public class CompanyEmailSendHistoryController{
 
 
     /**
     /**
      * 根据companyIdList发送数据缺失邮件
      * 根据companyIdList发送数据缺失邮件
-     * @param comyanyEmailIdVO  已选行的companyIdList
+     * @param idListVO  已选行的companyIdList
      * @return
      * @return
      */
      */
     @PostMapping("send-company-email")
     @PostMapping("send-company-email")
-    public boolean sendCompanyEmail(@RequestBody CompanyIdListVO comyanyEmailIdVO){
-        companyEmailConfigService.sendCompanyEmail(comyanyEmailIdVO.getCompanyIdList());
+    public boolean sendCompanyEmail(@RequestBody IdListVO idListVO){
+        companyEmailConfigService.sendCompanyEmail(idListVO.getIdList());
         return true;
         return true;
     }
     }
 }
 }

+ 1 - 1
service-manage/src/main/java/com/simuwang/manage/service/CompanyEmailConfigService.java

@@ -18,5 +18,5 @@ public interface CompanyEmailConfigService {
 
 
     void updateCompanyEmailConfig(CompanyEmailConfigVO companyEmailConfigVO);
     void updateCompanyEmailConfig(CompanyEmailConfigVO companyEmailConfigVO);
 
 
-    void sendCompanyEmail(List<String> idList);
+    void sendCompanyEmail(List<Integer> idList);
 }
 }

+ 6 - 15
service-manage/src/main/java/com/simuwang/manage/service/impl/CompanyEmailConfigServiceImpl.java

@@ -75,24 +75,15 @@ public class CompanyEmailConfigServiceImpl implements CompanyEmailConfigService
     }
     }
 
 
     @Override
     @Override
-    public void sendCompanyEmail(List<String> companyIdList) {
-        for(String companyId : companyIdList){
-            List<CompanyEmailConfigVO> configVOs = companyEmailConfigMapper.searchEmailConfigByCompanyId(companyId);
-            if(configVOs .size() > 0){
-                List<String> emailList = new ArrayList<>();
-                for(CompanyEmailConfigVO configVO : configVOs){
-                    if(configVO.getOpenStatus().equals(OpenStatusType.YES.getCode())){
-                        //获取开启的邮箱地址
-                        emailList.add(configVO.getEmail());
-                    }
-                }
-                //把缺失数据的邮件发送到该公司名下的邮箱地址
-                sendEmail(companyId,emailList);
-            }
+    public void sendCompanyEmail(List<Integer> idList) {
+        for(Integer id : idList){
+            CompanyEmailConfigDO configDO = companyEmailConfigMapper.selectCompanyEmailConfigById(id);
+            //把缺失数据的邮件发送到该公司名下的邮箱地址
+            sendEmail(configDO.getCompanyId(),configDO.getEmail());
         }
         }
     }
     }
     //邮件校验处理
     //邮件校验处理
-    private void sendEmail(String companyId, List<String> emailList) {
+    private void sendEmail(String companyId, String email) {
 
 
     }
     }
 }
 }

+ 13 - 1
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundAssetServiceImpl.java

@@ -2,17 +2,21 @@ package com.simuwang.manage.service.impl;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import com.simuwang.base.common.util.DateUtils;
 import com.simuwang.base.mapper.EmailFundAssetMapper;
 import com.simuwang.base.mapper.EmailFundAssetMapper;
 import com.simuwang.base.pojo.dos.AssetDO;
 import com.simuwang.base.pojo.dos.AssetDO;
 import com.simuwang.base.pojo.dos.EmailFundAssetDO;
 import com.simuwang.base.pojo.dos.EmailFundAssetDO;
+import com.simuwang.base.pojo.dos.EmailFundNavDO;
 import com.simuwang.base.pojo.dos.NavDO;
 import com.simuwang.base.pojo.dos.NavDO;
 import com.simuwang.daq.service.EmailParseService;
 import com.simuwang.daq.service.EmailParseService;
 import com.simuwang.manage.service.EmailFundAssetService;
 import com.simuwang.manage.service.EmailFundAssetService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -33,6 +37,13 @@ public class EmailFundAssetServiceImpl implements EmailFundAssetService {
     @Override
     @Override
     public void reparseFileAsset(String sourceFundName, String targetFundId) {
     public void reparseFileAsset(String sourceFundName, String targetFundId) {
         List<EmailFundAssetDO> fundAssetDOList = emailFundAssetMapper.selectNotMappingAsset(sourceFundName);
         List<EmailFundAssetDO> fundAssetDOList = emailFundAssetMapper.selectNotMappingAsset(sourceFundName);
+        Map<String,List<EmailFundAssetDO>> fundAssetDOGroup = fundAssetDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
+        List<EmailFundAssetDO> dataList = new ArrayList<>();
+        //去重
+        for(String priceDate : fundAssetDOGroup.keySet()){
+            List<EmailFundAssetDO> doList = fundAssetDOGroup.get(priceDate);
+            dataList.add(doList.get(0));
+        }
         if(fundAssetDOList.size() > 0){
         if(fundAssetDOList.size() > 0){
             //修改采集库的数据
             //修改采集库的数据
             for(EmailFundAssetDO fundNavDO : fundAssetDOList){
             for(EmailFundAssetDO fundNavDO : fundAssetDOList){
@@ -40,10 +51,11 @@ public class EmailFundAssetServiceImpl implements EmailFundAssetService {
                 fundNavDO.setExceptionStatus(1);
                 fundNavDO.setExceptionStatus(1);
                 fundNavDO.setIsvalid(1);
                 fundNavDO.setIsvalid(1);
                 fundNavDO.setUpdateTime(new Date());
                 fundNavDO.setUpdateTime(new Date());
+                fundNavDO.setCreateTime(new Date());
             }
             }
             emailFundAssetMapper.batchUpdate(fundAssetDOList);
             emailFundAssetMapper.batchUpdate(fundAssetDOList);
             //净值入库
             //净值入库
-            List<AssetDO> assetDOList = fundAssetDOList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
+            List<AssetDO> assetDOList = dataList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
                     .map(e -> BeanUtil.copyProperties(e, AssetDO.class)).collect(Collectors.toList());
                     .map(e -> BeanUtil.copyProperties(e, AssetDO.class)).collect(Collectors.toList());
             emailParseService.saveAssetDo(assetDOList);
             emailParseService.saveAssetDo(assetDOList);
         }
         }

+ 10 - 1
service-manage/src/main/java/com/simuwang/manage/service/impl/EmailFundNavServiceImpl.java

@@ -12,8 +12,10 @@ import com.simuwang.manage.service.EmailFundNavService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 /**
 /**
@@ -34,6 +36,13 @@ public class EmailFundNavServiceImpl implements EmailFundNavService {
     @Override
     @Override
     public void reparseFileNav(String sourceFundName, String targetFundId) {
     public void reparseFileNav(String sourceFundName, String targetFundId) {
         List<EmailFundNavDO> fundNavDOList = emailFundNavMapper.selectNotMappingNav(sourceFundName);
         List<EmailFundNavDO> fundNavDOList = emailFundNavMapper.selectNotMappingNav(sourceFundName);
+        Map<String,List<EmailFundNavDO>> fundNavDOGroup = fundNavDOList.stream().collect(Collectors.groupingBy(e -> DateUtils.format(e.getPriceDate(),DateUtils.YYYY_MM_DD)));
+        List<EmailFundNavDO> dataList = new ArrayList<>();
+        //去重
+        for(String priceDate : fundNavDOGroup.keySet()){
+            List<EmailFundNavDO> doList = fundNavDOGroup.get(priceDate);
+            dataList.add(doList.get(0));
+        }
         if(fundNavDOList.size() > 0){
         if(fundNavDOList.size() > 0){
             //修改采集库的数据
             //修改采集库的数据
             for(EmailFundNavDO fundNavDO : fundNavDOList){
             for(EmailFundNavDO fundNavDO : fundNavDOList){
@@ -43,7 +52,7 @@ public class EmailFundNavServiceImpl implements EmailFundNavService {
             }
             }
             emailFundNavMapper.batchUpdate(fundNavDOList);
             emailFundNavMapper.batchUpdate(fundNavDOList);
             //净值入库
             //净值入库
-            List<NavDO> navDOList = fundNavDOList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
+            List<NavDO> navDOList = dataList.stream().filter(e -> StrUtil.isNotBlank(e.getFundId()))
                     .map(e -> BeanUtil.copyProperties(e, NavDO.class)).collect(Collectors.toList());
                     .map(e -> BeanUtil.copyProperties(e, NavDO.class)).collect(Collectors.toList());
             navDOList.forEach(e -> e.setUpdateTime(DateUtils.getNowDate()));
             navDOList.forEach(e -> e.setUpdateTime(DateUtils.getNowDate()));
             emailParseService.saveNavDo(navDOList);
             emailParseService.saveNavDo(navDOList);