ADD-职位发布、添加驻外相关字段、添加共享人字段

This commit is contained in:
dxfeng 2024-05-27 17:37:52 +08:00
parent 415b57e732
commit 1887b0fdd1
9 changed files with 360 additions and 64 deletions

View File

@ -0,0 +1,200 @@
package com.engine.recruit.entity.position;
import com.alibaba.fastjson.JSON;
import com.engine.recruit.exception.CustomizeRunTimeException;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeJobDynamicField;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import weaver.formmode.recruit.modeexpand.util.RecruitPositionUtil;
import weaver.general.BaseBean;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author:dxfeng
* @createTime: 2024/05/27
* @version: 1.0
*/
public class PositionSdkInstance {
private ERPAResumeSDKClient resumeSDKClient;
// 职位类型
private List<ResumeJobDynamicField.Item> boss_type;
private List<ResumeJobDynamicField.Item> liepin_type;
private List<ResumeJobDynamicField.Item> lagou_type;
private List<ResumeJobDynamicField.Item> job51_type;
private List<ResumeJobDynamicField.Item> zhilian_type;
// BOSS直聘 是否外驻
private List<ResumeJobDynamicField.Item> boss_resident;
private List<ResumeJobDynamicField.Item> boss_resident_country;
private List<ResumeJobDynamicField.Item> boss_resident_language;
private List<ResumeJobDynamicField.Item> boss_resident_time;
private List<ResumeJobDynamicField.Item> boss_resident_time_2;
// 前程无忧-发布城市
private List<ResumeJobDynamicField.Item> job51_city;
// 前程无忧-所属行业
private List<ResumeJobDynamicField.Item> job51_industry;
private static volatile PositionSdkInstance positionSdkInstance;
private PositionSdkInstance() {
}
public static PositionSdkInstance getPositionSdkInstance() {
if (positionSdkInstance == null) {
synchronized (PositionSdkInstance.class) {
if (positionSdkInstance == null) {
ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient();
if (!RecruitPositionUtil.checkAvailable(client)) {
throw new CustomizeRunTimeException("checkAvailable失败千里聆SDK不可用");
}
ResumeJobDynamicField resumeJobDynamicField = client.getResumeJobDynamicField();
positionSdkInstance = new PositionSdkInstance();
positionSdkInstance.setResumeSDKClient(client);
client.addResumeSavedListener(resumeMqMessage -> {
// 处理获取到的简历信息
new BaseBean().writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
//Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
//thread.start();
});
client.start();
positionSdkInstance.setBoss_resident(resumeJobDynamicField.getBoss_resident());
// 去除千里聆返回的重复数据
List<ResumeJobDynamicField.Item> boss_resident_country1 = resumeJobDynamicField.getBoss_resident_country();
List<ResumeJobDynamicField.Item> collect = new ArrayList<>(boss_resident_country1.stream()
.collect(Collectors.toMap(
ResumeJobDynamicField.Item::getValue,
item -> item,
(existing, replacement) -> existing
))
.values());
positionSdkInstance.setBoss_resident_country(collect);
positionSdkInstance.setBoss_resident_language(resumeJobDynamicField.getBoss_resident_language());
positionSdkInstance.setBoss_resident_time_2(resumeJobDynamicField.getBoss_resident_time_2());
positionSdkInstance.setBoss_resident_time(resumeJobDynamicField.getBoss_resident_time());
positionSdkInstance.setJob51_city(resumeJobDynamicField.getJob51_city());
positionSdkInstance.setJob51_industry(resumeJobDynamicField.getJob51_industry_txt());
positionSdkInstance.setBoss_type(resumeJobDynamicField.getBoss_type());
positionSdkInstance.setLiepin_type(resumeJobDynamicField.getLiepin_type());
positionSdkInstance.setLagou_type(resumeJobDynamicField.getLagou_type());
positionSdkInstance.setJob51_type(resumeJobDynamicField.getJob51_type());
positionSdkInstance.setZhilian_type(resumeJobDynamicField.getZhilian_type());
}
}
}
return positionSdkInstance;
}
public ERPAResumeSDKClient getResumeSDKClient() {
return resumeSDKClient;
}
public void setResumeSDKClient(ERPAResumeSDKClient resumeSDKClient) {
this.resumeSDKClient = resumeSDKClient;
}
public List<ResumeJobDynamicField.Item> getBoss_type() {
return boss_type;
}
public void setBoss_type(List<ResumeJobDynamicField.Item> boss_type) {
this.boss_type = boss_type;
}
public List<ResumeJobDynamicField.Item> getLiepin_type() {
return liepin_type;
}
public void setLiepin_type(List<ResumeJobDynamicField.Item> liepin_type) {
this.liepin_type = liepin_type;
}
public List<ResumeJobDynamicField.Item> getLagou_type() {
return lagou_type;
}
public void setLagou_type(List<ResumeJobDynamicField.Item> lagou_type) {
this.lagou_type = lagou_type;
}
public List<ResumeJobDynamicField.Item> getJob51_type() {
return job51_type;
}
public void setJob51_type(List<ResumeJobDynamicField.Item> job51_type) {
this.job51_type = job51_type;
}
public List<ResumeJobDynamicField.Item> getZhilian_type() {
return zhilian_type;
}
public void setZhilian_type(List<ResumeJobDynamicField.Item> zhilian_type) {
this.zhilian_type = zhilian_type;
}
public List<ResumeJobDynamicField.Item> getBoss_resident() {
return boss_resident;
}
public void setBoss_resident(List<ResumeJobDynamicField.Item> boss_resident) {
this.boss_resident = boss_resident;
}
public List<ResumeJobDynamicField.Item> getBoss_resident_country() {
return boss_resident_country;
}
public void setBoss_resident_country(List<ResumeJobDynamicField.Item> boss_resident_country) {
this.boss_resident_country = boss_resident_country;
}
public List<ResumeJobDynamicField.Item> getBoss_resident_language() {
return boss_resident_language;
}
public void setBoss_resident_language(List<ResumeJobDynamicField.Item> boss_resident_language) {
this.boss_resident_language = boss_resident_language;
}
public List<ResumeJobDynamicField.Item> getBoss_resident_time() {
return boss_resident_time;
}
public void setBoss_resident_time(List<ResumeJobDynamicField.Item> boss_resident_time) {
this.boss_resident_time = boss_resident_time;
}
public List<ResumeJobDynamicField.Item> getBoss_resident_time_2() {
return boss_resident_time_2;
}
public void setBoss_resident_time_2(List<ResumeJobDynamicField.Item> boss_resident_time_2) {
this.boss_resident_time_2 = boss_resident_time_2;
}
public List<ResumeJobDynamicField.Item> getJob51_city() {
return job51_city;
}
public void setJob51_city(List<ResumeJobDynamicField.Item> job51_city) {
this.job51_city = job51_city;
}
public List<ResumeJobDynamicField.Item> getJob51_industry() {
return job51_industry;
}
public void setJob51_industry(List<ResumeJobDynamicField.Item> job51_industry) {
this.job51_industry = job51_industry;
}
}

