面试地址,去除HTML字符过滤

This commit is contained in:
dxfeng 2024-11-20 14:17:26 +08:00
parent cd1cc4caa3
commit 7e6bd30b54
3 changed files with 30 additions and 2 deletions

View File

@ -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) {

View File

@ -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<Formfield> fieldList = RecruitModeUtil.getFieldList("uf_jcl_ms");
Map<String, List<Formfield>> 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();

View File

@ -164,6 +164,33 @@ public class RecruitModeUtil {
return sb.toString();
}
public static String getReplaceContent(String content, Map<String, List<Formfield>> fieldMapList, Map<String, Object> paramsData,List<String> htmlFields) {
Matcher matcher = EMAIL_PATTERN.matcher(content);
// 指定要匹配的字符串
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String replace = matcher.group(1);
List<Formfield> 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&nbsp;","a ");
}
matcher.appendReplacement(sb, Util.null2String(fieldShowName));
}
matcher.appendTail(sb);
return sb.toString();
}
/**
* 消息中心替换消息内容
*