筛选反馈消息提醒

This commit is contained in:
dxfeng 2023-10-20 15:52:26 +08:00
parent d65cc99ca4
commit f228782857
7 changed files with 57 additions and 8 deletions

View File

@ -1,5 +1,7 @@
#\u805A\u624D\u6797\u62DB\u8058\u6D88\u606F\u63D0\u9192\uFF0C\u6D88\u606F\u6765\u6E90
RECRUIT_MESSAGE_TYPE=2022061063
#\u9762\u8BD5\u76F8\u5173\u6D88\u606F\u63D0\u9192\uFF0C\u6D88\u606F\u6765\u6E90
INTERVIEW_MESSAGE_TYPE=2022061063
#\u6DFB\u52A0\u9762\u8BD5\u6D88\u606F\u63D0\u9192\u6807\u9898
@ -8,8 +10,15 @@ INTERVIEW_ADD_MESSAGE_TITLE=\u9762\u8BD5\u5B89\u6392\u63D0\u9192
INTERVIEW_CANCEL_MESSAGE_TITLE=\u53D6\u6D88\u9762\u8BD5\u63D0\u9192
#\u9762\u8BD5\u8BC4\u4EF7\u6D88\u606F\u63D0\u9192\u6807\u9898
INTERVIEW_EVALUATE_MESSAGE_TITLE=\u9762\u8BD5\u8BC4\u4EF7\u63D0\u9192
#\u4EBA\u624D\u9ED1\u540D\u5355\u901A\u77E5
JOIN_BLACKLIST_MESSAGE_TITLE=\u4EBA\u624D\u9ED1\u540D\u5355\u901A\u77E5
#\u7B5B\u9009\u53CD\u9988
SCREENING_MESSAGE_TYPE=2022061063
SCREENING_MESSAGE_TITLE=\u7B80\u5386\u7B5B\u9009
SCREENING_MESSAGE_URL=/wui/index.html#/main/cube/search?customid=65
#\u5E94\u8058\u8005\u7B80\u5386\u5B58\u653E\u76EE\u5F55ID
APPLICANTS_RESUMES_CATEGORY=110

View File

