Browse Source

fix: 别名匹配之后调整文件关联基金的数据

chenjianhua 4 months ago
parent
commit
e689d7fe88

+ 16 - 6
service-daq/src/main/java/com/simuwang/daq/service/EmailParseService.java

@@ -21,10 +21,7 @@ import com.simuwang.base.pojo.dto.EmailContentInfoDTO;
 import com.simuwang.base.pojo.dto.EmailFundNavDTO;
 import com.simuwang.base.pojo.dto.MailboxInfoDTO;
 import com.simuwang.base.pojo.dto.query.DataboardQuery;
-import com.simuwang.base.pojo.dto.report.ParseResult;
-import com.simuwang.base.pojo.dto.report.ReportData;
-import com.simuwang.base.pojo.dto.report.ReportParseStatus;
-import com.simuwang.base.pojo.dto.report.ReportParserParams;
+import com.simuwang.base.pojo.dto.report.*;
 import com.simuwang.base.pojo.valuation.CmValuationTableAttribute;
 import com.simuwang.base.pojo.vo.*;
 import com.simuwang.daq.components.report.parser.ReportParser;
@@ -246,7 +243,20 @@ public class EmailParseService {
             }
             //需要写入到文件管理
             try{
-                saveFileManage(fileId,emailType,emailContentInfoDTO,fundNavDTOList,parseDate);
+                if (Objects.equals(EmailTypeConst.YEAR_REPORT_EMAIL_TYPE, emailType)
+                        ||Objects.equals(EmailTypeConst.QUARTER_REPORT_EMAIL_TYPE, emailType)
+                        || Objects.equals(EmailTypeConst.MONTH_REPORT_EMAIL_TYPE, emailType)) {
+                    ReportData reportData = dataList.get(0).getData();
+                    ReportFundInfoDTO fundInfoDTO = reportData.getFundInfo();
+                    EmailFundNavDTO emailFundNavDTO = new EmailFundNavDTO();
+                    if(fundInfoDTO != null){
+                        emailFundNavDTO.setFundName(fundInfoDTO.getFundName());
+                        emailFundNavDTO.setFundName(fundInfoDTO.getRegisterNumber());
+                    }
+                    saveFileManage(fileId,emailType,emailContentInfoDTO,ListUtil.toList(emailFundNavDTO),parseDate);
+                }else{
+                    saveFileManage(fileId,emailType,emailContentInfoDTO,fundNavDTOList,parseDate);
+                }
             }catch (Exception e){
                 log.error("保存文件管理信息报错:"+e.getMessage(),e);
             }
@@ -1022,9 +1032,9 @@ public class EmailParseService {
         emailTypeMap.put(EmailTypeConst.MONTH_REPORT_EMAIL_TYPE, Arrays.stream(monthReport.split(",")).toList());
         emailTypeMap.put(EmailTypeConst.QUARTER_REPORT_EMAIL_TYPE, Arrays.stream(quarterReport.split(",")).toList());
         emailTypeMap.put(EmailTypeConst.YEAR_REPORT_EMAIL_TYPE, Arrays.stream(yearReport.split(",")).toList());
+        emailTypeMap.put(EmailTypeConst.CHANGE_EMAIL_TYPE, Arrays.stream(changeReport.split(",")).toList());
         emailTypeMap.put(EmailTypeConst.CONTRACT_EMAIL_TYPE, Arrays.stream(contract.split(",")).toList());
         emailTypeMap.put(EmailTypeConst.DISTRIBUTION_EMAIL_TYPE, Arrays.stream(distribution.split(",")).toList());
-        emailTypeMap.put(EmailTypeConst.CHANGE_EMAIL_TYPE, Arrays.stream(changeReport.split(",")).toList());
         emailTypeMap.put(EmailTypeConst.NAV_EMAIL_TYPE, Arrays.stream(nav.split(",")).toList());
         return emailTypeMap;
     }

+ 2 - 2
service-deploy/src/test/java/com/simuwang/ApplicationTest.java

@@ -58,8 +58,8 @@
 //
 //    @Test
 //    public void testReparseEmail() {
-//        String regexp = ".*_(.*?基金).*";
-//        String fileName = "排排网净值及季报补充20230425_分红公告_半年添利多策略1号_璞远半年添利多策略1号私募证券投资基金_20210913_分红公告.pdf";
+//        String regexp = ".*【(.*?基金)】.*";
+//        String fileName = "【国恩回报61号私募证券投资基金】投资经理变更通知.pdf";
 //        Pattern pattern = Pattern.compile(regexp);
 //        Matcher matcher = pattern.matcher(fileName);
 //        if(matcher.find()){