陕西建工---智联招聘对接;校招,社招。

main
howec 2 years ago
parent deb08987af
commit 04410771e1

@ -0,0 +1,106 @@
package com.weaver.recruit.entity;
import com.weaver.recruit.enums.BooleanEnum;
import com.weaver.recruit.enums.CadreNameEnum;
import com.weaver.recruit.enums.CadreRankEnum;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/19
* @description:
*/
public class RecruitAwardExpObj implements Serializable {
private static final long serialVersionUID = 8086695384387011716L;
//是否学生干部0-否,1-是
@ApiModelProperty("是否学生干部")
private BooleanEnum studentLeader;
//干部级别0-团委,1-校学生会,2-院学生会,3-学生社团,4-班级
@ApiModelProperty("干部级别")
private CadreRankEnum cadreRank;
//干部名称(给数字)0-主席,1-副主席,2-主席助理,3-秘书长,4-书记,5-社长,6-部长,7-班长,8-干事,9-其他
@ApiModelProperty("干部名称")
private CadreNameEnum cadreName;
//开始时间yyyy-MM-dd
@ApiModelProperty("开始时间")
private String startDate;
//结束时间yyyy-MM-dd
@ApiModelProperty("结束时间")
private String endDate;
//受到奖励
@ApiModelProperty("受到奖励")
private String awarded;
//专业资格证书
@ApiModelProperty("专业资格证书")
private String credentials;
//校内活动
@ApiModelProperty("校内活动")
private String schoolActivities;
public BooleanEnum getStudentLeader() {
return studentLeader;
}
public void setStudentLeader(BooleanEnum studentLeader) {
this.studentLeader = studentLeader;
}
public CadreRankEnum getCadreRank() {
return cadreRank;
}
public void setCadreRank(CadreRankEnum cadreRank) {
this.cadreRank = cadreRank;
}
public CadreNameEnum getCadreName() {
return cadreName;
}
public void setCadreName(CadreNameEnum cadreName) {
this.cadreName = cadreName;
}
public String getStartDate() {
return startDate;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getAwarded() {
return awarded;
}
public void setAwarded(String awarded) {
this.awarded = awarded;
}
public String getCredentials() {
return credentials;
}
public void setCredentials(String credentials) {
this.credentials = credentials;
}
public String getSchoolActivities() {
return schoolActivities;
}
public void setSchoolActivities(String schoolActivities) {
this.schoolActivities = schoolActivities;
}
}

@ -0,0 +1,139 @@
package com.weaver.recruit.entity;
import com.weaver.recruit.enums.BooleanEnum;
import com.weaver.recruit.enums.DegreeEnum;
import com.weaver.recruit.enums.EducationTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/18
* @description:
*/
public class RecruitEduExpObj implements Serializable {
private static final long serialVersionUID = 3777759458061614452L;
//学校名称
@ApiModelProperty("学校名称")
private String school;
//入学时间yyyy-MM-dd
@ApiModelProperty("入学时间")
private String studyDate0;
//毕业时间yyyy-MM-dd
@ApiModelProperty("毕业时间")
private String studyDate1;
//受教育类型0-全日制统分招聘,1-海外留学,2-成人教育,3-定向,4-非定向,5-委培,6-自费,7-其他
@ApiModelProperty("受教育类型")
private EducationTypeEnum educationType;
//学历(给中文):本科,硕士,博士,大专,高中,中专/中技,初中及以下,其他,不限
@ApiModelProperty("学历")
private String eduEducation;
//学位0-博士,1-MBA,2-硕士,3-双学士,4-学士,5-其他,6-无
@ApiModelProperty("学位")
private DegreeEnum degree;
//研究方向
@ApiModelProperty("研究方向")
private String researchDirection;
//院系
@ApiModelProperty("院系")
private String faculty;
//专业名称
@ApiModelProperty("专业名称")
private String eduMajor;
//专业课程
@ApiModelProperty("专业课程")
private String majorCourses;
//海外工作/学历经历0-否,1-是
@ApiModelProperty("海外工作/学历经历")
private BooleanEnum overseasExperience;
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
public String getStudyDate0() {
return studyDate0;
}
public void setStudyDate0(String studyDate0) {
this.studyDate0 = studyDate0;
}
public String getStudyDate1() {
return studyDate1;
}
public void setStudyDate1(String studyDate1) {
this.studyDate1 = studyDate1;
}
public EducationTypeEnum getEducationType() {
return educationType;
}
public void setEducationType(EducationTypeEnum educationType) {
this.educationType = educationType;
}
public String getEduEducation() {
return eduEducation;
}
public void setEduEducation(String eduEducation) {
this.eduEducation = eduEducation;
}
public DegreeEnum getDegree() {
return degree;
}
public void setDegree(DegreeEnum degree) {
this.degree = degree;
}
public String getResearchDirection() {
return researchDirection;
}
public void setResearchDirection(String researchDirection) {
this.researchDirection = researchDirection;
}
public String getFaculty() {
return faculty;
}
public void setFaculty(String faculty) {
this.faculty = faculty;
}
public String getEduMajor() {
return eduMajor;
}
public void setEduMajor(String eduMajor) {
this.eduMajor = eduMajor;
}
public String getMajorCourses() {
return majorCourses;
}
public void setMajorCourses(String majorCourses) {
this.majorCourses = majorCourses;
}
public BooleanEnum getOverseasExperience() {
return overseasExperience;
}
public void setOverseasExperience(BooleanEnum overseasExperience) {
this.overseasExperience = overseasExperience;
}
}

@ -0,0 +1,49 @@
package com.weaver.recruit.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.InputStream;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/25
* @description:
*/
public class RecruitFileObj implements Serializable {
private static final long serialVersionUID = -5640565905520711005L;
//文件流
@ApiModelProperty("文件流")
private InputStream inputStream;
//文件后缀名
@ApiModelProperty("文件后缀名")
private String extName;
//附件名
@ApiModelProperty("附件名")
private String fileName;
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public String getExtName() {
return extName;
}
public void setExtName(String extName) {
this.extName = extName;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
}

@ -0,0 +1,59 @@
package com.weaver.recruit.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/19
* @description:
*/
public class RecruitJtgxObj implements Serializable {
private static final long serialVersionUID = -7947025861540179649L;
//亲属姓名
@ApiModelProperty("亲属姓名")
private String relativesName;
//亲属关系
@ApiModelProperty("亲属关系")
private String kinship;
//亲属工作单位
@ApiModelProperty("亲属工作单位")
private String relativesWork;
//亲属职位
@ApiModelProperty("亲属职位")
private String relativesPosition;
public String getRelativesName() {
return relativesName;
}
public void setRelativesName(String relativesName) {
this.relativesName = relativesName;
}
public String getKinship() {
return kinship;
}
public void setKinship(String kinship) {
this.kinship = kinship;
}
public String getRelativesWork() {
return relativesWork;
}
public void setRelativesWork(String relativesWork) {
this.relativesWork = relativesWork;
}
public String getRelativesPosition() {
return relativesPosition;
}
public void setRelativesPosition(String relativesPosition) {
this.relativesPosition = relativesPosition;
}
}

@ -0,0 +1,49 @@
package com.weaver.recruit.entity;
import com.weaver.recruit.enums.AbilityEnum;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/19
* @description:
*/
public class RecruitLanguageSkillObj implements Serializable {
private static final long serialVersionUID = -400072739456492098L;
//语言类型
@ApiModelProperty("语言类型")
private String languageType;
//听说能力840812592208560134-一般,840812592208560133-良好,840812592208560132-熟练,840812592208560130-精通
@ApiModelProperty("听说能力")
private AbilityEnum lsAbility;
//读写能力840812592208560134-一般,840812592208560133-良好,840812592208560132-熟练,840812592208560130-精通
@ApiModelProperty("读写能力")
private AbilityEnum literacy;
public String getLanguageType() {
return languageType;
}
public void setLanguageType(String languageType) {
this.languageType = languageType;
}
public AbilityEnum getLsAbility() {
return lsAbility;
}
public void setLsAbility(AbilityEnum lsAbility) {
this.lsAbility = lsAbility;
}
public AbilityEnum getLiteracy() {
return literacy;
}
public void setLiteracy(AbilityEnum literacy) {
this.literacy = literacy;
}
}

@ -0,0 +1,81 @@
package com.weaver.recruit.entity;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/18
* @description:
*/
public class RecruitProjectExpObj implements Serializable {
private static final long serialVersionUID = 5189605766194953108L;
//项目名称
@ApiModelProperty("项目名称")
private String pjName;
//开始时间yyyy-MM-dd
@ApiModelProperty("开始时间")
private String pjDate0;
//结束时间yyyy-MM-dd
@ApiModelProperty("结束时间")
private String pjDate1;
//项目描述
@ApiModelProperty("项目描述")
private String pjIntroduction;
//担任角色
@ApiModelProperty("担任角色")
private String pjDuty;
//项目职责
@ApiModelProperty("项目职责")
private String pjRole;
public String getPjName() {
return pjName;
}
public void setPjName(String pjName) {
this.pjName = pjName;
}
public String getPjDate0() {
return pjDate0;
}
public void setPjDate0(String pjDate0) {
this.pjDate0 = pjDate0;
}
public String getPjDate1() {
return pjDate1;
}
public void setPjDate1(String pjDate1) {
this.pjDate1 = pjDate1;
}
public String getPjIntroduction() {
return pjIntroduction;
}
public void setPjIntroduction(String pjIntroduction) {
this.pjIntroduction = pjIntroduction;
}
public String getPjDuty() {
return pjDuty;
}
public void setPjDuty(String pjDuty) {
this.pjDuty = pjDuty;
}
public String getPjRole() {
return pjRole;
}
public void setPjRole(String pjRole) {
this.pjRole = pjRole;
}
}

@ -0,0 +1,82 @@
package com.weaver.recruit.entity;
import com.weaver.recruit.enums.WorkTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
/**
* @author: YH
* @createDate: 2023/9/18
* @description:
*/
public class RecruitSxjlObj implements Serializable {
private static final long serialVersionUID = -1971858435809274749L;
//工作单位
@ApiModelProperty("工作单位")
private String sxCoName;
//入职时间
@ApiModelProperty("入职时间")
private String entryTime;
//工作类型0-全职,1-兼职,2-实习
@ApiModelProperty("工作类型")
private WorkTypeEnum sxWorkType;
//职位月薪(税前):数字,非纯数字请转换或不填
@ApiModelProperty("职位月薪(税前)")
private String sxWorkSalary;
//职务
@ApiModelProperty("职务")
private String positionJob;
//工作描述
@ApiModelProperty("工作描述")
private String jobDescription;
public String getSxCoName() {
return sxCoName;
}
public void setSxCoName(String sxCoName) {
this.sxCoName = sxCoName;
}
public String getEntryTime() {
return entryTime;
}
public void setEntryTime(String entryTime) {
this.entryTime = entryTime;
}
public WorkTypeEnum getSxWorkType() {
return sxWorkType;
}
public void setSxWorkType(WorkTypeEnum sxWorkType) {
this.sxWorkType = sxWorkType;
}
public String getSxWorkSalary() {
return sxWorkSalary;
}
public void setSxWorkSalary(String sxWorkSalary) {
this.sxWorkSalary = sxWorkSalary;
}
public String getPositionJob() {
return positionJob;
}
public void setPositionJob(String positionJob) {
this.positionJob = positionJob;
}
public String getJobDescription() {
return jobDescription;
}
public void setJobDescription(String jobDescription) {
this.jobDescription = jobDescription;
}
}

@ -0,0 +1,381 @@
package com.weaver.recruit.entity;
import com.weaver.recruit.enums.*;
import io.swagger.annotations.ApiModelProperty;
import java.io.InputStream;
import java.io.Serializable;
import java.util.List;
/**
* @author: YH
* @createDate: 2023/9/18
* @description:
*/
public class RecruitTalentObj implements Serializable {
private static final long serialVersionUID = -2549512332086297351L;
//姓名
@ApiModelProperty("姓名")
private String candidateName;
//手机号码
@ApiModelProperty("手机号码")
private String telephone;
//邮箱
@ApiModelProperty("邮箱")
private String email;
//性别(给中文):男,女
@ApiModelProperty("性别")
private String gender;
//证件号码类型0-其他,1-身份证
@ApiModelProperty("证件号码类型")
private CertificateTypeEnum certificateType;
//证件号码
@ApiModelProperty("证件号码")
private String certificateNum;
//出生日期yyyy-MM-dd
@ApiModelProperty("出生日期")
private String birthday;
//健康状况0-健康,1-其他
@ApiModelProperty("健康状况")
private HealthEnum health;
//婚姻状况0-未婚,1-已婚,2-离异,3-保密
@ApiModelProperty("婚姻状况")
private MaritalStatusEnum maritalStatus;
//政治面貌0-团员,1-中共党员(含预备党员),2-民主党派,3-无党派人士,4-群众
@ApiModelProperty("政治面貌")
private PoliticsStatusEnum politicsStatus;
//籍贯
@ApiModelProperty("籍贯")
private String nativePlace;
//出生日期yyyy-MM-dd
@ApiModelProperty("出生日期")
private String graduateDate;
//身高(cm)
@ApiModelProperty("身高(cm)")
private String sgcm;
//体重(kg)
@ApiModelProperty("体重(kg)")
private String weight;
//通信地址
@ApiModelProperty("通信地址")
private String communicationAdr;
//通信地址
@ApiModelProperty("紧急联系电话")
private String emergencyTelephone;
//意向工作地点
@ApiModelProperty("意向工作地点")
private String intendedWorkplace;
//期望薪资(千):数字,非纯数字请转换或不填
@ApiModelProperty("期望薪资(千)")
private String expectSalary;
//自我评价
@ApiModelProperty("自我评价")
private String selfDesc;
//英语等级0-CET4,1-TEM4,2-CET6,3-TEM8,4-未参加
@ApiModelProperty("英语等级")
private EnglishLevelEnum englishLevel;
//英语分数
@ApiModelProperty("英语分数")
private String englishScore;
//其他技能
@ApiModelProperty("其他技能")
private String otherSkills;
//个人爱好
@ApiModelProperty("个人爱好")
private String personalHobby;
//意向职位
@ApiModelProperty("意向职位")
private String intendPosition;
//简历类型
@ApiModelProperty("简历类型")
private ResumeTypeEnum resumeType;
//教育背景
@ApiModelProperty("教育背景")
private List<RecruitEduExpObj> recruitEduExpObjList;
//实习经历
@ApiModelProperty("实习经历")
private List<RecruitSxjlObj> recruitSxjlObjList;
//项目经验
@ApiModelProperty("项目经验")
private List<RecruitProjectExpObj> recruitProjectExpObjList;
//获奖经历
@ApiModelProperty("获奖经历")
private List<RecruitAwardExpObj> recruitAwardExpObjList;
//语言能力
@ApiModelProperty("语言能力")
private List<RecruitLanguageSkillObj> recruitLanguageSkillObjList;
//家庭关系
@ApiModelProperty("家庭关系")
private List<RecruitJtgxObj> recruitJtgxObjList;
//头像
@ApiModelProperty("头像")
private RecruitFileObj avatar;
//原始简历附件
@ApiModelProperty("原始简历附件")
private RecruitFileObj originalResume;
public String getCandidateName() {
return candidateName;
}
public void setCandidateName(String candidateName) {
this.candidateName = candidateName;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public CertificateTypeEnum getCertificateType() {
return certificateType;
}
public void setCertificateType(CertificateTypeEnum certificateType) {
this.certificateType = certificateType;
}
public String getCertificateNum() {
return certificateNum;
}
public void setCertificateNum(String certificateNum) {
this.certificateNum = certificateNum;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public HealthEnum getHealth() {
return health;
}
public void setHealth(HealthEnum health) {
this.health = health;
}
public MaritalStatusEnum getMaritalStatus() {
return maritalStatus;
}
public void setMaritalStatus(MaritalStatusEnum maritalStatus) {
this.maritalStatus = maritalStatus;
}
public PoliticsStatusEnum getPoliticsStatus() {
return politicsStatus;
}
public void setPoliticsStatus(PoliticsStatusEnum politicsStatus) {
this.politicsStatus = politicsStatus;
}
public String getNativePlace() {
return nativePlace;
}
public void setNativePlace(String nativePlace) {
this.nativePlace = nativePlace;
}
public String getGraduateDate() {
return graduateDate;
}
public void setGraduateDate(String graduateDate) {
this.graduateDate = graduateDate;
}
public String getSgcm() {
return sgcm;
}
public void setSgcm(String sgcm) {
this.sgcm = sgcm;
}
public String getWeight() {
return weight;
}
public void setWeight(String weight) {
this.weight = weight;
}
public String getCommunicationAdr() {
return communicationAdr;
}
public void setCommunicationAdr(String communicationAdr) {
this.communicationAdr = communicationAdr;
}
public String getEmergencyTelephone() {
return emergencyTelephone;
}
public void setEmergencyTelephone(String emergencyTelephone) {
this.emergencyTelephone = emergencyTelephone;
}
public String getIntendedWorkplace() {
return intendedWorkplace;
}
public void setIntendedWorkplace(String intendedWorkplace) {
this.intendedWorkplace = intendedWorkplace;
}
public String getExpectSalary() {
return expectSalary;
}
public void setExpectSalary(String expectSalary) {
this.expectSalary = expectSalary;
}
public String getSelfDesc() {
return selfDesc;
}
public void setSelfDesc(String selfDesc) {
this.selfDesc = selfDesc;
}
public EnglishLevelEnum getEnglishLevel() {
return englishLevel;
}
public void setEnglishLevel(EnglishLevelEnum englishLevel) {
this.englishLevel = englishLevel;
}
public String getEnglishScore() {
return englishScore;
}
public void setEnglishScore(String englishScore) {
this.englishScore = englishScore;
}
public String getOtherSkills() {
return otherSkills;
}
public void setOtherSkills(String otherSkills) {
this.otherSkills = otherSkills;
}
public String getPersonalHobby() {
return personalHobby;
}
public void setPersonalHobby(String personalHobby) {
this.personalHobby = personalHobby;
}
public String getIntendPosition() {
return intendPosition;
}
public void setIntendPosition(String intendPosition) {
this.intendPosition = intendPosition;
}
public ResumeTypeEnum getResumeType() {
return resumeType;
}
public void setResumeType(ResumeTypeEnum resumeType) {
this.resumeType = resumeType;
}
public List<RecruitEduExpObj> getRecruitEduExpObjList() {
return recruitEduExpObjList;
}
public void setRecruitEduExpObjList(List<RecruitEduExpObj> recruitEduExpObjList) {
this.recruitEduExpObjList = recruitEduExpObjList;
}
public List<RecruitSxjlObj> getRecruitSxjlObjList() {
return recruitSxjlObjList;
}
public void setRecruitSxjlObjList(List<RecruitSxjlObj> recruitSxjlObjList) {
this.recruitSxjlObjList = recruitSxjlObjList;
}
public List<RecruitProjectExpObj> getRecruitProjectExpObjList() {
return recruitProjectExpObjList;
}
public void setRecruitProjectExpObjList(List<RecruitProjectExpObj> recruitProjectExpObjList) {
this.recruitProjectExpObjList = recruitProjectExpObjList;
}
public List<RecruitAwardExpObj> getRecruitAwardExpObjList() {
return recruitAwardExpObjList;
}
public void setRecruitAwardExpObjList(List<RecruitAwardExpObj> recruitAwardExpObjList) {
this.recruitAwardExpObjList = recruitAwardExpObjList;
}
public List<RecruitLanguageSkillObj> getRecruitLanguageSkillObjList() {
return recruitLanguageSkillObjList;
}
public void setRecruitLanguageSkillObjList(List<RecruitLanguageSkillObj> recruitLanguageSkillObjList) {
this.recruitLanguageSkillObjList = recruitLanguageSkillObjList;
}
public List<RecruitJtgxObj> getRecruitJtgxObjList() {
return recruitJtgxObjList;
}
public void setRecruitJtgxObjList(List<RecruitJtgxObj> recruitJtgxObjList) {
this.recruitJtgxObjList = recruitJtgxObjList;
}
public RecruitFileObj getAvatar() {
return avatar;
}
public void setAvatar(RecruitFileObj avatar) {
this.avatar = avatar;
}
public RecruitFileObj getOriginalResume() {
return originalResume;
}
public void setOriginalResume(RecruitFileObj originalResume) {
this.originalResume = originalResume;
}
}

@ -0,0 +1,40 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/19
* @description:
*/
public enum AbilityEnum {
NORMAL("840812592208560134", "一般"),
GOOD("840812592208560133", "良好"),
PRACTISED("840812592208560132", "熟练"),
PROFICIENT("840812592208560130", "精通");
private final String Key;
private final String Name;
AbilityEnum(String key, String name) {
this.Key = key;
this.Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static AbilityEnum getByName(String name) {
AbilityEnum[] selcTypes = values();
for (AbilityEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,38 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/19
* @description:
*/
public enum BooleanEnum {
TRUE("1", "是"),
FALSE("0", "否");
private final String Key;
private final String Name;
BooleanEnum(String key, String name) {
this.Key = key;
this.Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static BooleanEnum getByName(String name) {
BooleanEnum[] selcTypes = values();
for (BooleanEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,46 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum CadreNameEnum {
ZX("0", "主席"),
FZX("1", "副主席"),
ZXZL("2", "主席助理"),
MSZ("3", "秘书长"),
SJ("4", "书记"),
SZ("5", "社长"),
XSHBZ("6", "部长"),
BZ("7", "班长"),
GS("8", "干事"),
QT("9", "其他");
private final String Key;
private final String Name;
CadreNameEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static CadreNameEnum getByName(String name) {
CadreNameEnum[] selcTypes = values();
for (CadreNameEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,41 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum CadreRankEnum {
TW("0", "团委"),
XXSH("1", "校学生会"),
YXSH("2", "院学生会"),
XSST("3", "学生社团"),
BJ("4", "班级");
private final String Key;
private final String Name;
CadreRankEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static CadreRankEnum getByName(String name) {
CadreRankEnum[] selcTypes = values();
for (CadreRankEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,38 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum CertificateTypeEnum {
SFZ("1", "身份证"),
QT("0", "其他");
private final String Key;
private final String Name;
CertificateTypeEnum(String key, String name) {
this.Key = key;
this.Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static CertificateTypeEnum getByName(String name) {
CertificateTypeEnum[] selcTypes = values();
for (CertificateTypeEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,43 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum DegreeEnum {
BS("0", "博士"),
MBA("1", "MBA"),
SS("2", "硕士"),
SXS("3", "双学士"),
XS("4", "学士"),
QT("5", "其他"),
W("6", "无");
private final String Key;
private final String Name;
DegreeEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static DegreeEnum getByName(String name) {
DegreeEnum[] selcTypes = values();
for (DegreeEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,44 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum EducationTypeEnum {
QRZTFZP("0", "全日制统分招聘"),
HWLX("1", "海外留学"),
CRJY("2", "成人教育"),
DX("3", "定向"),
FDX("4", "非定向"),
WP("5", "委培"),
ZF("6", "自费"),
QT("7", "其他");
private final String Key;
private final String Name;
EducationTypeEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static EducationTypeEnum getByName(String name) {
EducationTypeEnum[] selcTypes = values();
for (EducationTypeEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,41 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum EnglishLevelEnum {
CET4("0", "CET4"),
TEM4("1", "TEM4"),
CET6("2", "CET6"),
TEM8("3", "TEM8"),
WCJ("4", "未参加");
private final String Key;
private final String Name;
EnglishLevelEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static EnglishLevelEnum getByName(String name) {
EnglishLevelEnum[] selcTypes = values();
for (EnglishLevelEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,38 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum HealthEnum {
JK("0", "健康"),
QT("1", "其他");
private final String Key;
private final String Name;
HealthEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static HealthEnum getByName(String name) {
HealthEnum[] selcTypes = values();
for (HealthEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,40 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum MaritalStatusEnum {
WH("0", "未婚"),
YH("1", "已婚"),
LY("2", "离异"),
BM("3", "保密");
private final String Key;
private final String Name;
MaritalStatusEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static MaritalStatusEnum getByName(String name) {
MaritalStatusEnum[] selcTypes = values();
for (MaritalStatusEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,41 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum PoliticsStatusEnum {
TY("0", "团员"),
ZGDY("1", "中共党员(含预备党员)"),
MZDP("2", "民主党派"),
WDPRS("3", "无党派人士"),
QZ("4", "群众");
private final String Key;
private final String Name;
PoliticsStatusEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static PoliticsStatusEnum getByName(String name) {
PoliticsStatusEnum[] selcTypes = values();
for (PoliticsStatusEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,38 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/25
* @description:
*/
public enum ResumeTypeEnum {
SZ("0", "社招"),
XZ("1", "校招");
private final String Key;
private final String Name;
ResumeTypeEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static ResumeTypeEnum getByName(String name) {
ResumeTypeEnum[] selcTypes = values();
for (ResumeTypeEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,39 @@
package com.weaver.recruit.enums;
/**
* @author: YH
* @createDate: 2023/9/20
* @description:
*/
public enum WorkTypeEnum {
QZ("0", "全职"),
JZ("1", "兼职"),
SX("2", "实习");
private final String Key;
private final String Name;
WorkTypeEnum(String key, String name) {
Key = key;
Name = name;
}
public String getKey() {
return Key;
}
public String getName() {
return Name;
}
public static WorkTypeEnum getByName(String name) {
WorkTypeEnum[] selcTypes = values();
for (WorkTypeEnum selcType : selcTypes) {
if (selcType.getName().equals(name)) {
return selcType;
}
}
return null;
}
}

@ -0,0 +1,15 @@
package com.weaver.recruit.rest;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.recruit.entity.RecruitTalentObj;
/**
* @author: YH
* @createDate: 2023/9/18
* @description:
*/
public interface RecruitCandidateRemoteService {
WeaResult createCandidateByThird(String tenantKey, String operatorId, RecruitTalentObj obj);
}

@ -0,0 +1,69 @@
package com.weaver.recruit.rest;
import com.weaver.esearch.data.api.annotation.ESearchModuleRegister;
import com.weaver.esearch.data.api.constant.Constant;
import com.weaver.esearch.data.api.service.ESearchDataService;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author: wangt
* @createDate: 2023/1/4
* @description:
*/
@ESearchModuleRegister(tenantKey = Constant.COMMON_TKEY, moduleKey = "recruit", queues = "recruit_resume_fullsearch")
public interface RecruitESearchRemoteService extends ESearchDataService {
/**
*
*
* @param tenantKey key
* @param pageNum
* @param pageSize
* @param obj
* @return
*/
@Override
List<Map<String, Object>> collectAllByLastId(String tenantKey, Integer pageNum, Integer pageSize, Object... obj);
/**
*
*
* @param tenantKey key
* @param startTime
* @param endTime
* @param pageNum
* @param pageSize
* @param obj
* @return
*/
@Override
List<Map<String, Object>> collectByDate(String tenantKey, Date startTime, Date endTime, Integer pageNum, Integer pageSize,
Object... obj);
/**
* ID
*
* @param tenantKey key
* @param ids
* @param obj
* @return
*/
@Override
List<Map<String, Object>> collectByIds(String tenantKey, Collection<String> ids, Object... obj);
/**
*
*
* @param tenantKey key
* @param employeeId ID
* @param ids
* @param obj
* @return
*/
@Override
Map<String, Map<String, List<String>>> buildRight(String tenantKey, Long employeeId, Collection<String> ids, Object... obj);
}

@ -3,10 +3,17 @@ package com.weaver.sxjg.esb;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.ebuilder.common.exception.BusinessException; import com.weaver.ebuilder.common.exception.BusinessException;
import com.weaver.esb.api.rpc.EsbRpcRemoteInterface; import com.weaver.esb.api.rpc.EsbRpcRemoteInterface;
import com.weaver.framework.rpc.annotation.RpcReference;
import com.weaver.recruit.entity.*;
import com.weaver.recruit.enums.*;
import com.weaver.recruit.rest.RecruitCandidateRemoteService;
import com.weaver.sxjg.config.EbDbDataSourceConfig; import com.weaver.sxjg.config.EbDbDataSourceConfig;
import com.weaver.sxjg.util.SxjgUtil; import com.weaver.sxjg.util.SxjgUtil;
import org.apache.commons.collections.list.AbstractLinkedList;
import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration; import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.NameValuePair;
@ -15,20 +22,21 @@ import org.junit.Test;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.sql.DataSource; import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.net.URL;
import java.util.HashMap; import java.net.URLConnection;
import java.util.List; import java.text.ParseException;
import java.util.Map; import java.text.SimpleDateFormat;
import java.util.*;
/** /**
* @author liuhao * @author liuhao
* @use: -线 * @use: -线
* @date * @date
*/ */
@Service("esbRpcPositionZhilian_sj") @Service("esbRpcPositionZhilian_sj")
@ -45,9 +53,17 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
private String joboffline; private String joboffline;
private String wslburl; private String wslburl;
private String wslbxqurl; private String wslbxqurl;
private String annex;
private String secretKey;
private String tenantKey;
private String managerId;
@Autowired @Autowired
public EbDbDataSourceConfig ebDbDataSourceConfig; public EbDbDataSourceConfig ebDbDataSourceConfig;
@RpcReference
RecruitCandidateRemoteService recruitCandidateRemoteService;
public EsbRpcPositionZhilian() { public EsbRpcPositionZhilian() {
PropertiesConfiguration p = null; PropertiesConfiguration p = null;
try { try {
@ -65,6 +81,10 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
this.setJoboffline(p.getString("sxjg.joboffline")); this.setJoboffline(p.getString("sxjg.joboffline"));
this.setWslburl(p.getString("sxjg.wslburl")); this.setWslburl(p.getString("sxjg.wslburl"));
this.setWslbxqurl(p.getString("sxjg.wslbxqurl")); this.setWslbxqurl(p.getString("sxjg.wslbxqurl"));
this.setSecretKey(p.getString("sxjg.secretkey"));
this.setTenantKey(p.getString("tenantKey"));
this.setManagerId(p.getString("managerid"));
this.setAnnex("sxjg.annexurl");
}catch (ConfigurationException e) { }catch (ConfigurationException e) {
throw new BusinessException("获取sxjg.properties配置文件失败", e); throw new BusinessException("获取sxjg.properties配置文件失败", e);
} }
@ -141,7 +161,9 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
String jobsyctime = (String)m.get("jobsyctime");//上一次更新时间 String jobsyctime = (String)m.get("jobsyctime");//上一次更新时间
Date preTimesql = SxjgUtil.getDateByTimestr(jobsyctime,"yyyy-MM-dd HH:mm:ss"); Date preTimesql = SxjgUtil.getDateByTimestr(jobsyctime,"yyyy-MM-dd HH:mm:ss");
String preTimejk = SxjgUtil.getTimeStrByDate(preTimesql,"yyyy/MM/dd HH:mm"); String preTimejk = SxjgUtil.getTimeStrByDate(preTimesql,"yyyy/MM/dd HH:mm");
Date now = new Date(); //判断如果大于6天 则当前时间取6天后
Date now1 = new Date();
Date now = SxjgUtil.sixDaylater(preTimesql,now1);//判断 大于6天取6天后
String nowTimejk = SxjgUtil.getTimeStrByDate(now,"yyyy/MM/dd HH:mm"); String nowTimejk = SxjgUtil.getTimeStrByDate(now,"yyyy/MM/dd HH:mm");
String nowTimeSql = SxjgUtil.getTimeStrByDate(now,"yyyy-MM-dd HH:mm:ss"); String nowTimeSql = SxjgUtil.getTimeStrByDate(now,"yyyy-MM-dd HH:mm:ss");
try{ try{
@ -163,6 +185,10 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
log.error("当前职位id"+id+" 并未找到jobNumber请先新增职位"); log.error("当前职位id"+id+" 并未找到jobNumber请先新增职位");
throw new Exception("当前职位并未找到jobNumber"); throw new Exception("当前职位并未找到jobNumber");
} }
String qudao = (String)params.get("qudao");
if(!qudao.contains("智联招聘")){
throw new Exception("没有勾选智联招聘,当前数据不走下线接口");
}
String orgCode = (String)params.get("orgcode"); String orgCode = (String)params.get("orgcode");
String companyId = SxjgUtil.getZlbh(orgCode,jdbcTemplate); String companyId = SxjgUtil.getZlbh(orgCode,jdbcTemplate);
long companyId1 = Long.parseLong(companyId); long companyId1 = Long.parseLong(companyId);
@ -197,6 +223,12 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
} }
String qudao = (String)params.get("qudao"); String qudao = (String)params.get("qudao");
if(!qudao.contains("智联招聘")) { if(!qudao.contains("智联招聘")) {
log.error("发布职位,智联:并未勾选智联招聘");
return;
}
String zpfs = (String)params.get("typezhaopin");
if(!zpfs.contains("校园")) {
log.error("发布职位,智联:并未勾选校园招聘");
return; return;
} }
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
@ -222,6 +254,10 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
if(!qudao.contains("智联招聘")){ if(!qudao.contains("智联招聘")){
throw new Exception("没有勾选智联招聘,当前数据不走同步接口"); throw new Exception("没有勾选智联招聘,当前数据不走同步接口");
} }
String jhzpfs = (String)params.get("typezhaopin");
if(!jhzpfs.contains("校园")){
throw new Exception("不是校园招聘,当前数据不走同步接口");
}
String orgCode = (String)params.get("orgcode"); String orgCode = (String)params.get("orgcode");
log.error("职位id"+id); log.error("职位id"+id);
log.error("职位所属公司code"+orgCode); log.error("职位所属公司code"+orgCode);
@ -377,11 +413,13 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
} }
//进入分页 //进入分页
for(int j = 1;j<=yeshu;j++) { for(int j = 1;j<=yeshu;j++) {
if(yeshu == 1) { if(j == 1) {
jsonArray = data.getJSONArray("dataList"); jsonArray = data.getJSONArray("dataList");
if(jsonArray!=null && jsonArray.size()>0) {
dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate); dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate);
continue; continue;
} }
}
json1 = new JSONObject(); json1 = new JSONObject();
json1.put("page",j); json1.put("page",j);
json1.put("pageSize",100); json1.put("pageSize",100);
@ -393,9 +431,11 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
if(SxjgUtil.isSuccess(s1)) { if(SxjgUtil.isSuccess(s1)) {
data = SxjgUtil.getInterfaceData(s1); data = SxjgUtil.getInterfaceData(s1);
jsonArray = data.getJSONArray("dataList"); jsonArray = data.getJSONArray("dataList");
if(jsonArray!=null && jsonArray.size()>0) {
dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate); dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate);
} }
} }
}
}else { }else {
throw new Exception("获取网申列表详情失败,失败原因看日志!"); throw new Exception("获取网申列表详情失败,失败原因看日志!");
} }
@ -412,14 +452,121 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
json1.put("jobResumeId",jobResumeId); json1.put("jobResumeId",jobResumeId);
json1.put("companyId",companyid); json1.put("companyId",companyid);
String s1 = SxjgUtil.doJsonPost(getWslbxqurl(),getClientId(),json1.toJSONString(),jdbcTemplate,"0000"); String s1 = SxjgUtil.doJsonPost(getWslbxqurl(),getClientId(),json1.toJSONString(),jdbcTemplate,"0000");
//根据jobResumeId获取简历附件
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("jobResumeId",jobResumeId);
String s2 = SxjgUtil.doJsonPost(getAnnex(),getClientId(),json1.toJSONString(),jdbcTemplate,"0000");
if(SxjgUtil.isSuccess(s1)) { if(SxjgUtil.isSuccess(s1)) {
if(!SxjgUtil.isSuccess(s2)){
throw new Exception("简历头像获取失败jobResumeId"+jobResumeId);
}
//处理批次 //处理批次
if(!SxjgUtil.existPc(jobResumeId,jobNumber,jdbcTemplate)) { if(!SxjgUtil.existPc(jobResumeId,jobNumber,jdbcTemplate)) {
//成功录入批次后 //成功录入批次后
// TODO: 2023/9/15 需要调用批次录用,成功后处理 JSONObject rs = SxjgUtil.getInterfaceData(s1);
String pcid = ""; JSONObject rs2 = SxjgUtil.getInterfaceData(s2);
//录入中间表,将已经成功同步的批次记录 记录批次编号,简历编号(智联) String encrystr1 = rs2.getString("annex");
SxjgUtil.insertSyn(jobResumeId,pcid,jobNumber,jdbcTemplate); String encrystr = rs.getString("detail");
String detailstr = SxjgUtil.decrypt(this.getSecretKey(),encrystr);
String detailstr1 = SxjgUtil.decrypt(this.getSecretKey(),encrystr1);
JSONObject detailObj = JSONObject.parseObject(detailstr);
JSONObject detailObj1 = JSONObject.parseObject(detailstr1);
//个人信息
JSONObject grxx = detailObj.getJSONArray("个人信息").getJSONObject(0);
//联系方式
JSONObject lxfs = detailObj.getJSONArray("联系方式").getJSONObject(0);
//教育经历
JSONArray jyjl = detailObj.getJSONArray("教育经历");
//求职意向
JSONObject qzyx = detailObj.getJSONArray("求职意向").getJSONObject(0);
//实习经历
JSONArray sxjl = detailObj.getJSONArray("实习经历");
//项目经验
JSONArray xmjy = detailObj.getJSONArray("项目经验");
//奖励活动
JSONArray jlhd = detailObj.getJSONArray("奖励活动");
//自我评价
JSONObject zwpj = detailObj.getJSONArray("自我评价").getJSONObject(0);
//技能/爱好
JSONObject jnah = detailObj.getJSONArray("技能/爱好").getJSONObject(0);
//家庭关系
JSONArray jtgx = detailObj.getJSONArray("家庭关系");
//附件
JSONArray fj = detailObj.getJSONArray("附件");
//志愿信息
JSONObject zyxx = detailObj.getJSONObject("志愿信息");
RecruitTalentObj recruitTalentObj = new RecruitTalentObj();
recruitTalentObj.setResumeType(ResumeTypeEnum.XZ);
//填充简历,头像
getFileObj(detailObj1,recruitTalentObj);
recruitTalentObj.setCandidateName(grxx.getString("姓名"));
recruitTalentObj.setTelephone(lxfs.getString("手机号码"));
recruitTalentObj.setEmail(lxfs.getString("电子邮箱"));
recruitTalentObj.setGender(grxx.getString("性别"));
if(grxx.getString("证件号码类型").equals("身份证")) {
recruitTalentObj.setCertificateType(CertificateTypeEnum.SFZ);
}else {
recruitTalentObj.setCertificateType(CertificateTypeEnum.QT);
}
recruitTalentObj.setCertificateNum(grxx.getString("证件号码"));
recruitTalentObj.setBirthday(grxx.getString("出生日期"));
String health =grxx.getString("健康状况");
if("良好".equals(health) || "健康".equals(health)) {
recruitTalentObj.setHealth(HealthEnum.JK);
}else {
recruitTalentObj.setHealth(HealthEnum.QT);
}
String maritalstatus = grxx.getString("婚姻状况");
String policicsStatus = grxx.getString("政治面貌");
recruitTalentObj.setMaritalStatus(getMaritalStatusEnum(maritalstatus));
recruitTalentObj.setPoliticsStatus(getPoliticsStatusEnum(policicsStatus));
recruitTalentObj.setNativePlace(grxx.getString("籍贯"));
//毕业日期
recruitTalentObj.setGraduateDate(getEduDate(jyjl));
recruitTalentObj.setSgcm(grxx.getString("身高(cm)"));
recruitTalentObj.setWeight(grxx.getString("体重(kg)"));
recruitTalentObj.setCommunicationAdr(lxfs.getString("通信地址"));
recruitTalentObj.setEmergencyTelephone(lxfs.getString("紧急联系电话"));
recruitTalentObj.setIntendedWorkplace(qzyx.getString("期望工作城市"));
recruitTalentObj.setExpectSalary(getExceptSalary(qzyx.getString("期望月薪(税前)")));
//自我评价
recruitTalentObj.setSelfDesc(zwpj.getString("内容"));
recruitTalentObj.setEnglishLevel(EnglishLevelEnum.getByName(jnah.getString("英语等级")));
recruitTalentObj.setEnglishScore(jnah.getString("英语分数"));
recruitTalentObj.setOtherSkills(jnah.getString("其它技能"));
recruitTalentObj.setPersonalHobby(jnah.getString("个人爱好"));
recruitTalentObj.setIntendPosition(zyxx.getString("职位名称"));
//教育背景
recruitTalentObj.setRecruitEduExpObjList(getEdugroudlist(jyjl));
//实习经历
recruitTalentObj.setRecruitSxjlObjList(getSxjllist(sxjl));
//项目经验
recruitTalentObj.setRecruitProjectExpObjList(getRecruitProjectExpObj(xmjy));
//获奖经历
recruitTalentObj.setRecruitAwardExpObjList(getRecruitAwardExpObj(jlhd));
//语言能力
recruitTalentObj.setRecruitLanguageSkillObjList(geRecruitLanguageSkillObj(jnah));
//家庭关系
recruitTalentObj.setRecruitJtgxObjList(geRecruitJtgxObj(jtgx));
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(recruitTalentObj);
log.error("推送对象:"+jsonString);
WeaResult wr = recruitCandidateRemoteService.createCandidateByThird(this.getTenantKey(),this.getManagerId(),recruitTalentObj);
log.error("1111111111111111111111:"+wr.getCode());
log.error("1111111111111111111111:"+wr.getMsg());
log.error("1111111111111111111111:"+wr.isStatus());
if(wr.getCode() == 200){
JSONObject rs1 = (JSONObject) wr.getData();
Long talentid = rs1.getLong("talentId");
Long batchid = rs1.getLong("batchId");
log.error("talentId:"+talentid);
log.error("batchid:"+batchid);
SxjgUtil.insertSyn(jobResumeId,batchid.toString(),jobNumber,jdbcTemplate);
}else {
if(!wr.getMsg().contains("already exist")) {
throw new Exception("录入批次失败!");
}
}
} }
}else { }else {
throw new Exception("获取简历详情失败!具体明细请看日志"); throw new Exception("获取简历详情失败!具体明细请看日志");
@ -427,11 +574,337 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
} }
} }
@Test /**
* /
*/
private void getFileObj(JSONObject rs,RecruitTalentObj recruitTalentObj) throws IOException {
if(rs.containsKey("附件")) {
JSONArray jsonArray = rs.getJSONArray("附件");
if(jsonArray.size()>0) {
JSONObject jsonObject = jsonArray.getJSONObject(0);
String zjz = jsonObject.getString("证件照");
String jlfj = jsonObject.getString("简历附件");
if(zjz.length()>0) {
URL url = new URL(zjz);
URLConnection connection = url.openConnection();
InputStream i = connection.getInputStream();
Map<String,String>rs1 = getFileNameAndTrix(zjz);
RecruitFileObj avator = new RecruitFileObj();
avator.setExtName(rs1.get("trix"));
avator.setFileName(rs1.get("name"));
avator.setInputStream(i);
recruitTalentObj.setAvatar(avator);
}
if(jlfj.length()>0) {
URL url = new URL(zjz);
URLConnection connection = url.openConnection();
InputStream i = connection.getInputStream();
Map<String,String>rs2 =getFileNameAndTrix(jlfj);
RecruitFileObj originalResume = new RecruitFileObj();
originalResume.setExtName(rs2.get("trix"));
originalResume.setFileName(rs2.get("name"));
originalResume.setInputStream(i);
recruitTalentObj.setOriginalResume(originalResume);
}
}
}
}
/**
* url
*/
private Map<String,String>getFileNameAndTrix(String url) {
Map<String,String> re = new HashMap<>();
String[] rs = url.split("/");
String str = rs[rs.length-1];
String[] result = str.split("\\.");
String filename = result[0];
String filetrix = result[1];
re.put("name",filename);
re.put("trix",filetrix);
return re;
}
/**
*
*/
private MaritalStatusEnum getMaritalStatusEnum(String name) {
if("未婚".equals(name)) {
return MaritalStatusEnum.WH;
}else if("已婚".equals(name)) {
return MaritalStatusEnum.YH;
}else if("离异".equals(name)) {
return MaritalStatusEnum.LY;
}else if("保密".equals(name)) {
return MaritalStatusEnum.BM;
}else{
return MaritalStatusEnum.BM;
}
}
/**
*
* #Please Select
* 1000/#Below 1000RMB/Month
* 1000~2000/#1000~2000 RMB/Month
* 2000~4000/#2000~4000 RMB/Month
* 4000~6000/#4000~6000 RMB/Month
* 6000~8000/#6000~8000 RMB/Month
* 8000~10000/#8000~10000 RMB/Month
* 10000~15000/#10000~15000 RMB/Month
* 15000~25000/#15000~25000 RMB/Month
* 25000/#Above 25000 RMB/Month
*/
private String getExceptSalary(String s) {
String finstr = "";
if(s.contains("元/月")){
String s1 = s.split("元/月")[0];
if(s1.contains("~")) {
finstr = s1.split("~")[0];
}else {
finstr = s1;
}
}
if(finstr.length()>0) {
try{
BigDecimal q1 = new BigDecimal(finstr);
BigDecimal q2 = q1.divide(new BigDecimal("1000"));
return q2.toString();
}catch (Exception e){ return "";}
}else {
return "";
}
}
/**
*
*/
private PoliticsStatusEnum getPoliticsStatusEnum(String name) {
if("团员".equals(name)) {
return PoliticsStatusEnum.TY;
}else if("中共党员(含预备党员)".equals(name)) {
return PoliticsStatusEnum.ZGDY;
}else if("民主党派".equals(name)) {
return PoliticsStatusEnum.MZDP;
}else if("无党派人士".equals(name)) {
return PoliticsStatusEnum.WDPRS;
}else if("群众".equals(name)) {
return PoliticsStatusEnum.QZ;
}else{
return PoliticsStatusEnum.QZ;
}
}
/**
*
*/
public String getEduDate(JSONArray rs) throws ParseException {
if(rs != null && rs.size() > 0) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
List<Long>li = new ArrayList();
for(int i = 0; i < rs.size(); i++) {
JSONObject obj = rs.getJSONObject(i);
String date = obj.getString("毕业时间");
Date r = sdf.parse(date);
li.add(r.getTime());
}
long t = Collections.max(li);
Date s = new Date(t);
return sdf.format(s);
}else {
return null;
}
}
/**
*
*/
private List<RecruitEduExpObj> getEdugroudlist(JSONArray rs) {
List<RecruitEduExpObj>list = new ArrayList<>();
if(rs != null && rs.size() > 0) {
for(int i = 0; i < rs.size(); i++) {
RecruitEduExpObj recruitEduExpObj = new RecruitEduExpObj();
JSONObject obj = rs.getJSONObject(i);
recruitEduExpObj.setSchool(obj.getString("学校名称"));
recruitEduExpObj.setStudyDate0(obj.getString("入学时间"));
recruitEduExpObj.setStudyDate1(obj.getString("毕业时间"));
if(EducationTypeEnum.getByName(obj.getString("受教育类型"))==null) {
recruitEduExpObj.setEducationType(EducationTypeEnum.QRZTFZP);
}else {
recruitEduExpObj.setEducationType(EducationTypeEnum.getByName(obj.getString("受教育类型")));
}
recruitEduExpObj.setEduEducation(getEducationTrans(obj.getString("学历")));
recruitEduExpObj.setDegree(getdegreenum(obj.getString("学位")));
recruitEduExpObj.setResearchDirection(obj.getString("研究方向"));
recruitEduExpObj.setFaculty(obj.getString("院系"));
recruitEduExpObj.setEduMajor(obj.getString("专业"));
recruitEduExpObj.setMajorCourses(obj.getString("专业课程"));
if(obj.containsKey("海外工作/学习经历")&&obj.getString("海外工作/学习经历").length()>0) {
if("是".equals(obj.getString("海外工作/学习经历"))) {
recruitEduExpObj.setOverseasExperience(BooleanEnum.TRUE);
}else {
recruitEduExpObj.setOverseasExperience(BooleanEnum.FALSE);
}
}
list.add(recruitEduExpObj);
}
return list;
}else {
return null;
}
}
/**
*
*/
private DegreeEnum getdegreenum(String name) {
if(DegreeEnum.getByName(name)==null){
return DegreeEnum.W;
}else {
return DegreeEnum.getByName(name);
}
}
/**
* 0-,1-MBA,2-,3-,4-,5-,6-
*/
public String getEducationTrans(String name) {
if("博士".equals(name)){
return "0";
} else if ("MBA".equals(name)) {
return "1";
}else if ("硕士".equals(name)) {
return "2";
}else if ("双学士".equals(name)) {
return "3";
}else if ("学士".equals(name)) {
return "4";
}else if ("其他".equals(name)) {
return "5";
}else if ("无".equals(name)) {
return "6";
}else{
return "5";
}
}
/**
*
*/
private List<RecruitSxjlObj>getSxjllist(JSONArray jsonArray) {
List<RecruitSxjlObj> list = new ArrayList<>();
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitSxjlObj recruitSxjlObj = new RecruitSxjlObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitSxjlObj.setSxCoName(jsonObject.getString("工作单位"));
recruitSxjlObj.setEntryTime(jsonObject.getString("入职时间"));
recruitSxjlObj.setSxWorkType(WorkTypeEnum.getByName(jsonObject.getString("工作类型")));
recruitSxjlObj.setSxWorkSalary(jsonObject.getString("职位月薪(税前)"));
recruitSxjlObj.setPositionJob(jsonObject.getString("职务"));
recruitSxjlObj.setJobDescription(jsonObject.getString("工作描述"));
list.add(recruitSxjlObj);
}
return list;
}else {
return null;
}
}
//项目经验
private List<RecruitProjectExpObj>getRecruitProjectExpObj(JSONArray jsonArray) {
List<RecruitProjectExpObj> list = new ArrayList<>();
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitProjectExpObj recruitProjectExpObj = new RecruitProjectExpObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitProjectExpObj.setPjName(jsonObject.getString("项目名称"));
recruitProjectExpObj.setPjDate0(jsonObject.getString("项目开始时间"));
recruitProjectExpObj.setPjDate1(jsonObject.getString("项目结束时间"));
recruitProjectExpObj.setPjIntroduction(jsonObject.getString("项目简述"));
recruitProjectExpObj.setPjDuty(jsonObject.getString("职务"));
recruitProjectExpObj.setPjRole(jsonObject.getString("项目职责"));
list.add(recruitProjectExpObj);
}
return list;
}else {
return null;
}
}
//获奖经历
private List<RecruitAwardExpObj>getRecruitAwardExpObj(JSONArray jsonArray) {
List<RecruitAwardExpObj> list = new ArrayList<>();
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitAwardExpObj recruitAwardExpObj = new RecruitAwardExpObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitAwardExpObj.setStudentLeader(BooleanEnum.getByName(jsonObject.getString("是否学生干部")));
recruitAwardExpObj.setCadreRank(CadreRankEnum.getByName(jsonObject.getString("干部级别")));
if(CadreNameEnum.getByName(jsonObject.getString("干部名称"))==null) {
recruitAwardExpObj.setCadreName(CadreNameEnum.QT);
}else {
recruitAwardExpObj.setCadreName(CadreNameEnum.getByName(jsonObject.getString("干部名称")));
}
recruitAwardExpObj.setStartDate(jsonObject.getString("开始时间"));
recruitAwardExpObj.setEndDate(jsonObject.getString("结束时间"));
recruitAwardExpObj.setAwarded(jsonObject.getString("受到奖励"));
recruitAwardExpObj.setCredentials(jsonObject.getString("专业资格证书"));
recruitAwardExpObj.setSchoolActivities(jsonObject.getString("校内活动"));
list.add(recruitAwardExpObj);
}
return list;
}else {
return null;
}
}
//语言能力
private List<RecruitLanguageSkillObj>geRecruitLanguageSkillObj(JSONObject jsonobj) {
JSONArray jsonArray = jsonobj.getJSONArray("语言能力");
List<RecruitLanguageSkillObj> list = new ArrayList<>();
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitLanguageSkillObj recruitLanguageSkillObj = new RecruitLanguageSkillObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitLanguageSkillObj.setLanguageType(jsonObject.getString("语言能力"));
recruitLanguageSkillObj.setLsAbility(AbilityEnum.getByName(jsonObject.getString("听说能力")));
recruitLanguageSkillObj.setLiteracy(AbilityEnum.getByName(jsonObject.getString("读写能力")));
list.add(recruitLanguageSkillObj);
}
return list;
}else {
return null;
}
}
//家庭关系
private List<RecruitJtgxObj>geRecruitJtgxObj(JSONArray jsonArray) {
List<RecruitJtgxObj> list = new ArrayList<>();
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitJtgxObj recruitJtgxObj = new RecruitJtgxObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitJtgxObj.setRelativesName(jsonObject.getString("亲属姓名"));
recruitJtgxObj.setKinship(jsonObject.getString("亲属关系"));
recruitJtgxObj.setRelativesWork(jsonObject.getString("亲属工作单位"));
recruitJtgxObj.setRelativesPosition(jsonObject.getString("亲属职位"));
list.add(recruitJtgxObj);
}
return list;
}else {
return null;
}
}
// @Test
// public void test1(){ // public void test1(){
// DataSource db = DataSourceBuilder.create().driverClassName("com.mysql.cj.jdbc.Driver").username("ecology").password("uxJhLJn4%NpWxujAYyKsTpxP").url("jdbc:mysql://10.70.11.12:3306/ec_ebuilder_designer?characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true").build(); // DataSource db = DataSourceBuilder.create().driverClassName("com.mysql.cj.jdbc.Driver").username("ecology").password("uxJhLJn4%NpWxujAYyKsTpxP").url("jdbc:mysql://10.70.11.12:3306/ec_ebuilder_designer?characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true").build();
// JdbcTemplate jdbcTemplate = new JdbcTemplate(db); // JdbcTemplate jdbcTemplate = new JdbcTemplate(db);
// refreshToken(jdbcTemplate,"0000"); // refreshToken(jdbcTemplate,"0000");
// }
// private void testtb(JdbcTemplate jdbcTemplate) throws Exception {
// JSONArray jsonArray = new JSONArray();
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("jobResumeId","109645236");
// jsonObject.put("resumeNumber","109645236");
// jsonArray.add(jsonObject);
// dealJsonArrayGetDetail(jsonArray,"","liuhaotest111",jdbcTemplate);
// } // }
private boolean refreshToken(JdbcTemplate jdbcTemplate,String orgcodes) { private boolean refreshToken(JdbcTemplate jdbcTemplate,String orgcodes) {
@ -549,4 +1022,35 @@ public class EsbRpcPositionZhilian implements EsbRpcRemoteInterface {
public void setWslbxqurl(String wslbxqurl) { public void setWslbxqurl(String wslbxqurl) {
this.wslbxqurl = wslbxqurl; this.wslbxqurl = wslbxqurl;
} }
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public String getTenantKey() {
return tenantKey;
}
public void setTenantKey(String tenantKey) {
this.tenantKey = tenantKey;
}
public String getManagerId() {
return managerId;
}
public void setManagerId(String managerId) {
this.managerId = managerId;
}
public String getAnnex() {
return annex;
}
public void setAnnex(String annex) {
this.annex = annex;
}
} }

@ -0,0 +1,537 @@
package com.weaver.sxjg.esb;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.weaver.common.base.entity.result.WeaResult;
import com.weaver.ebuilder.common.exception.BusinessException;
import com.weaver.esb.api.rpc.EsbRpcRemoteInterface;
import com.weaver.framework.rpc.annotation.RpcReference;
import com.weaver.recruit.entity.RecruitEduExpObj;
import com.weaver.recruit.entity.RecruitFileObj;
import com.weaver.recruit.entity.RecruitJtgxObj;
import com.weaver.recruit.entity.RecruitTalentObj;
import com.weaver.recruit.enums.*;
import com.weaver.recruit.rest.RecruitCandidateRemoteService;
import com.weaver.sxjg.config.EbDbDataSourceConfig;
import com.weaver.sxjg.util.SxjgUtil;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;
/**
* @author liuhao
* @use: -线 ()
* @date
*/
@Service("esbRpcPositionZhiliansz_sj")
public class EsbRpcPositionZhilianSz implements EsbRpcRemoteInterface {
private static final Logger log = LoggerFactory.getLogger(EsbRpcPositionZhilianSz.class);
private String token;
private String appid;
private String appReferer;
private String jobaddurl;
private String jobsave;
private String listpageurl;
private String resumedetailsurl;
private String tenantKey;
private String managerId;
@Autowired
public EbDbDataSourceConfig ebDbDataSourceConfig;
@RpcReference
RecruitCandidateRemoteService recruitCandidateRemoteService;
public EsbRpcPositionZhilianSz() {
PropertiesConfiguration p = null;
try {
p = new PropertiesConfiguration();
p.setEncoding("utf-8");
p.setFileName("config/sxjg.properties");
p.load();
this.setToken(p.getString("sxjgsz.token"));
this.setJobaddurl(p.getString("sxjgsz.jobadd"));
this.setAppReferer(p.getString("sxjgsz.appReferer"));
this.setJobsave(p.getString("sxjgsz.jobsave"));
this.setAppid(p.getString("sxjgsz.appid"));
this.setListpageurl(p.getString("sxjgsz.listpageurl"));
this.setResumedetailsurl(p.getString("sxjgsz.listpagedetail"));
this.setTenantKey(p.getString("tenantKey"));
this.setManagerId(p.getString("managerid"));
} catch (ConfigurationException e) {
throw new BusinessException("获取sxjg.properties配置文件失败", e);
}
}
@Override
public Map<String, Object> execute(Map<String, Object> params) {
String operate_flag = (String) params.get("operate_flag");
//1 职位新增,编辑
if ("1".equals(operate_flag)) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(ebDbDataSourceConfig.dbDataSource());
try{
jobAdd(params,jdbcTemplate);
return SxjgUtil.ok();
}catch (Exception e){
e.printStackTrace();
return SxjgUtil.err(e.getMessage());
}
}
//3 发布同步下线删除
else if ("3".equals(operate_flag)) {
JdbcTemplate jdbcTemplate = new JdbcTemplate(ebDbDataSourceConfig.dbDataSource());
try{
updateJob(params,jdbcTemplate);
return SxjgUtil.ok();
}catch (Exception e){
return SxjgUtil.err(e.getMessage());
}
}
//4 简历获取
else if ("4".equals(operate_flag)) {
log.error("简历获取:>>>>>>>>>>>>>>>>>>>>>>");
JdbcTemplate jdbcTemplate = new JdbcTemplate(ebDbDataSourceConfig.dbDataSource());
synchronJobTitle(jdbcTemplate);
return SxjgUtil.ok();
}else {
return SxjgUtil.err("配置不正确请检查参数operate_flag");
}
}
private void updateJob(Map<String, Object> params, JdbcTemplate jdbcTemplate) throws Exception{
String id = (String)params.get("id");
log.error("职位下线社招,职位id>>>>>>>>>>>>>>>>>>>>>>"+id);
String jobNumber = SxjgUtil.getJobNumbersz(id,jdbcTemplate);
if(jobNumber.length()==0) {
log.error("当前职位id"+id+" 并未找到jobNumber请先新增职位");
throw new Exception("当前职位并未找到jobNumber");
}
String qudao = (String)params.get("qudao");
if(!qudao.contains("智联招聘")){
throw new Exception("没有勾选智联招聘,当前数据不走下线接口");
}
String jhzpfs = (String)params.get("typezhaopin");
if(!jhzpfs.contains("社会")){
throw new Exception("不是社会招聘,当前数据不走同步接口");
}
String orgCode = (String)params.get("orgcode");
String companyId = SxjgUtil.getZlbhSz(orgCode,jdbcTemplate);
if(companyId.length()==0){
throw new Exception("当前岗位所属组织并未配置,请联系管理员!");
}
String status = (String)params.get("status");
JSONObject jsonObject = new JSONObject();
List<String> rs1 = new ArrayList<>();
rs1.add(id);
jsonObject.put("jobNumbers",rs1);
jsonObject.put("status",Integer.parseInt(status));
String rs = SxjgUtil.doJsonPostSz(this.getJobsave(),this.getAppid(),this.getAppReferer(),this.getToken(),jsonObject.toJSONString(),jdbcTemplate);
if(SxjgUtil.isSuccessSz(rs)) {
log.error("职位操作flag"+status+">>>操作成功");
if("1".equals(status)) {//发布
SxjgUtil.updateStatus(id,jdbcTemplate,"1");
}
if("3".equals(status)) {//下线
SxjgUtil.updateStatus(id,jdbcTemplate,"2");
}
}else {
throw new Exception("职位新增接口异常!");
}
}
/**
*
*/
private void synchronJobTitle(JdbcTemplate jdbcTemplate){
List<Map<String,Object>> rs = SxjgUtil.getZlTblistsz(jdbcTemplate);
if(CollectionUtil.isNotEmpty(rs)) {
for(Map<String,Object> m : rs) {
BigDecimal id = (BigDecimal)m.get("id");
String jobNumber = (String)m.get("zlzwid");
String subcompany = (String)m.get("sub_company");
String companyId = SxjgUtil.getZlbh(subcompany,jdbcTemplate);
String jobsyctime = (String)m.get("jobsyctime");//上一次更新时间
Date preTimesql = SxjgUtil.getDateByTimestr(jobsyctime,"yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String nowTimeSql = SxjgUtil.getTimeStrByDate(now,"yyyy-MM-dd HH:mm:ss");
String preTimeSql = SxjgUtil.getTimeStrByDate(preTimesql,"yyyy-MM-dd HH:mm:ss");
try{
getWsList(jobNumber,companyId,preTimeSql,nowTimeSql,jdbcTemplate);//一批量 有任何一次失败,则不更新时间
//更新该岗位的最后获取时间
SxjgUtil.updateLastTime(id,nowTimeSql,jdbcTemplate);
}catch (Exception e){
log.error("根据jobNumber"+jobNumber+"获取网申列表失败,失败原因:"+e.getMessage());
}
}
}
}
/**
*
* use:100
*/
private void getWsList(String jobNumber,String companyId,String applyStartTime,String applyEndTime,JdbcTemplate jdbcTemplate) throws Exception{
JSONObject json1 = new JSONObject();
json1.put("page",1);
json1.put("size",100);
json1.put("applyStartTime",applyStartTime);
json1.put("applyEndTime",applyEndTime);
List<String>jobids = new ArrayList<>();
jobids.add(jobNumber);
json1.put("jobIds",jobids);
String s1 = SxjgUtil.doJsonPostSz(getListpageurl(),getAppid(),getAppReferer(),getToken(),json1.toJSONString(),jdbcTemplate);
JSONArray jsonArray = new JSONArray();
if(SxjgUtil.isSuccessSz(s1)) {
JSONObject data = SxjgUtil.getInterfaceData(s1);
int total = data.getInteger("total");
if(total == 0){
return;
}
int yeshu = data.getInteger("pages");
//进入分页
for(int j = 1;j<=yeshu;j++) {
if(j == 1) {
jsonArray = data.getJSONArray("records");
if(jsonArray!=null && jsonArray.size()>0) {
dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate);
continue;
}
}
json1 = new JSONObject();
json1.put("page",j);
json1.put("size",100);
json1.put("applyStartTime",applyStartTime);
json1.put("applyEndTime",applyEndTime);
jobids = new ArrayList<>();
jobids.add(jobNumber);
json1.put("jobIds",jobids);
s1 = SxjgUtil.doJsonPostSz(getListpageurl(),getAppid(),getAppReferer(),getToken(),json1.toJSONString(),jdbcTemplate);
if(SxjgUtil.isSuccessSz(s1)) {
data = SxjgUtil.getInterfaceData(s1);
jsonArray = data.getJSONArray("records");
if(jsonArray!=null && jsonArray.size()>0) {
dealJsonArrayGetDetail(jsonArray,companyId,jobNumber,jdbcTemplate);
}
}
}
}else {
throw new Exception("获取网申列表详情失败,失败原因看日志!");
}
}
/**
*
*
*/
public void dealJsonArrayGetDetail(JSONArray jsonArray,String companyid,String jobNumber,JdbcTemplate jdbcTemplate) throws Exception{
for(int i = 0; i < jsonArray.size();i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
String id = jsonObject.getString("id");
String s3 = SxjgUtil.getMethodForsz(getResumedetailsurl(),getAppid(),getAppReferer(),getToken(),id);
if(SxjgUtil.isSuccessSz(s3)) {
if(!SxjgUtil.existPc(id,jobNumber,jdbcTemplate)) {
JSONObject data = SxjgUtil.getInterfaceData(s3);
RecruitTalentObj recruitTalentObj = new RecruitTalentObj();
recruitTalentObj.setResumeType(ResumeTypeEnum.SZ);
//填充头像
RecruitFileObj avator = new RecruitFileObj();
String photostr = data.getString("id_photo");
JSONArray s2 = JSONArray.parseArray(photostr);
String url11 = s2.get(0).toString();
Map<String,String> namestr = getFileNameAndTrix(url11);
avator.setFileName(namestr.get("name"));
avator.setExtName(namestr.get("trix"));
URL url12 = new URL(url11);
URLConnection connection = url12.openConnection();
InputStream inputStream = connection.getInputStream();
avator.setInputStream(inputStream);
recruitTalentObj.setAvatar(avator);
//----填充头像完毕-----------------
recruitTalentObj.setCandidateName(data.getString("name"));
recruitTalentObj.setTelephone(data.getString("mobile"));
recruitTalentObj.setEmail(data.getString("mail"));
recruitTalentObj.setGender(data.getString("sex"));
//类型 固定身份证
recruitTalentObj.setCertificateType(CertificateTypeEnum.SFZ);
recruitTalentObj.setCertificateNum(data.getString("id_card"));
recruitTalentObj.setBirthday(data.getString("birthday"));
String health =data.getString("health_condition");
if("良好".equals(health) || "健康".equals(health)) {
recruitTalentObj.setHealth(HealthEnum.JK);
}else {
recruitTalentObj.setHealth(HealthEnum.QT);
}
String policicsStatus = data.getString("political_status");
//婚姻状况
//recruitTalentObj.setMaritalStatus(getMaritalStatusEnum(maritalstatus));
recruitTalentObj.setPoliticsStatus(PoliticsStatusEnum.getByName(policicsStatus));
recruitTalentObj.setNativePlace(data.getString("native_place"));
recruitTalentObj.setGraduateDate(data.getString("birthday"));
//recruitTalentObj.setSgcm(grxx.getString("身高(cm)"));
//recruitTalentObj.setWeight(grxx.getString("体重(kg)"));
//recruitTalentObj.setCommunicationAdr(lxfs.getString("通信地址"));
recruitTalentObj.setEmergencyTelephone(data.getString("emergency_telephone"));
//recruitTalentObj.setIntendedWorkplace(qzyx.getString("期望工作城市"));
//recruitTalentObj.setExpectSalary(getExceptSalary(qzyx.getString("期望月薪(税前)")));
//自我评价
recruitTalentObj.setSelfDesc(data.getString("textarea_KEY_2023060615242536330B7BCE4A52E292"));
//recruitTalentObj.setEnglishLevel(EnglishLevelEnum.getByName(jnah.getString("英语等级")));
//recruitTalentObj.setEnglishScore(jnah.getString("英语分数"));
//recruitTalentObj.setOtherSkills(jnah.getString("其它技能"));
//recruitTalentObj.setPersonalHobby(jnah.getString("个人爱好"));
//recruitTalentObj.setIntendPosition(zyxx.getString("职位名称"));
//教育背景
recruitTalentObj.setRecruitEduExpObjList(getEdugroudlist(data));
//实习经历
//recruitTalentObj.setRecruitSxjlObjList(getSxjllist(sxjl));
//项目经验
//recruitTalentObj.setRecruitProjectExpObjList(getRecruitProjectExpObj(xmjy));
//获奖经历
//recruitTalentObj.setRecruitAwardExpObjList(getRecruitAwardExpObj(jlhd));
//语言能力
//recruitTalentObj.setRecruitLanguageSkillObjList(geRecruitLanguageSkillObj(jnah));
//家庭关系
recruitTalentObj.setRecruitJtgxObjList(geRecruitJtgxObj(data));
ObjectMapper objectMapper = new ObjectMapper();
String jsonString = objectMapper.writeValueAsString(recruitTalentObj);
log.error("推送对象:"+jsonString);
WeaResult wr = recruitCandidateRemoteService.createCandidateByThird(this.getTenantKey(),this.getManagerId(),recruitTalentObj);
log.error("1111111111111111111111:"+wr.getCode());
log.error("1111111111111111111111:"+wr.getMsg());
log.error("1111111111111111111111:"+wr.isStatus());
if(wr.getCode() == 200){
JSONObject rs1 = (JSONObject) wr.getData();
Long talentid = rs1.getLong("talentId");
Long batchid = rs1.getLong("batchId");
log.error("talentId:"+talentid);
log.error("batchid:"+batchid);
SxjgUtil.insertSyn(id,batchid.toString(),jobNumber,jdbcTemplate);
}else {
if(!wr.getMsg().contains("already exist")) {
throw new Exception("录入批次失败!");
}
}
}
}else {
throw new Exception("获取简历详情失败!具体明细请看日志");
}
}
}
/**
*
*/
private List<RecruitEduExpObj> getEdugroudlist(JSONObject data) {
List<RecruitJtgxObj> rs = new ArrayList<>();
//第一学历
// TODO: 2023/9/26
return null;
}
/**
*
*/
private List<RecruitJtgxObj> geRecruitJtgxObj(JSONObject data) {
List<RecruitJtgxObj> rs = new ArrayList<>();
JSONArray jsonArray = data.getJSONArray("family_member_social_relations");
if(jsonArray!=null && jsonArray.size()>0) {
for(int i = 0; i <jsonArray.size(); i++) {
RecruitJtgxObj recruitJtgxObj = new RecruitJtgxObj();
JSONObject jsonObject = jsonArray.getJSONObject(i);
recruitJtgxObj.setRelativesName(jsonObject.getString("name"));
recruitJtgxObj.setKinship(jsonObject.getString("title"));
recruitJtgxObj.setRelativesWork(jsonObject.getString("work_unit_position"));
recruitJtgxObj.setRelativesPosition(jsonObject.getString("work_unit_position"));
rs.add(recruitJtgxObj);
}
return rs;
}
return null;
}
/**
* url
*/
private Map<String,String>getFileNameAndTrix(String url1) {
String url = url1.split("\\?")[0];
Map<String,String> re = new HashMap<>();
String[] rs = url.split("/");
String str = rs[rs.length-1];
String[] result = str.split("\\.");
String filename = result[0];
String filetrix = result[1];
re.put("name",filename);
re.put("trix",filetrix);
return re;
}
/**
* /
*/
private void jobAdd(Map<String, Object> params, JdbcTemplate jdbcTemplate) throws Exception{
boolean isAdd = true;
Map<String, Object> res = new HashMap<>();
String id = (String)params.get("id");
String qudao = (String)params.get("qudao");
if(!qudao.contains("智联招聘")){
throw new Exception("没有勾选智联招聘,当前数据不走同步接口");
}
String jhzpfs = (String)params.get("typezhaopin");
if(!jhzpfs.contains("社会")){
throw new Exception("不是社会招聘,当前数据不走同步接口");
}
String orgCode = (String)params.get("orgcode");
log.error("职位id"+id);
log.error("职位所属公司code"+orgCode);
String companyId = SxjgUtil.getZlbhSz(orgCode,jdbcTemplate);
long companyId1 = Long.parseLong(companyId);
if(companyId.length()==0){
throw new Exception("当前岗位所属组织并未配置,请联系管理员!");
}
String ZLID = SxjgUtil.getJobNumbersz(id,jdbcTemplate);
if(ZLID.length()>0) {
isAdd = false;
}
log.error("职位所属公司code对应智联code"+companyId);
log.error("发布渠道:"+qudao);
String jobTitle = (String)params.get("jobTitle");//职位名称
String quantity1 = (String)params.get("quantity");//招聘人数
int quantity = Double.valueOf(quantity1).intValue();
String education = (String)params.get("education");//最低学历
int education1 = SxjgUtil.getEducodesz(education);
String city = (String)params.get("city");//工作城市
if(city.contains("市")) {
city= city.split("市")[0];
}
long cityId = SxjgUtil.getCityIdsz(jdbcTemplate,city);
String jobAddress = (String)params.get("jobAddress");//工作地址
String jobType = SxjgUtil.getTypeList((String)params.get("jobType"),"/");
String workAge = (String)params.get("workAge");//工作年限
int workAge1 = SxjgUtil.getWordExpCode(workAge);
String jobNature = (String)params.get("jobNature");//职位属性
//转换智联
int jobNature1 = "实习".equals(jobNature) ? 4 : 2;
BigDecimal maxSalary = new BigDecimal((String)params.get("maxSalary"));//最大月薪
BigDecimal minSalary = new BigDecimal((String)params.get("minSalary"));//最小月薪
long maxSalary1 =maxSalary.multiply(new BigDecimal(1000)).longValue();
long minSalary1 =minSalary.multiply(new BigDecimal(1000)).longValue();
maxSalary1 = maxSalary1>210000l ? 210000l :maxSalary1;
minSalary1 = minSalary1>210000l ? 210000l :minSalary1;
String monthsalary1 = (String)params.get("monthsalary");//招聘人数
int monthsalary = Double.valueOf(monthsalary1).intValue();
monthsalary = monthsalary >22 ? 22 : monthsalary;
monthsalary = monthsalary <12 ? 12 : monthsalary;
String jobDescription = (String)params.get("jobDescription");//职位描述
JSONObject jsonObject = new JSONObject();
jsonObject.put("jobName",jobTitle);
jsonObject.put("deptId",companyId1);
jsonObject.put("jobNumber",id);
jsonObject.put("enrollmentPlaces",quantity);
jsonObject.put("eduRecord",education1);
jsonObject.put("cityCode",cityId);
jsonObject.put("address",jobAddress);
jsonObject.put("positionType",jobType);
jsonObject.put("workYear",workAge1);
jsonObject.put("employmentType",jobNature1);
jsonObject.put("salaryMin",minSalary1);
jsonObject.put("salaryMax",maxSalary1);
jsonObject.put("salaryMonth",monthsalary);
jsonObject.put("jobDescription",jobDescription);
String rs = SxjgUtil.doJsonPostSz(this.getJobaddurl(),this.getAppid(),this.getAppReferer(),this.getToken(),jsonObject.toJSONString(),jdbcTemplate);
if(SxjgUtil.isSuccessSz(rs)) {
if(isAdd) {
log.error("jobnumber:"+ZLID);
//更新zlzwid 社招不反jobnumber固定写值用来判断岗位是否已经新增
SxjgUtil.updateZhilianId(id,"szylu",jdbcTemplate);
}
}else {
throw new Exception("职位新增接口异常!");
}
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public String getAppReferer() {
return appReferer;
}
public void setAppReferer(String appReferer) {
this.appReferer = appReferer;
}
public String getJobaddurl() {
return jobaddurl;
}
public void setJobaddurl(String jobaddurl) {
this.jobaddurl = jobaddurl;
}
public String getJobsave() {
return jobsave;
}
public void setJobsave(String jobsave) {
this.jobsave = jobsave;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getListpageurl() {
return listpageurl;
}
public void setListpageurl(String listpageurl) {
this.listpageurl = listpageurl;
}
public String getResumedetailsurl() {
return resumedetailsurl;
}
public void setResumedetailsurl(String resumedetailsurl) {
this.resumedetailsurl = resumedetailsurl;
}
public String getTenantKey() {
return tenantKey;
}
public void setTenantKey(String tenantKey) {
this.tenantKey = tenantKey;
}
public String getManagerId() {
return managerId;
}
public void setManagerId(String managerId) {
this.managerId = managerId;
}
}

@ -0,0 +1,104 @@
//package com.weaver.sxjg.esb;
//
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.Cell;
//import org.apache.poi.ss.usermodel.Row;
//import org.apache.poi.ss.usermodel.Sheet;
//import org.apache.poi.ss.usermodel.Workbook;
//import org.apache.poi.xssf.usermodel.XSSFWorkbook;
//import org.junit.Test;
//import org.springframework.boot.jdbc.DataSourceBuilder;
//import org.springframework.jdbc.core.JdbcTemplate;
//
//import javax.sql.DataSource;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.InputStream;
//import java.math.BigDecimal;
//import java.math.BigInteger;
//import java.util.ArrayList;
//import java.util.List;
//import java.util.Map;
//
//public class ExcelUtilHowe {
//
// @Test
// public void test1() throws Exception {
// DataSource db = DataSourceBuilder.create().driverClassName("com.mysql.cj.jdbc.Driver").username("ecology").password("uxJhLJn4%NpWxujAYyKsTpxP").url("jdbc:mysql://10.70.11.12:3306/ec_weaver_authresp?characterEncoding=utf8&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&allowMultiQueries=true").build();
// JdbcTemplate jdbcTemplate = new JdbcTemplate(db);
// File f = new File("D:\\fanwei\\作业\\E10\\陕建\\E10招聘\\社招对接智联招聘\\字典附件-职位类别字典.xls");
// List l = readExcel(f,jdbcTemplate);
// }
// //读取excel函数
// public List readExcel(File file,JdbcTemplate jdbcTemplate) throws Exception { //读取excel函数
// //获取文件名字
// String fileName = file.getName();
// //获取文件类型
// String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
// System.out.println(" **** fileType:" + fileType);
// //获取输入流
// InputStream stream = new FileInputStream(file);
// //获取工作薄
// Workbook xssfWorkbook = null;
// if (fileType.equals("xls")) {
// xssfWorkbook = new HSSFWorkbook(stream);
// } else if (fileType.equals("xlsx")) {
// xssfWorkbook = new XSSFWorkbook(stream);
// } else {
// System.out.println("您输入的excel格式不正确");
// }
// // TranTaskDao a = null;
// List aList = new ArrayList();
// // Read the Sheet
// Sheet Sheet = xssfWorkbook.getSheetAt(0);
// // Read the Row 从0开始
// for (int rowNum = 1; rowNum <= Sheet.getLastRowNum(); rowNum++) {
// Row Row = Sheet.getRow(rowNum);
// if (Row != null) {
// //判断这行记录是否存在
// if (Row.getLastCellNum() < 1 || "".equals(Row.getCell(0))) {
// continue;
// }
// //获取每一行封装成对象
// List<String> rowList = new ArrayList<String>();
// System.out.println("1111111");
// String value_key = "";
// String name = "";
// String parentvaluekey = "";
// String level = "";
// for(int colNum=0;colNum<Row.getLastCellNum();colNum++)
// {
// if(colNum == 0) {
// value_key =Row.getCell(colNum).toString();
// }
// if(colNum == 1) {
// name =Row.getCell(colNum).toString();
// }
// if(colNum == 2) {
// parentvaluekey =Row.getCell(colNum).toString();
// }
// if(colNum == 3) {
// BigDecimal bg = new BigDecimal(Row.getCell(colNum).toString());
// BigInteger f = bg.toBigInteger();
// level = f.toString();
// }
// }
// String sql = "select max(id) as numb from formdata_template_details where template_id = 910080699339833344";
// Map<String,Object> os = jdbcTemplate.queryForMap(sql);
// long numb = (long)os.get("numb");
// numb = numb +1;
//
// if("-".equals(parentvaluekey)) {
// String sql2 = "INSERT INTO `ec_weaver_authresp`.`formdata_template_details`(`ID`, `TEMPLATE_ID`, `ORDER`, `NAME`, `PARENT_ID`, `IS_DELETE`, `CREATOR`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DETAILS_LEVEL`, `style_config`, `archive`, `def_option`, `extra`, `value_key`, `label_id`, `tenant_key`, `other`, `score`, `delete_type`) VALUES ("+numb+", 910080699339833344, 0, '"+name+"', NULL, '0', 894092486124650497, '2023-09-19 11:37:55', NULL, NULL, '"+level+"', '{}', 0, 0, NULL, '"+value_key+"', NULL, 'tl2qvzz346', 0, 0, 0)";
// jdbcTemplate.execute(sql2);
// }else {
// String sql1 = "select id from formdata_template_details where value_key = '"+parentvaluekey+"' and template_id = 910080699339833344";
// long parentid = (long) (jdbcTemplate.queryForMap(sql1).get("id"));
// String sql2 = "INSERT INTO `ec_weaver_authresp`.`formdata_template_details`(`ID`, `TEMPLATE_ID`, `ORDER`, `NAME`, `PARENT_ID`, `IS_DELETE`, `CREATOR`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DETAILS_LEVEL`, `style_config`, `archive`, `def_option`, `extra`, `value_key`, `label_id`, `tenant_key`, `other`, `score`, `delete_type`) VALUES ("+numb+", 910080699339833344, 0, '"+name+"', "+parentid+", '0', 894092486124650497, '2023-09-19 11:37:55', NULL, NULL, '"+level+"', '{}', 0, 0, NULL, '"+value_key+"', NULL, 'tl2qvzz346', 0, 0, 0)";
// jdbcTemplate.execute(sql2);
// }
// }
// }
// return aList;
// }
//}

@ -20,6 +20,8 @@ import javax.crypto.*;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import java.io.*; import java.io.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.InvalidKeyException; import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -72,6 +74,10 @@ public class SxjgUtil {
return rt; return rt;
} }
/**
*
* code
*/
public static long getCityId(JdbcTemplate jdbcTemplate,String name){ public static long getCityId(JdbcTemplate jdbcTemplate,String name){
String sql = "select count(id) as sums from zhilian_zidian where cnName like '%"+name+"%' and type='REGIONS' and attribute in ('CITY','DISTRICT')"; String sql = "select count(id) as sums from zhilian_zidian where cnName like '%"+name+"%' and type='REGIONS' and attribute in ('CITY','DISTRICT')";
Map map = jdbcTemplate.queryForMap(sql); Map map = jdbcTemplate.queryForMap(sql);
@ -86,6 +92,24 @@ public class SxjgUtil {
return code1; return code1;
} }
/**
*
* code
*/
public static long getCityIdsz(JdbcTemplate jdbcTemplate,String name1){
String sql = "select count(id) as sums from zhilian_zidiansz where name like '%"+name1+"%' and is_delete = '0' and type = 'city'";
Map map = jdbcTemplate.queryForMap(sql);
long sums = (long)map.get("sums");
if(sums==0l) {
return 512l;//其他
}
sql = "select code from zhilian_zidiansz where name like '%"+name1+"%' and is_delete = '0' and type = 'city' limit 1";
map = jdbcTemplate.queryForMap(sql);
String code = (String)map.get("code");
long code1 = Long.parseLong(code);
return code1;
}
public static void updateToken(String at1,String rt1,JdbcTemplate jdbcTemplate,String orgCodes){ public static void updateToken(String at1,String rt1,JdbcTemplate jdbcTemplate,String orgCodes){
String sql = "select id from zhilian_token where orgcode = '"+orgCodes+"' limit 1"; String sql = "select id from zhilian_token where orgcode = '"+orgCodes+"' limit 1";
Map map = jdbcTemplate.queryForMap(sql); Map map = jdbcTemplate.queryForMap(sql);
@ -94,6 +118,9 @@ public class SxjgUtil {
jdbcTemplate.execute(updatesql); jdbcTemplate.execute(updatesql);
} }
/**
* postcontent-typeapplication/json
*/
public static String doJsonPost(String url,String clientid,String json,JdbcTemplate jdbcTemplate,String orgcode) { public static String doJsonPost(String url,String clientid,String json,JdbcTemplate jdbcTemplate,String orgcode) {
log.error("智联接口"+url+",推送报文:>>>>>>>>>>>>>>>>>>>>>>"+json); log.error("智联接口"+url+",推送报文:>>>>>>>>>>>>>>>>>>>>>>"+json);
CloseableHttpClient client = HttpClients.createDefault(); CloseableHttpClient client = HttpClients.createDefault();
@ -128,6 +155,78 @@ public class SxjgUtil {
} }
/** /**
* postcontent-typeapplication/json
*/
public static String doJsonPostSz(String url,String appId,String appReferer,String accessToken,String json,JdbcTemplate jdbcTemplate) {
log.error("智联接口"+url+",推送报文:>>>>>>>>>>>>>>>>>>>>>>"+json);
CloseableHttpClient client = HttpClients.createDefault();
HttpPost post = new HttpPost(url);
post.setHeader("Content-Type", "application/json;charset=utf-8");
post.setHeader("appId", appId);
post.setHeader("appReferer",appReferer);
post.setHeader("accessToken",accessToken);
String result="";
try {
StringEntity s = new StringEntity(json,"UTF-8");
s.setContentEncoding("utf-8");
s.setContentType("application/json");
post.setEntity(s);
// 发送请求
HttpResponse httpResponse = client.execute(post);
// 获取响应输入流
InputStream inStream = httpResponse.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
inStream,"utf-8"));
StringBuilder strber = new StringBuilder();
String line;
while ((line = reader.readLine()) != null)
strber.append(line + "\n");
inStream.close();
result = strber.toString();
log.error("智联接口"+url+",返回值:>>>>>>>>>>>>>>>>>>>>>>"+result);
} catch (Exception e) {
log.error("智联接口"+url+",返回值:>>>>>>>>>>>>>>>>>>>>>>"+e.getMessage());
e.printStackTrace();
}
return result;
}
/**
* get
*/
public static String getMethodForsz(String urls,String appId,String appReferer,String accessToken,String id) {
try {
urls = urls+"?id="+id;
// 1. 创建URL对象
URL url = new URL(urls);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 3. 设置请求方法
connection.setRequestMethod("GET");
// 4. 设置Header
connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
connection.setRequestProperty("appId", appId);
connection.setRequestProperty("appReferer", appReferer);
connection.setRequestProperty("accessToken", accessToken);
// 5. 发送请求
int responseCode = connection.getResponseCode();
// 6. 处理响应
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String response;
StringBuilder responseBuilder = new StringBuilder();
while ((response = reader.readLine()) != null) {
responseBuilder.append(response);
}
reader.close();
String responseBody = responseBuilder.toString();
return responseBody;
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
/**
*
* [{"attribute":"11","cnName":"博士","code":"1","enName":"Doctor","parentCode":"0","pyName":"boshi"},{"attribute":"8","cnName":"硕士","code":"3","enName":"Master","parentCode":"0","pyName":"shuoshi"},{"attribute":"7","cnName":"本科","code":"4","enName":"Bachelor","parentCode":"0","pyName":"benke"},{"attribute":"5","cnName":"大专","code":"5","enName":"Associate","parentCode":"0","pyName":"dazhuan"},{"attribute":"3","cnName":"高中","code":"7","enName":" Senior High","parentCode":"0","pyName":"gaozhong"},{"attribute":"1","cnName":"初中及以下","code":"9","enName":"junior high","parentCode":"0","pyName":"chuzhongjiyixia"},{"attribute":"9","cnName":"MBA/EMBA","code":"10","enName":"MBA/EMBA","parentCode":"0","pyName":"MBA/EMBA"},{"attribute":"4","cnName":"中专/中技","code":"12","enName":"Secondary Specialized/Skilled Workers Training","parentCode":"0","pyName":"zhongzhuan/zhongji"}] * [{"attribute":"11","cnName":"博士","code":"1","enName":"Doctor","parentCode":"0","pyName":"boshi"},{"attribute":"8","cnName":"硕士","code":"3","enName":"Master","parentCode":"0","pyName":"shuoshi"},{"attribute":"7","cnName":"本科","code":"4","enName":"Bachelor","parentCode":"0","pyName":"benke"},{"attribute":"5","cnName":"大专","code":"5","enName":"Associate","parentCode":"0","pyName":"dazhuan"},{"attribute":"3","cnName":"高中","code":"7","enName":" Senior High","parentCode":"0","pyName":"gaozhong"},{"attribute":"1","cnName":"初中及以下","code":"9","enName":"junior high","parentCode":"0","pyName":"chuzhongjiyixia"},{"attribute":"9","cnName":"MBA/EMBA","code":"10","enName":"MBA/EMBA","parentCode":"0","pyName":"MBA/EMBA"},{"attribute":"4","cnName":"中专/中技","code":"12","enName":"Secondary Specialized/Skilled Workers Training","parentCode":"0","pyName":"zhongzhuan/zhongji"}]
*/ */
public static int getEducode(String name) { public static int getEducode(String name) {
@ -165,6 +264,45 @@ public class SxjgUtil {
} }
/** /**
*
* [{"attribute":"11","cnName":"博士","code":"1","enName":"Doctor","parentCode":"0","pyName":"boshi"},{"attribute":"8","cnName":"硕士","code":"3","enName":"Master","parentCode":"0","pyName":"shuoshi"},{"attribute":"7","cnName":"本科","code":"4","enName":"Bachelor","parentCode":"0","pyName":"benke"},{"attribute":"5","cnName":"大专","code":"5","enName":"Associate","parentCode":"0","pyName":"dazhuan"},{"attribute":"3","cnName":"高中","code":"7","enName":" Senior High","parentCode":"0","pyName":"gaozhong"},{"attribute":"1","cnName":"初中及以下","code":"9","enName":"junior high","parentCode":"0","pyName":"chuzhongjiyixia"},{"attribute":"9","cnName":"MBA/EMBA","code":"10","enName":"MBA/EMBA","parentCode":"0","pyName":"MBA/EMBA"},{"attribute":"4","cnName":"中专/中技","code":"12","enName":"Secondary Specialized/Skilled Workers Training","parentCode":"0","pyName":"zhongzhuan/zhongji"}]
*/
public static int getEducodesz(String name) {
if("不限".equals(name)) {
return -1;//初中及以下
}
if("初中及以下".equals(name)) {
return 9;
}
if("中专/中技".equals(name)) {
return 13;
}
if("高中".equals(name)) {
return 7;
}
if("大专".equals(name)) {
return 5;
}
if("本科".equals(name)) {
return 4;
}
if("硕士".equals(name)) {
return 3;
}
if("博士".equals(name)) {
return 1;
}
if("MBA".equals(name)) {
return 10;
}
if("其他".equals(name)) {
return 8;
}
return 8;
}
/**
*
* [{"cnName":"无经验","code":"0000","enName":"No experience","parentCode":"0","pyName":"wujingyan"},{"cnName":"1年以下","code":"0001","enName":"Below 1 Year","parentCode":"0","pyName":"nianyixia"},{"cnName":"1-3年","code":"0103","enName":"1-3 Year","parentCode":"0","pyName":"nian"},{"cnName":"3-5年","code":"0305","enName":"3-5 Year","parentCode":"0","pyName":"nian"},{"cnName":"5-10年","code":"0510","enName":"5-10 Year","parentCode":"0","pyName":"nian"},{"cnName":"10年以上","code":"1099","enName":"Above 10 Year","parentCode":"0","pyName":"nianyishang"}] * [{"cnName":"无经验","code":"0000","enName":"No experience","parentCode":"0","pyName":"wujingyan"},{"cnName":"1年以下","code":"0001","enName":"Below 1 Year","parentCode":"0","pyName":"nianyixia"},{"cnName":"1-3年","code":"0103","enName":"1-3 Year","parentCode":"0","pyName":"nian"},{"cnName":"3-5年","code":"0305","enName":"3-5 Year","parentCode":"0","pyName":"nian"},{"cnName":"5-10年","code":"0510","enName":"5-10 Year","parentCode":"0","pyName":"nian"},{"cnName":"10年以上","code":"1099","enName":"Above 10 Year","parentCode":"0","pyName":"nianyishang"}]
*/ */
public static int getWordExpCode(String name){ public static int getWordExpCode(String name){
@ -215,6 +353,11 @@ public class SxjgUtil {
JSONObject r1 = JSONObject.parseObject(s); JSONObject r1 = JSONObject.parseObject(s);
return "成功".equals(r1.getString("message")) ? true : false; return "成功".equals(r1.getString("message")) ? true : false;
} }
public static boolean isSuccessSz(String s) {
if(s.length()==0)return false;
JSONObject r1 = JSONObject.parseObject(s);
return r1.getBoolean("success");
}
public static void updateZhilianId(String id1,String zwid1,JdbcTemplate jdbcTemplate) { public static void updateZhilianId(String id1,String zwid1,JdbcTemplate jdbcTemplate) {
String sql = "update uf_rcrt_position set zlzwid = '"+zwid1+"' where id = "+id1; String sql = "update uf_rcrt_position set zlzwid = '"+zwid1+"' where id = "+id1;
@ -227,8 +370,17 @@ public class SxjgUtil {
return Long.parseLong(rs); return Long.parseLong(rs);
} }
public static String getTypeList(String str,String spe) {
String[] res = str.split(spe);
String s = "[\""+res[0]+"\",\""+res[1]+"\",\""+res[2]+"\"]";
return s;
}
/**
*
* jobnumber
*/
public static String getJobNumber(String id1, JdbcTemplate jdbcTemplate) { public static String getJobNumber(String id1, JdbcTemplate jdbcTemplate) {
String sql = "select zlzwid from uf_rcrt_position where id = "+id1; String sql = "select zlzwid from uf_rcrt_position where recruit_type = '840768530055184391' and id = "+id1;
try { try {
Map<String, Object> rs = jdbcTemplate.queryForMap(sql); Map<String, Object> rs = jdbcTemplate.queryForMap(sql);
if(rs.get("zlzwid")==null) { if(rs.get("zlzwid")==null) {
@ -241,6 +393,26 @@ public class SxjgUtil {
} }
} }
/**
*
* jobnumber
*/
public static String getJobNumbersz(String id1, JdbcTemplate jdbcTemplate) {
String sql = "select zlzwid from uf_rcrt_position where recruit_type = '840768530055184389' and id = "+id1;
try {
Map<String, Object> rs = jdbcTemplate.queryForMap(sql);
if(rs.get("zlzwid")==null) {
return "";
}
String jobNumber = (String)rs.get("zlzwid");
return jobNumber;
}catch (Exception e){
return "";
}
}
/**
*
*/
public static String getZlbh(String orgcode,JdbcTemplate jdbcTemplate) { public static String getZlbh(String orgcode,JdbcTemplate jdbcTemplate) {
String sql = "select zlbh from uf_rcrt_zhilianzh where ssfb = '"+orgcode+"' and IS_DELETE = 0 and qyzt = '1' limit 1"; String sql = "select zlbh from uf_rcrt_zhilianzh where ssfb = '"+orgcode+"' and IS_DELETE = 0 and qyzt = '1' limit 1";
try { try {
@ -251,7 +423,24 @@ public class SxjgUtil {
return ""; return "";
} }
} }
/**
*
*/
public static String getZlbhSz(String orgcode,JdbcTemplate jdbcTemplate) {
String sql = "select zljgbh from uf_rcrt_zhiliansz where ssfb = '"+orgcode+"' and IS_DELETE = 0 and qyzt = '1' limit 1";
try {
Map<String, Object> rs = jdbcTemplate.queryForMap(sql);
String zljgbh = (String)rs.get("zljgbh");
return zljgbh;
}catch (Exception e){
e.printStackTrace();
return "";
}
}
/**
*
*
*/
public static String decrypt(String secretKey, String content) { public static String decrypt(String secretKey, String content) {
byte[] code = Base64.getDecoder().decode(content); byte[] code = Base64.getDecoder().decode(content);
try { try {
@ -278,8 +467,23 @@ public class SxjgUtil {
jdbcTemplate.execute(sql); jdbcTemplate.execute(sql);
} }
/**
*
*
* 840768530055184391
*/
public static List<Map<String,Object>> getZlTblist(JdbcTemplate jdbcTemplate) { public static List<Map<String,Object>> getZlTblist(JdbcTemplate jdbcTemplate) {
String sql = "select id,zlzwid,sub_company,jobsyctime from uf_rcrt_position where zlzwid is not null and sfyfbzl = '1'"; String sql = "select id,zlzwid,sub_company,jobsyctime from uf_rcrt_position where zlzwid is not null and sfyfbzl = '1' and recruit_type = '840768530055184391'";
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
return rs;
}
/**
*
*
* 840768530055184389
*/
public static List<Map<String,Object>> getZlTblistsz(JdbcTemplate jdbcTemplate) {
String sql = "select id,zlzwid,sub_company,jobsyctime from uf_rcrt_position where zlzwid is not null and sfyfbzl = '1' and recruit_type = '840768530055184389'";
List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql); List<Map<String,Object>> rs = jdbcTemplate.queryForList(sql);
return rs; return rs;
} }
@ -309,6 +513,25 @@ public class SxjgUtil {
} }
} }
/**
* 66
*/
public static Date sixDaylater(Date pre,Date now) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long time2 = pre.getTime();
long time1 = now.getTime();
long diff = Math.abs(time1 - time2);
long days = 24 * 60 * 60 * 1000 * 6;
if(diff > days){
Calendar calendar = Calendar.getInstance();
calendar.setTime(pre);
calendar.add(Calendar.DAY_OF_MONTH, 6);
Date date = calendar.getTime();
return date;
}else {
return now;
}
}
public static String getTimeStrByDate(Date date,String formate) { public static String getTimeStrByDate(Date date,String formate) {
SimpleDateFormat sdf2 = new SimpleDateFormat(formate); SimpleDateFormat sdf2 = new SimpleDateFormat(formate);
String strDate2 = sdf2.format(date); String strDate2 = sdf2.format(date);
@ -331,4 +554,5 @@ public class SxjgUtil {
long sums = (long)rs.get("nums"); long sums = (long)rs.get("nums");
return sums>0l; return sums>0l;
} }
} }

@ -4,10 +4,17 @@ message.Pwd=8EB31B
message.url=https://sdk3.028lk.com:9988/BatchSend2.aspx message.url=https://sdk3.028lk.com:9988/BatchSend2.aspx
message.qm=陕西建工集团 message.qm=陕西建工集团
#对接智联招聘 #陕建配置信息
#租户key
tenantKey=tl2qvzz346
#管理员ID张志东
managerid=891584027606974465
#对接智联招聘(校招)
sxjg.refreshtokenurl=https://passport.zhaopin.com/oauth2/refresh sxjg.refreshtokenurl=https://passport.zhaopin.com/oauth2/refresh
sxjg.client_id=qhtckatltjpqirtdfnsppqbupiawbsxx sxjg.client_id=qhtckatltjpqirtdfnsppqbupiawbsxx
sxjg.client_secret=f84143451273b860f3bfe5a5e94dc25f sxjg.client_secret=f84143451273b860f3bfe5a5e94dc25f
sxjg.secretkey=6rd5K2zbmk6B83r9dPn8lA==
sxjg.dicturl=https://api.zhaopin.com/api/basedata/dicList?scene=scdr&version=1.0.0 sxjg.dicturl=https://api.zhaopin.com/api/basedata/dicList?scene=scdr&version=1.0.0
sxjg.jobadd=https://api.zhaopin.com/api/job/create?scene=scdr&version=1.0.0 sxjg.jobadd=https://api.zhaopin.com/api/job/create?scene=scdr&version=1.0.0
sxjg.jobupdate=https://api.zhaopin.com/api/job/update?scene=scdr&version=1.0.0 sxjg.jobupdate=https://api.zhaopin.com/api/job/update?scene=scdr&version=1.0.0
@ -15,3 +22,13 @@ sxjg.jobpublish=https://api.zhaopin.com/api/job/publish?scene=scdr&version=1.0.0
sxjg.joboffline=https://api.zhaopin.com/api/job/offline?scene=scdr&version=1.0.0 sxjg.joboffline=https://api.zhaopin.com/api/job/offline?scene=scdr&version=1.0.0
sxjg.wslburl=https://api.zhaopin.com/api/resume/list?scene=scdr&version=1.0.0 sxjg.wslburl=https://api.zhaopin.com/api/resume/list?scene=scdr&version=1.0.0
sxjg.wslbxqurl=https://api.zhaopin.com/api/resume/secretDetail?scene=scdr&version=1.0.0 sxjg.wslbxqurl=https://api.zhaopin.com/api/resume/secretDetail?scene=scdr&version=1.0.0
sxjg.annexurl=https://api.zhaopin.com/api/resume/getResumeAnnex?scene=scdr&version=1.0.0
#对接智联招聘(社招)
sxjgsz.appid=ddfe4ed897a55342306e76cf7861f78f
sxjgsz.token=36fc45dcA6A440d79EE144Eb29f5b4db641E506dd72A46008673d1cd05775d32
sxjgsz.appReferer=https://sxjgjt2023.zhaopin.com
sxjgsz.jobadd=https://zkapi.zhaopin.com/openapi/ats/job/save
sxjgsz.jobsave=https://zkapi.zhaopin.com/openapi/ats/job/batchUpdateStatus
sxjgsz.listpageurl=https://zkapi.zhaopin.com/openapi/ats/applyInfo/listPage
sxjgsz.listpagedetail=https://zkapi.zhaopin.com/openapi/ats/applyInfo/detail
Loading…
Cancel
Save