From 7e6bd30b5422e4ef6e17127b30f93f0971f0a437 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Wed, 20 Nov 2024 14:17:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E5=9C=B0=E5=9D=80=EF=BC=8C?= =?UTF-8?q?=E5=8E=BB=E9=99=A4HTML=E5=AD=97=E7=AC=A6=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BatchAddInterviewResultModeExpand.java | 2 +- .../interview/InterviewMsgUtil.java | 3 ++- .../modeexpand/util/RecruitModeUtil.java | 27 +++++++++++++++++++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java index a73a672..a3a24ca 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/BatchAddInterviewResultModeExpand.java @@ -105,7 +105,7 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod } // 发送邮件 - String msgContent = RecruitModeUtil.getReplaceContent(yjnr, fieldMapList, detailDataMap); + String msgContent = RecruitModeUtil.getReplaceContent(yjnr, fieldMapList, detailDataMap, Collections.singletonList("msdd")); String yx = Util.null2String(detailDataMap.get("dzyx")); String sjh = Util.null2String(detailDataMap.get("sjhm")); if (sendEmail) { diff --git a/src/weaver/formmode/recruit/modeexpand/interview/InterviewMsgUtil.java b/src/weaver/formmode/recruit/modeexpand/interview/InterviewMsgUtil.java index 77d7b38..41ea330 100644 --- a/src/weaver/formmode/recruit/modeexpand/interview/InterviewMsgUtil.java +++ b/src/weaver/formmode/recruit/modeexpand/interview/InterviewMsgUtil.java @@ -9,6 +9,7 @@ import weaver.general.Util; import weaver.hrm.User; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -39,7 +40,7 @@ public class InterviewMsgUtil { List fieldList = RecruitModeUtil.getFieldList("uf_jcl_ms"); Map> fieldMapList = fieldList.stream().collect(Collectors.groupingBy(Formfield::getLabelName)); // 发送邮件 - String msgContent = RecruitModeUtil.getReplaceContent(yjnr, fieldMapList, mainDataMap); + String msgContent = RecruitModeUtil.getReplaceContent(yjnr, fieldMapList, mainDataMap, Collections.singletonList("msdd")); String yx = Util.null2String(mainDataMap.get("dzyx")); String sjh = Util.null2String(mainDataMap.get("sjhm")); RecordSet rs = new RecordSet(); diff --git a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java index efa5781..feae391 100644 --- a/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java +++ b/src/weaver/formmode/recruit/modeexpand/util/RecruitModeUtil.java @@ -164,6 +164,33 @@ public class RecruitModeUtil { return sb.toString(); } + public static String getReplaceContent(String content, Map> fieldMapList, Map paramsData,List htmlFields) { + Matcher matcher = EMAIL_PATTERN.matcher(content); + // 指定要匹配的字符串 + StringBuffer sb = new StringBuffer(); + + while (matcher.find()) { + String replace = matcher.group(1); + + List formFieldList = fieldMapList.get(replace); + if (CollectionUtils.isEmpty(formFieldList)) { + continue; + } + // 多个相同名称的字段,只取第一个 + Formfield formfield = formFieldList.get(0); + String replaceValue = Util.null2String(paramsData.get(formfield.getFieldname().toLowerCase())); + String fieldShowName = RecruitModeUtil.getFieldShowName(formfield, replaceValue); + if (!htmlFields.contains(formfield.getFieldname().toLowerCase())) { + fieldShowName = fieldShowName.replaceAll("<[^>]*>", ""); + }else{ + fieldShowName=fieldShowName.replace("a ","a "); + } + matcher.appendReplacement(sb, Util.null2String(fieldShowName)); + } + matcher.appendTail(sb); + return sb.toString(); + } + /** * 消息中心,替换消息内容 *