generated from dxfeng/secondev-chapanda-feishu
ADD-职位发布、添加驻外相关字段、添加共享人字段
This commit is contained in:
parent
415b57e732
commit
1887b0fdd1
Binary file not shown.
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 = "";
|
||||
|
|
|
|||
|
|
@ -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 = "";
|
||||
|
|
|
|||
|
|
@ -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("checkAvailable!client=" + JSON.toJSONString(client));
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue