浏览代码

fix:邮件解析-修复净值日期字段下非日期数据导致的报错问题

mozuwen 7 月之前
父节点
当前提交
f9bbdb27e7

+ 1 - 1
service-base/src/main/java/com/simuwang/base/common/util/ExcelUtil.java

@@ -28,7 +28,7 @@ public class ExcelUtil {
     private static final Logger logger = LoggerFactory.getLogger(ExcelUtil.class);
 
     public static boolean isExcel(String fileName) {
-        return StrUtil.isNotBlank(fileName) && (fileName.endsWith("xls") || fileName.endsWith("xlsx"));
+        return StrUtil.isNotBlank(fileName) && (fileName.endsWith("xls") || fileName.endsWith("xlsx") || fileName.endsWith("XLS") || fileName.endsWith("XLSX"));
     }
 
     public static boolean isPdf(String fileName) {

+ 0 - 1
service-base/src/main/java/com/simuwang/base/common/util/StringUtil.java

@@ -50,7 +50,6 @@ public class StringUtil {
                 sdf.parse(dateString);
                 return true;
             } catch (Exception e) {
-                return false;
             }
         }
         return false;

+ 2 - 3
service-daq/src/main/java/com/simuwang/daq/service/NavEmailParser.java

@@ -69,8 +69,7 @@ public class NavEmailParser extends AbstractEmailParser {
     }
 
     @Override
-    public List<EmailFundNavDTO>
-    parse(EmailContentInfoDTO emailContentInfoDTO, Map<String, List<String>> emailFieldMap) {
+    public List<EmailFundNavDTO> parse(EmailContentInfoDTO emailContentInfoDTO, Map<String, List<String>> emailFieldMap) {
         List<EmailFundNavDTO> emailFundNavDTOList = CollUtil.newArrayList();
         String emailContent = emailContentInfoDTO.getEmailContent();
         // 1.解析邮件正文
@@ -366,7 +365,7 @@ public class NavEmailParser extends AbstractEmailParser {
         EmailFundNavDTO emailFundNavDTO = new EmailFundNavDTO();
         String priceDate = columnFieldMap.get(EmailFieldConst.PRICE_DATE) != null && sheetRow.getCell(columnFieldMap.get(EmailFieldConst.PRICE_DATE)) != null ?
                 ExcelUtil.getCellValue(sheetRow.getCell(columnFieldMap.get(EmailFieldConst.PRICE_DATE))) : null;
-
+        priceDate = StringUtil.isValidDate(priceDate) ? priceDate : null;
         // 份额基金净值文件格式
         long parentFiledCount = columnFieldMap.keySet().stream().filter(e -> e.contains("parent")).count();
         if (parentFiledCount >= 1) {