浏览代码

feat:净值频次计算任务优化

chenjianhua 1 周之前
父节点
当前提交
0e45d8c443

+ 3 - 0
service-daq/src/main/java/com/simuwang/daq/service/EmailParseService.java

@@ -275,10 +275,13 @@ public class EmailParseService {
                 // 保存净值表和规模表
                 // 保存净值表和规模表
                 saveNavAndAssetNet(channelId,fileId, fundNavDTOList, parseDate);
                 saveNavAndAssetNet(channelId,fileId, fundNavDTOList, parseDate);
                 saveValuationInfo(channelId,fileId, fundNavDTOList);
                 saveValuationInfo(channelId,fileId, fundNavDTOList);
+            }else{
+                log.info("不是托管邮箱:"+senderEmail);
             }
             }
         }
         }
          //更新邮件解析结果 -> 当【净值日期】和【备案编码/基金名称】能正常解读,即识别为【成功】
          //更新邮件解析结果 -> 当【净值日期】和【备案编码/基金名称】能正常解读,即识别为【成功】
         long successNavCount = fileNameNavMap.values().stream().flatMap(List::stream).filter(e -> e != null && StrUtil.isBlank(e.getFailReason())).count();
         long successNavCount = fileNameNavMap.values().stream().flatMap(List::stream).filter(e -> e != null && StrUtil.isBlank(e.getFailReason())).count();
+        log.info("成功解析的数量是:"+successNavCount);
         emailParseStatus = successNavCount >= 1 ? EmailParseStatusConst.SUCCESS : EmailParseStatusConst.FAIL;
         emailParseStatus = successNavCount >= 1 ? EmailParseStatusConst.SUCCESS : EmailParseStatusConst.FAIL;
         String failReason = null;
         String failReason = null;
         if (emailParseStatus == EmailParseStatusConst.FAIL) {
         if (emailParseStatus == EmailParseStatusConst.FAIL) {

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

@@ -203,7 +203,7 @@ public class DeletionServiceImpl implements DeletionService {
                 List<AssetDO> assetDOList = assetMapper.selectAssetByFundId(fundId,channelId);
                 List<AssetDO> assetDOList = assetMapper.selectAssetByFundId(fundId,channelId);
                 List<FundPositionDetailDO> fundPositionDetailDOList = fundPositionDetailMapper.fundPositionDetailByFundId(fundId,channelId);
                 List<FundPositionDetailDO> fundPositionDetailDOList = fundPositionDetailMapper.fundPositionDetailByFundId(fundId,channelId);
                 assetDeletion(channelId,fundId,assetDOList,tradeDateDOList,fundReportFrequencyDO);
                 assetDeletion(channelId,fundId,assetDOList,tradeDateDOList,fundReportFrequencyDO);
-                distributionDeletion(channelId,fundId,navDOList);
+                distributionDeletion(channelId,fundId,fundNavDOList);
                 valuationDeletion(channelId,fundId,fundPositionDetailDOList,tradeDateDOList,fundReportFrequencyDO);
                 valuationDeletion(channelId,fundId,fundPositionDetailDOList,tradeDateDOList,fundReportFrequencyDO);
             }
             }
         }
         }

+ 30 - 21
service-manage/src/main/java/com/simuwang/manage/task/SendDeletionEmailTask.java

@@ -125,18 +125,23 @@ public class SendDeletionEmailTask {
         for(FundDeletionBaseInfoDO key : fundDeletionBaseInfoDOListMap.keySet()){
         for(FundDeletionBaseInfoDO key : fundDeletionBaseInfoDOListMap.keySet()){
             List<EmailDeletionInfoDO> emailDeletionInfoDOList = fundDeletionBaseInfoDOListMap.get(key);
             List<EmailDeletionInfoDO> emailDeletionInfoDOList = fundDeletionBaseInfoDOListMap.get(key);
             for (EmailDeletionInfoDO emailDeletionInfoDO : emailDeletionInfoDOList) {
             for (EmailDeletionInfoDO emailDeletionInfoDO : emailDeletionInfoDOList) {
-                List<String> data = new ArrayList<>();
-                data.add(emailDeletionInfoDO.getFundId());
-                data.add(emailDeletionInfoDO.getFundName());
-                data.add(emailDeletionInfoDO.getCompanyName());
-                data.add(key.getNavFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getNavFrequency())).getInfo());
-                data.add(key.getAssetFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getAssetFrequency())).getInfo());
-                data.add(key.getValuationFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getValuationFrequency())).getInfo());
-                data.add(DeletionType.getDeletionTypeByCode(Integer.parseInt(emailDeletionInfoDO.getDeletionType())).getInfo());
-                data.add(emailDeletionInfoDO.getDeletionDate());
-                data.add(String.valueOf(emailDeletionInfoDO.getChannelId()));
-                data.add(emailDeletionInfoDO.getChannelName());
-                dataList.add(data);
+                try{
+                    List<String> data = new ArrayList<>();
+                    data.add(emailDeletionInfoDO.getFundId());
+                    data.add(emailDeletionInfoDO.getFundName());
+                    data.add(emailDeletionInfoDO.getCompanyName());
+                    data.add(key.getNavFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getNavFrequency())).getInfo());
+                    data.add(key.getAssetFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getAssetFrequency())).getInfo());
+                    data.add(key.getValuationFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(key.getValuationFrequency())).getInfo());
+                    data.add(DeletionType.getDeletionTypeByCode(Integer.parseInt(emailDeletionInfoDO.getDeletionType())).getInfo());
+                    data.add(emailDeletionInfoDO.getDeletionDate());
+                    data.add(String.valueOf(emailDeletionInfoDO.getChannelId()));
+                    data.add(emailDeletionInfoDO.getChannelName());
+                    dataList.add(data);
+                }catch (Exception e){
+                    log.error(e.getMessage(),e);
+                }
+
             }
             }
         }
         }
         values.put(sheetName,dataList);
         values.put(sheetName,dataList);
@@ -220,15 +225,19 @@ public class SendDeletionEmailTask {
         String sheetName = "缺失产品清单";
         String sheetName = "缺失产品清单";
         List<List<String>> dataList = new ArrayList<>();
         List<List<String>> dataList = new ArrayList<>();
         for(FundDeletionBaseInfoDO dto : emailDeletionInfoDOS){
         for(FundDeletionBaseInfoDO dto : emailDeletionInfoDOS){
-            List<String> data = new ArrayList<>();
-            data.add(dto.getFundId());
-            data.add(dto.getFundName());
-            data.add(dto.getCompanyName());
-            data.add(dto.getNavFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getNavFrequency())).getInfo());
-            data.add(dto.getAssetFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getAssetFrequency())).getInfo());
-            data.add(dto.getValuationFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getValuationFrequency())).getInfo());
-            data.add(dto.getIsDeletion());
-            dataList.add(data);
+            try{
+                List<String> data = new ArrayList<>();
+                data.add(dto.getFundId());
+                data.add(dto.getFundName());
+                data.add(dto.getCompanyName());
+                data.add(dto.getNavFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getNavFrequency())).getInfo());
+                data.add(dto.getAssetFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getAssetFrequency())).getInfo());
+                data.add(dto.getValuationFrequency()==null?null:Frequency.getFrequencyByCode(Integer.parseInt(dto.getValuationFrequency())).getInfo());
+                data.add(dto.getIsDeletion());
+                dataList.add(data);
+            }catch (Exception e){
+                log.error(e.getMessage(),e);
+            }
         }
         }
         values.put(sheetName,dataList);
         values.put(sheetName,dataList);
         XSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName,head,values,null);
         XSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName,head,values,null);