View File

@ -0,0 +1,51 @@
package com.engine.recruit.entity.position;
import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeJobDynamicField;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.*;
import java.util.stream.Collectors;
/**
* 千里聆职位动态字段转换为多选下拉框数据格式
*
* @author:dxfeng
* @createTime: 2024/05/22
* @version: 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PositionSelectItem {
private String key;
private String showname;
private boolean selected;
public static Set<PositionSelectItem> convertDynamicFieldItem(List<ResumeJobDynamicField.Item> dynamicFieldItemList) {
Set<PositionSelectItem> list = new LinkedHashSet<>();
for (ResumeJobDynamicField.Item item : dynamicFieldItemList) {
PositionSelectItem positionSelectItem = new PositionSelectItem();
positionSelectItem.setShowname(item.getLabel());
try {
double parseDouble = Double.parseDouble(item.getValue());
positionSelectItem.setKey(String.valueOf((int) parseDouble));
} catch (Exception e) {
positionSelectItem.setKey(item.getValue());
}
list.add(positionSelectItem);
}
return list;
}
public static ResumeJobDynamicField.Item getItemByValue(List<ResumeJobDynamicField.Item> dynamicFieldItemList, String value) {
return dynamicFieldItemList.stream().filter(item -> (String.valueOf((int) Double.parseDouble(item.getValue())).equals(value))).findFirst().orElse(null);
}
public static List<ResumeJobDynamicField.Item> getItemsByValues(List<ResumeJobDynamicField.Item> dynamicFieldItemList, String value) {
String[] split = value.split(",");
List<String> valueList = Arrays.asList(split);
return dynamicFieldItemList.stream().filter(item -> valueList.contains(String.valueOf((int) Double.parseDouble(item.getValue())))).distinct().collect(Collectors.toList());
}
}

View File

@ -1,11 +1,11 @@
package com.engine.recruit.service.impl;
import com.engine.core.impl.Service;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.engine.recruit.entity.position.PositionSelectItem;
import com.engine.recruit.exception.CustomizeRunTimeException;
import com.engine.recruit.service.RecruitPositionService;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeJobDynamicField;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.Util;
@ -46,22 +46,27 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
String selectValue = Util.null2String(param.get("selectValue"));
ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient();
ResumeJobDynamicField resumeJobDynamicField = client.getResumeJobDynamicField();
PositionSdkInstance positionSdkInstance = PositionSdkInstance.getPositionSdkInstance();
// 获取职位类别表单
if ("positionType".equals(conditionType)) {
String dsfqd = Util.null2String(param.get("dsfqd"));
getPositionType(dsfqd, selectValue, apidatas, resumeJobDynamicField);
getPositionType(dsfqd, selectValue, apidatas, positionSdkInstance);
}
// 前程无忧-发布城市
if ("job51City".equals(conditionType)) {
getCityType(selectValue, apidatas, resumeJobDynamicField);
getCityType(selectValue, apidatas, positionSdkInstance);
}
// 前程无忧-所属行业
if ("industryType".equals(conditionType)) {
getIndustryType(selectValue, apidatas, resumeJobDynamicField);
getIndustryType(selectValue, apidatas, positionSdkInstance);
}
// BOSS直聘-是否驻外
if ("multiSelect".equals(conditionType)) {
getMultiSelect(apidatas, positionSdkInstance);
}
return apidatas;
}
@ -72,9 +77,9 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
* @param dsfqd
* @param selectValue
* @param apidatas
* @param resumeJobDynamicField
* @param positionSdkInstance
*/
private void getPositionType(String dsfqd, String selectValue, Map<String, Object> apidatas, ResumeJobDynamicField resumeJobDynamicField) {
private void getPositionType(String dsfqd, String selectValue, Map<String, Object> apidatas, PositionSdkInstance positionSdkInstance) {
String[] split = selectValue.split("#");
Map<String, String> selectValueMap = new HashMap<>();
for (String s : split) {
@ -100,30 +105,30 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
boolean job51Show = false;
boolean zhilianShow = false;
if (dsfqd.contains("0")) {
List<ResumeJobDynamicField.Item> boss_type = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getBoss_type();
List<ResumeJobDynamicField.Item> boss_type = positionSdkInstance.getBoss_type();
apidatas.put("boss", boss_type);
bossShow = true;
}
if (dsfqd.contains("4")) {
List<ResumeJobDynamicField.Item> liepin_type = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getLiepin_type();
List<ResumeJobDynamicField.Item> liepin_type = positionSdkInstance.getLiepin_type();
apidatas.put("liepin", liepin_type);
liepinShow = true;
}
if (dsfqd.contains("3")) {
List<ResumeJobDynamicField.Item> lagou_type = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getLagou_type();
List<ResumeJobDynamicField.Item> lagou_type = positionSdkInstance.getLagou_type();
apidatas.put("lagou", lagou_type);
lagouShow = true;
}
if (dsfqd.contains("2")) {
List<ResumeJobDynamicField.Item> job51_type = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getJob51_type();
List<ResumeJobDynamicField.Item> job51_type = positionSdkInstance.getJob51_type();
apidatas.put("job51", job51_type);
job51Show = true;
}
if (dsfqd.contains("1")) {
List<ResumeJobDynamicField.Item> zhilian_type = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getZhilian_type();
List<ResumeJobDynamicField.Item> zhilian_type = positionSdkInstance.getZhilian_type();
apidatas.put("zhilian", zhilian_type);
zhilianShow = true;
}
@ -139,16 +144,16 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
*
* @param selectValue
* @param apidatas
* @param resumeJobDynamicField
* @param positionSdkInstance
*/
private void getCityType(String selectValue, Map<String, Object> apidatas, ResumeJobDynamicField resumeJobDynamicField) {
private void getCityType(String selectValue, Map<String, Object> apidatas, PositionSdkInstance positionSdkInstance) {
List<String> valueList = new ArrayList<>();
if (StringUtils.isNotBlank(selectValue)) {
String[] split = selectValue.split(",");
valueList = Arrays.asList(split);
}
List<ResumeJobDynamicField.Item> job51_city = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getJob51_city();
List<ResumeJobDynamicField.Item> job51_city = positionSdkInstance.getJob51_city();
apidatas.put("job51_city", job51_city);
apidatas.put("job51CityValue", valueList);
}
@ -158,9 +163,9 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
*
* @param selectValue
* @param apidatas
* @param resumeJobDynamicField
* @param positionSdkInstance
*/
private void getIndustryType(String selectValue, Map<String, Object> apidatas, ResumeJobDynamicField resumeJobDynamicField) {
private void getIndustryType(String selectValue, Map<String, Object> apidatas, PositionSdkInstance positionSdkInstance) {
List<List<String>> valueList = new ArrayList<>();
if (StringUtils.isNotBlank(selectValue)) {
String[] split = selectValue.split("#");
@ -170,8 +175,24 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi
}
}
List<ResumeJobDynamicField.Item> job51_industry = (List<ResumeJobDynamicField.Item>) resumeJobDynamicField.getJob51_industry_txt();
List<ResumeJobDynamicField.Item> job51_industry = positionSdkInstance.getJob51_industry();
apidatas.put("job51_industry", job51_industry);
apidatas.put("job51IndustryValue", valueList);
}
/**
* 获取招聘职位多线下拉框字段信息
*
* @param apidatas
* @param positionSdkInstance
*/
private void getMultiSelect(Map<String, Object> apidatas, PositionSdkInstance positionSdkInstance) {
apidatas.put("boss_resident", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getBoss_resident()));
apidatas.put("boss_resident_country", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getBoss_resident_country()));
apidatas.put("boss_resident_language", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getBoss_resident_language()));
apidatas.put("boss_resident_time", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getBoss_resident_time()));
apidatas.put("boss_resident_time_2", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getBoss_resident_time_2()));
apidatas.put("job51_city", PositionSelectItem.convertDynamicFieldItem(positionSdkInstance.getJob51_city()));
}
}