@ -5,6 +5,8 @@ import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
import weaver.formmode.recruit.modeexpand.util.ApplicantCommonInfo;
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.Util;
@ -75,6 +77,8 @@ public class BatchAddDeptScreeningModeExpand extends AbstractModeExpandJavaCodeN
detailMapList.add(detailDataMap);
}
StringBuilder msgBuilder = new StringBuilder();
msgBuilder.append(user.getLastname()).append("给你发来简历进行筛选,请查看。<br/>");
for (Map<String, Object> detailDataMap : detailMapList) {
List<List<Object>> paramList = new ArrayList<>();
buildParamList(detailDataMap, paramList);
@ -87,7 +91,18 @@ public class BatchAddDeptScreeningModeExpand extends AbstractModeExpandJavaCodeN
refreshRight(rs, uuid, formModeId);
}
}
String applicantName = ApplicantCommonInfo.getApplicantName(Util.null2String(detailDataMap.get("ypz")));
String applicantPosition = ApplicantCommonInfo.getApplicantPosition(Util.null2String(detailDataMap.get("ypzw")));
msgBuilder.append("【应聘者:").append(applicantName).append(",应聘职位:").append(applicantPosition).append("").append("<br/>");
}
// 发送待办消息
String messageType = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_TYPE");
String messageTitle = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_TITLE");
String linkUrl = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_URL");
String fkr = Util.null2String(mainDataMap.get("fkr"));
Set<String> userIdSet = new HashSet<>(Arrays.asList(fkr.split(",")));
RecruitModeUtil.messagePush(messageType, messageTitle, msgBuilder.toString(), userIdSet, user.getUID(), linkUrl, "");
}
} catch (Exception e) {
new BaseBean().writeLog(e);

View File

@ -5,6 +5,8 @@ import org.apache.commons.lang3.StringUtils;
import weaver.common.DateUtil;
import weaver.conn.RecordSet;
import weaver.formmode.customjavacode.AbstractModeExpandJavaCodeNew;
import weaver.formmode.recruit.modeexpand.util.ApplicantCommonInfo;
import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil;
import weaver.formmode.setup.ModeRightInfo;
import weaver.general.BaseBean;
import weaver.general.Util;
@ -76,6 +78,18 @@ public class SingleAddDeptScreeningModeExpand extends AbstractModeExpandJavaCode
refreshRight(rs, uuid, formModeId);
}
}
// 发送待办消息
String messageType = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_TYPE");
String messageTitle = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_TITLE");
String linkUrl = RecruitModeUtil.getRecruitPropValue("SCREENING_MESSAGE_URL");
String fkr = Util.null2String(dataMap.get("fkr"));
String applicantName = ApplicantCommonInfo.getApplicantName(Util.null2String(param.get("ypz")));
String applicantPosition = ApplicantCommonInfo.getApplicantPosition(Util.null2String(param.get("ypzw")));
String messageContent = user.getLastname() + "给你发来简历进行筛选,请查看。<br/>" +
"【应聘者:" + applicantName + ",应聘职位:" + applicantPosition + "";
Set<String> userIdSet = new HashSet<>(Arrays.asList(fkr.split(",")));
RecruitModeUtil.messagePush(messageType, messageTitle, messageContent, userIdSet, user.getUID(), linkUrl, "");
}
} catch (Exception e) {
new BaseBean().writeLog(e);

View File

@ -12,7 +12,6 @@ import weaver.general.Util;
import weaver.hrm.User;
import weaver.soa.workflow.request.*;
import java.io.UnsupportedEncodingException;
import java.util.*;
/**
@ -36,9 +35,9 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
*/
private final String title;
public BatchAddInterviewResultModeExpand() throws UnsupportedEncodingException {
public BatchAddInterviewResultModeExpand() {
super();
messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_ADD_MESSAGE_TITLE");
}
@ -188,7 +187,6 @@ public class BatchAddInterviewResultModeExpand extends AbstractModeExpandJavaCod
}
/**
* 获取应聘者信息
*

View File

@ -61,7 +61,7 @@ public class CreateInterviewModeExpand extends AbstractModeExpandJavaCodeNew {
InterviewOperateTypeEnum operateTypeEnum = InterviewOperateTypeEnum.getOperateType(operateType);
switch (operateTypeEnum) {
case ARRANGE:
messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_ADD_MESSAGE_TITLE");
arrangeInterview(user, mainDataMap);
default:

View File

@ -63,13 +63,13 @@ public class UpdateInterviewModeExpand extends AbstractModeExpandJavaCodeNew {
switch (operateTypeEnum) {
case EVALUATE:
// 面试评价
messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_EVALUATE_MESSAGE_TITLE");
evaluateInterview(params, requestInfo.getCreatorid(), mainDataMap);
break;
case CANCEL:
// 面试取消
messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE");
messageType = RecruitModeUtil.getRecruitPropValue("INTERVIEW_MESSAGE_TYPE");
title = RecruitModeUtil.getRecruitPropValue("INTERVIEW_CANCEL_MESSAGE_TITLE");
cancelInterView(params, requestInfo, billId, mainDataMap);
break;

View File

@ -38,9 +38,22 @@ public class RecruitModeUtil {
* @param creater 消息创建者
*/
public static void messagePush(String messageType, String title, String context, Set<String> userIdList, Integer creater) {
messagePush(messageType, title, context, userIdList, creater, "", "");
}
/**
* @param messageType 消息来源
* @param title 消息标题
* @param context 消息内容
* @param userIdList 接收人ID集合
* @param creater 消息创建者
* @param linkUrl 待办跳转地址
* @param linkMobileUrl 移动端跳转地址
*/
public static void messagePush(String messageType, String title, String context, Set<String> userIdList, Integer creater, String linkUrl, String linkMobileUrl) {
MessageType message = MessageType.newInstance(Integer.parseInt(messageType));
try {
MessageBean messageBean = Util_Message.createMessage(message, userIdList, title, context, "", "");
MessageBean messageBean = Util_Message.createMessage(message, userIdList, title, context, linkUrl, linkMobileUrl);
messageBean.setCreater(creater);
Util_Message.store(messageBean);
} catch (IOException e) {