Forráskód Böngészése

feat:模板配置-兼容数据提取规则中(表格行和表格列)或者(提取规则)都为空的数据的情况

mozuwen 7 hónapja
szülő
commit
c24508d30f

+ 7 - 1
service-daq/src/main/java/com/simuwang/daq/service/EmailTemplateService.java

@@ -301,7 +301,13 @@ public class EmailTemplateService {
         Map<Integer, List<EmailTemplateApplicationRuleDO>> templateIdApplicationRuleMap = templateApplicationRuleDOList.stream().collect(Collectors.groupingBy(EmailTemplateApplicationRuleDO::getTemplateId));
         // 查询模版数据规则
         List<EmailTemplateDataRuleDO> templateDataRuleDOList = emailTemplateDataRuleMapper.queryByTemplateId(templateIdList);
-        Map<Integer, List<EmailTemplateDataRuleDO>> templateIdDataRuleMap = templateDataRuleDOList.stream().collect(Collectors.groupingBy(EmailTemplateDataRuleDO::getTemplateId));
+        if (CollUtil.isEmpty(templateDataRuleDOList)) {
+            return templateDetailDTOList;
+        }
+        // 过滤掉(表格行和表格列)或者(提取规则)都为空的数据
+        Map<Integer, List<EmailTemplateDataRuleDO>> templateIdDataRuleMap = templateDataRuleDOList.stream()
+                .filter(e -> (e.getRow() != null && StrUtil.isNotBlank(e.getColumn())) || StrUtil.isNotBlank(e.getFieldRule()))
+                .collect(Collectors.groupingBy(EmailTemplateDataRuleDO::getTemplateId));
 
         for (Map.Entry<Integer, List<EmailTemplateApplicationRuleDO>> templateIdApplicationRule : templateIdApplicationRuleMap.entrySet()) {
             Integer templateId = templateIdApplicationRule.getKey();