package com.engine.recruit.service.impl; import com.engine.common.util.ServiceUtil; import com.engine.core.impl.Service; import com.engine.recruit.entity.record.ApplicantRecordPo; import com.engine.recruit.enums.ApplicationStatusEnum; import com.engine.recruit.enums.RecordOperateEnum; import com.engine.recruit.service.RecruitButtonService; import weaver.common.DateUtil; import weaver.conn.RecordSet; import com.engine.recruit.conn.ApplicantCommonInfo; import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; import weaver.general.Util; import java.util.Arrays; import java.util.HashSet; import java.util.Map; import java.util.Set; /** *

聚才林招聘

* "加入黑名单"按钮实现类 * * @author:dxfeng * @createTime: 2023/09/18 * @version: 1.0 */ public class JoinBlacklistServiceImpl extends Service implements RecruitButtonService { @Override public Map execute(Map params) { // 当前应聘者ID String billId = Util.null2String(params.get("billId")); RecordSet rs = new RecordSet(); // 推人才表,建模推建模(更新人才表数据),是否加入黑名单字段值变更为“是” ServiceUtil.getService(ApplicantResumeServiceImpl.class, user).archiveTalentPool(billId, true,"16"); // 更新当前应聘者关联的所有简历状态为已淘汰 String name = ""; String mobile = ""; String positionId = ""; rs.executeQuery("select xm, sjhm, ypzw from uf_jcl_yppc where id = ? ", billId); if (rs.next()) { name = rs.getString("xm"); mobile = rs.getString("sjhm"); positionId = rs.getString("ypzw"); } // 更新当前应聘者关联的所有简历状态为已淘汰 rs.executeUpdate("update uf_jcl_yppc set zt = ? where xm = ? and sjhm = ?", ApplicationStatusEnum.OBSOLETE.getValue(), name, mobile); ApplicantRecordPo recordPo = ApplicantRecordPo.builder() .billId(String.valueOf(billId)) .operateTime(DateUtil.getDateTime()) .user(user) .recordOperateType(RecordOperateEnum.JOIN_BLACKLIST) .build(); recordPo.execute(); // 消息提醒当前人员简历的跟进者(应聘职位的负责人/协助人) String messageType = RecruitModeUtil.getRecruitPropValue("RECRUIT_MESSAGE_TYPE"); String messageTitle = RecruitModeUtil.getRecruitPropValue("JOIN_BLACKLIST_MESSAGE_TITLE"); String applicantName = ApplicantCommonInfo.getApplicantName(billId); String operatorName = RecruitModeUtil.getResourceNames(String.valueOf(user.getUID())); String messageContent = "应聘者:【" + applicantName + "】,已被【" + operatorName + "】加入黑名单,相关投递已自动淘汰,请知悉。"; // 消息提醒当前人员简历的跟进者(应聘职位的负责人/协助人) String zpzwfzr = ""; String zpxzr = ""; rs.executeQuery("select zpzwfzr , zpxzr from uf_jcl_zp_zpzw where id = ?", positionId); if (rs.next()) { zpzwfzr = rs.getString("zpzwfzr"); zpxzr = rs.getString("zpxzr"); } Set userIdSet = new HashSet<>(); userIdSet.addAll(Arrays.asList(zpzwfzr.split(","))); userIdSet.addAll(Arrays.asList(zpxzr.split(","))); RecruitModeUtil.messagePush(messageType, messageTitle, messageContent, userIdSet, user.getUID()); return null; } }