Sfoglia il codice sorgente

fix:邮件解析-修复将“TA代码”识别成备案编码的问题

mozuwen 6 mesi fa
parent
commit
cba67aaec5

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

@@ -1,5 +1,6 @@
 package com.simuwang.base.common.util;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 
 import java.util.List;
@@ -23,10 +24,13 @@ public class StringUtil {
     /** 下划线 */
     private static final char SEPARATOR = '_';
 
-    public static String retainChineseCharacters(String value) {
+    public static String retainChineseCharacters(String value, List<String> notConvertFieldList) {
         if (StrUtil.isBlank(value)) {
             return null;
         }
+        if (CollUtil.isNotEmpty(notConvertFieldList) && notConvertFieldList.contains(value)) {
+            return value;
+        }
         // 正则表达式匹配中文字符
         String regex = "[^\\u4e00-\\u9fa5]";
         // 使用空字符串替换所有非中文字符

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

@@ -1,6 +1,7 @@
 package com.simuwang.daq.service;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.exceptions.ExceptionUtil;
 import cn.hutool.core.lang.Pair;
 import cn.hutool.core.map.MapUtil;
@@ -47,6 +48,8 @@ public class NavEmailParser extends AbstractEmailParser {
 
     private static final int MAX_COLUMN = 20;
 
+    private static final List<String> NOT_CONVERT_FIELD_LIST = ListUtil.toList("TA代码");
+
     public NavEmailParser(ValuationEmailParser valuationEmailParser, EmailTemplateService emailTemplateService) {
         this.valuationEmailParser = valuationEmailParser;
         this.emailTemplateService = emailTemplateService;
@@ -464,7 +467,7 @@ public class NavEmailParser extends AbstractEmailParser {
                 }
                 String cellValue = ExcelUtil.getCellValue(cell);
                 // 移除掉非中文字符
-                String newCellValue = StringUtil.retainChineseCharacters(cellValue);
+                String newCellValue = StringUtil.retainChineseCharacters(cellValue, NOT_CONVERT_FIELD_LIST);
                 String field = fieldMatch(newCellValue, emailFieldMap);
                 if (StrUtil.isNotBlank(field)) {
                     List<FieldPositionDTO> fieldPositionDTOList = tempFieldPositionMap.getOrDefault(field, new ArrayList<>());