浏览代码

fix:模板配置-修复判断表格内容适用性规则时,获取数据行号错误的问题

mozuwen 7 月之前
父节点
当前提交
387dd6f875
共有 1 个文件被更改,包括 10 次插入4 次删除
  1. 10 4
      service-daq/src/main/java/com/simuwang/daq/service/EmailTemplateService.java

+ 10 - 4
service-daq/src/main/java/com/simuwang/daq/service/EmailTemplateService.java

@@ -377,14 +377,16 @@ public class EmailTemplateService {
             isMatch = iskeywordMatch(fileName, containKeyword, notContainKeyword);
         } else if (ApplicationRuleFileConst.EMAIL_EXCEL_CONTENT_FILE.equals(type)) {
             if (StrUtil.isNotBlank(fileName) && ExcelUtil.isExcel(fileName)) {
-                if (applicationRuleDO.getRow() == null || StrUtil.isBlank(applicationRuleDO.getColumn())) {
+                Integer rowIndex = applicationRuleDO.getRow();
+                if (rowIndex == null || StrUtil.isBlank(applicationRuleDO.getColumn())) {
                     return false;
                 }
                 Sheet sheet = ExcelUtil.getFirstSheet(filePath);
                 if (sheet == null) {
                     return false;
                 }
-                Row row = sheet.getRow(applicationRuleDO.getRow());
+                rowIndex = rowIndex - 1;
+                Row row = sheet.getRow(rowIndex);
                 if (row == null) {
                     return false;
                 }
@@ -456,8 +458,12 @@ public class EmailTemplateService {
         }
         Pattern pattern = Pattern.compile(fieldRule);
         Matcher matcher = pattern.matcher(text);
-        while (matcher.find()) {
-            return matcher.group(1);
+        try {
+            while (matcher.find()) {
+                return matcher.group(1);
+            }
+        } catch (Exception e) {
+            return null;
         }
         return null;
     }