View File

@ -2,11 +2,11 @@ package com.engine.recruit.service.impl;
import com.engine.core.impl.Service;
import com.engine.recruit.conn.RecruitRecordSet;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.engine.recruit.exception.CustomizeRunTimeException;
import com.engine.recruit.service.RpaJclService;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeEmailSetting;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import weaver.conn.RecordSet;
import weaver.general.Util;
@ -26,7 +26,7 @@ public class RpaJclServiceImpl extends Service implements RpaJclService {
rs.executeQuery("select * from uf_jcl_qllyxpz where id = ? ", billId);
Map<String, Object> dataMap = RecruitRecordSet.getSingleRecordMap(rs);
ERPAResumeSDKClient resumeSDKClient = ERPASDKClients.getResumeSDKClient();
ERPAResumeSDKClient resumeSDKClient = PositionSdkInstance.getPositionSdkInstance().getResumeSDKClient();
String userId = Util.null2String(dataMap.get("szr"));
String status = Util.null2String(dataMap.get("zt"));
String server = Util.null2String(dataMap.get("yjjsfwq"));

View File

@ -7,11 +7,11 @@ import com.engine.recruit.conn.CheckRepeatResume;
import com.engine.recruit.conn.PositionCommonInfo;
import com.engine.recruit.conn.RecruitDataMap;
import com.engine.recruit.constant.RecruitConstant;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.engine.recruit.enums.ApplicationStatusEnum;
import com.engine.recruit.enums.CommonBrowserTypeEnum;
import com.engine.recruit.enums.HighestDegreeEnum;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import com.weaver.util.threadPool.entity.LocalRunnable;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
@ -212,15 +212,7 @@ public class SdkResumeSavedThread extends LocalRunnable {
BaseBean baseBean = new BaseBean();
baseBean.writeLog("解析千里聆SDK原始简历resumeFileId===" + resumeFileId);
List<Integer> docIdList = new ArrayList<>();
ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient();
// 在启动监听前需要配置好简历接收回调
client.addResumeSavedListener(resumeMqMessage -> {
// 处理获取到的简历信息
baseBean.writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
thread.start();
});
client.start();
ERPAResumeSDKClient client = PositionSdkInstance.getPositionSdkInstance().getResumeSDKClient();
client.downloadResumeFile(resumeFileId, (fileName, stream) -> {
try {
baseBean.writeLog("解析千里聆SDK原始简历fileName===" + fileName);

View File

@ -1,9 +1,7 @@
package weaver.formmode.recruit.modeexpand.position;
import com.alibaba.fastjson.JSON;
import com.engine.recruit.thread.SdkResumeSavedThread;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import com.weaver.rpa.sdk.clients.core.entity.SDKCore;
import com.weaver.rpa.sdk.clients.core.utils.ERPASDKInitUtils;
import org.apache.commons.lang3.StringUtils;
@ -57,15 +55,16 @@ public class ClosePositionModeExpand extends AbstractModeExpandJavaCodeNew {
return resultMap;
}
long jobId = Long.parseLong(qllgwid);
ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient();
// 在启动监听前需要配置好简历接收回调
client.addResumeSavedListener(resumeMqMessage -> {
// 处理获取到的简历信息
baseBean.writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
thread.start();
});
client.start();
ERPAResumeSDKClient client = PositionSdkInstance.getPositionSdkInstance().getResumeSDKClient();
//// 在启动监听前需要配置好简历接收回调
//client.addResumeSavedListener(resumeMqMessage -> {
// // 处理获取到的简历信息
// baseBean.writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
// Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
// thread.start();
//});
//client.start();
String userId = String.valueOf(user.getUID());
ResumeTaskResult result = client.closeResumeJob(userId, jobId);
String errorMsg = "";

View File

@ -1,10 +1,9 @@
package weaver.formmode.recruit.modeexpand.position;
import com.alibaba.fastjson.JSON;
import com.engine.recruit.thread.SdkResumeSavedThread;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeJobV2Dto;
import com.weaver.rpa.sdk.clients.core.ERPASDKClients;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import weaver.conn.RecordSet;
@ -54,7 +53,7 @@ public class ReleasePositionModeExpand extends AbstractModeExpandJavaCodeNew {
jobId = Long.parseLong(qllgwid);
}
}
ERPAResumeSDKClient client = ERPASDKClients.getResumeSDKClient();
ERPAResumeSDKClient client = PositionSdkInstance.getPositionSdkInstance().getResumeSDKClient();
Map<String, Object> map = new HashMap<>(16);
MainTableInfo mainTableInfo = requestInfo.getMainTableInfo();
Property[] properties = mainTableInfo.getProperty();
@ -63,12 +62,12 @@ public class ReleasePositionModeExpand extends AbstractModeExpandJavaCodeNew {
}
ResumeJobV2Dto resumeJobDto = RecruitPositionUtil.convertMap2ResumeJobV2Dto(user,map);
// 发布千里聆职位
if (!RecruitPositionUtil.checkAvailable(client)) {
baseBean.writeLog("千里聆未开通简历应用。");
resultMap.put("errmsg", "千里聆未开通简历应用。");
resultMap.put("flag", "false");
return resultMap;
}
//if (!RecruitPositionUtil.checkAvailable(client)) {
// baseBean.writeLog("千里聆未开通简历应用。");
// resultMap.put("errmsg", "千里聆未开通简历应用。");
// resultMap.put("flag", "false");
// return resultMap;
//}
String userId = String.valueOf(user.getUID());
// 未创建职位则先创建职位
if (jobId == -1) {
@ -87,16 +86,16 @@ public class ReleasePositionModeExpand extends AbstractModeExpandJavaCodeNew {
});
}
// 在启动监听前需要配置好简历接收回调
client.addResumeSavedListener(resumeMqMessage -> {
// 处理获取到的简历信息
baseBean.writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
thread.start();
});
client.start();
//// 在启动监听前需要配置好简历接收回调
//client.addResumeSavedListener(resumeMqMessage -> {
// // 处理获取到的简历信息
// baseBean.writeLog("【简历接收回调】:" + JSON.toJSONString(resumeMqMessage));
// Thread thread = new Thread(new SdkResumeSavedThread(resumeMqMessage));
// thread.start();
//});
//
//
//client.start();
List<Integer> platformIds;
platformIds = resumeJobDto.getPlatformList();
String errorMsg = "";

View File

@ -4,6 +4,8 @@ import cn.hutool.core.convert.Convert;
import com.alibaba.fastjson.JSON;
import com.engine.recruit.conn.ApplicantCommonInfo;
import com.engine.recruit.conn.ModeBrowserCommonInfo;
import com.engine.recruit.entity.position.PositionSdkInstance;
import com.engine.recruit.entity.position.PositionSelectItem;
import com.engine.recruit.enums.PositionThirdChannelEnum;
import com.engine.recruit.exception.CustomizeRunTimeException;
import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient;
@ -322,6 +324,37 @@ public class RecruitPositionUtil {
}
resumeJobV2Dto.setZwfl(zwflList);
PositionSdkInstance positionSdkInstance = PositionSdkInstance.getPositionSdkInstance();
// 是否驻外
String sfzw = Util.null2String(map.get("sfzw"));
resumeJobV2Dto.setBossResident(PositionSelectItem.getItemByValue(positionSdkInstance.getBoss_resident(), sfzw));
if (!"3".equals(sfzw)) {
// 驻外国家或地区
String zwgjhdq = Util.null2String(map.get("zwgjhdq"));
resumeJobV2Dto.setBossResidentCountry(PositionSelectItem.getItemsByValues(positionSdkInstance.getBoss_resident_country(), zwgjhdq));
// 驻外语言要求
String zwyyyq = Util.null2String(map.get("zwyyyq"));
resumeJobV2Dto.setBossResidentLanguage(PositionSelectItem.getItemsByValues(positionSdkInstance.getBoss_resident_language(), zwyyyq));
// 驻外时长
String zwsc = Util.null2String(map.get("zwsc"));
if ("1".equals(sfzw)) {
resumeJobV2Dto.setBossResidentTime(PositionSelectItem.getItemByValue(positionSdkInstance.getBoss_resident_time(), zwsc));
} else {
resumeJobV2Dto.setBossResidentTime(PositionSelectItem.getItemByValue(positionSdkInstance.getBoss_resident_time_2(), zwsc));
}
}
String zpzwfzr = Util.null2String(map.get("zpzwfzr"));
String zpxzr = Util.null2String(map.get("zpxzr"));
List<String> userList = new ArrayList<>();
if (StringUtils.isNotBlank(zpzwfzr)) {
userList.addAll(Arrays.asList(zpzwfzr.split(",")));
}
if (StringUtils.isNotBlank(zpxzr)) {
userList.addAll(Arrays.asList(zpxzr.split(",")));
}
resumeJobV2Dto.setShareThirdUserList(userList);
return resumeJobV2Dto;
}
@ -408,7 +441,8 @@ public class RecruitPositionUtil {
}
public static boolean checkAvailable(ERPAResumeSDKClient client) {
HttpClientUtils.setTimeout(10000);//默认10秒
//默认10秒
HttpClientUtils.setTimeout(10000);
if (client == null || !client.available()) {
new BaseBean().writeLog("checkAvailableclient=" + JSON.toJSONString(client));
return false;