Quellcode durchsuchen

feat:邮件解析-兼容净值邮件但附件为估值表的情况

mozuwen vor 7 Monaten
Ursprung
Commit
502a04e9ff

+ 13 - 1
service-daq/src/main/java/com/simuwang/daq/service/NavEmailParser.java

@@ -53,11 +53,16 @@ public class NavEmailParser extends AbstractEmailParser {
     @Value("${email.file.path}")
     private String path;
 
+    private final ValuationEmailParser valuationEmailParser;
+
     private static final Integer ROW_DIRECTION_TYPE = 1;
     private static final Integer COLUMN_DIRECTION_TYPE = 2;
-
     private static final int MAX_COLUMN = 20;
 
+    public NavEmailParser(ValuationEmailParser valuationEmailParser) {
+        this.valuationEmailParser = valuationEmailParser;
+    }
+
     @Override
     public boolean isSupport(Integer emailType) {
         return EmailTypeConst.NAV_EMAIL_TYPE.equals(emailType);
@@ -94,6 +99,13 @@ public class NavEmailParser extends AbstractEmailParser {
         if (CollUtil.isNotEmpty(emailFundNavDTOList)) {
             emailFundNavDTOList = emailFundNavDTOList.stream().filter(super::dataFormat).collect(Collectors.toList());
         }
+        if (CollUtil.isEmpty(emailFundNavDTOList)) {
+            // 判断文件名是否包含"估值表"
+            String fileName = emailContentInfoDTO.getFileName();
+            if (StrUtil.isNotBlank(fileName) && fileName.contains("估值表")) {
+                emailFundNavDTOList = valuationEmailParser.parse(emailContentInfoDTO, emailFieldMap);
+            }
+        }
         return emailFundNavDTOList;
     }