Commit f96a3b35 by 284718418@qq.com

应聘登记通知

测评通知
parent f1f18cd3
...@@ -6,6 +6,7 @@ import cn.timer.api.bean.kqmk.*; ...@@ -6,6 +6,7 @@ import cn.timer.api.bean.kqmk.*;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso; import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin; import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.spmk.SpmkCustomApproval; import cn.timer.api.bean.spmk.SpmkCustomApproval;
import cn.timer.api.bean.wechat.MessageTemplate;
import cn.timer.api.bean.yggl.YgglMainEmp; import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.zpgl.*; import cn.timer.api.bean.zpgl.*;
import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.CurrentUser;
...@@ -17,17 +18,20 @@ import cn.timer.api.config.exception.CustomException; ...@@ -17,17 +18,20 @@ import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.kqgl.ClockInTool; import cn.timer.api.controller.kqgl.ClockInTool;
import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate; import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate;
import cn.timer.api.controller.zpgl.sevice.ZpglService; import cn.timer.api.controller.zpgl.sevice.ZpglService;
import cn.timer.api.controller.zpgl.sevice.ZpglWxgzptService;
import cn.timer.api.dao.kqgl.UserEquiRelationMapper; import cn.timer.api.dao.kqgl.UserEquiRelationMapper;
import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper; import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper; import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper; import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.zpgl.ZpglRcxxMapper; import cn.timer.api.dao.zpgl.ZpglRcxxMapper;
import cn.timer.api.dto.template.InterviewNotice;
import cn.timer.api.dto.zpgl.ImportCandidateDto; import cn.timer.api.dto.zpgl.ImportCandidateDto;
import cn.timer.api.dto.zpgl.ZpglRcxxDto; import cn.timer.api.dto.zpgl.ZpglRcxxDto;
import cn.timer.api.dto.zpgl.ZpglRcxxEntryDto; import cn.timer.api.dto.zpgl.ZpglRcxxEntryDto;
import cn.timer.api.utils.Md5; import cn.timer.api.utils.Md5;
import cn.timer.api.utils.Result; import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil; import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.ZpglMessageTemplate;
import cn.timer.api.utils.query.BaseQuery; import cn.timer.api.utils.query.BaseQuery;
import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus; import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -96,6 +100,18 @@ public class ZpglController { ...@@ -96,6 +100,18 @@ public class ZpglController {
private ZpglService zpglService; private ZpglService zpglService;
@Autowired @Autowired
private ZpglRcxxMapper zpglRcxxMapper; private ZpglRcxxMapper zpglRcxxMapper;
@Autowired
private ZpglWxgzptService zpglWxgzptService;
/**
* 0应聘登记
*/
public static final int APPLY_STATUS = 0;
/**
* 1测评
*/
public static final int CP_STATUS = 1;
@Value("${h5.url}")
private String h5Url;
/** /**
* 招聘-招聘中 * 招聘-招聘中
...@@ -113,7 +129,7 @@ public class ZpglController { ...@@ -113,7 +129,7 @@ public class ZpglController {
try { try {
Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize()); Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
QueryWrapper<ZpglRcxx> queryWrapper = new QueryWrapper<>(); QueryWrapper<ZpglRcxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, userBean.getOrgCode()).eq(ZpglRcxx::getDeleteFlag,0); queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, userBean.getOrgCode()).eq(ZpglRcxx::getDeleteFlag, 0);
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) { if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.lambda().eq(ZpglRcxx::getZpglZwxxId, zpglZwxxId); queryWrapper.lambda().eq(ZpglRcxx::getZpglZwxxId, zpglZwxxId);
} }
...@@ -129,14 +145,14 @@ public class ZpglController { ...@@ -129,14 +145,14 @@ public class ZpglController {
zpglRcxxPage.getSize(); zpglRcxxPage.getSize();
Map<String, Object> map = new HashMap<>(9); Map<String, Object> map = new HashMap<>(9);
map.put("zpglRcxxs", zpglRcxxs); map.put("zpglRcxxs", zpglRcxxs);
map.put("FILTERING", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.FILTERING.getType(),userBean.getOrgCode())); map.put("FILTERING", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.FILTERING.getType(), userBean.getOrgCode()));
map.put("FILTER_PASS", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.FILTER_PASS.getType(),userBean.getOrgCode())); map.put("FILTER_PASS", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.FILTER_PASS.getType(), userBean.getOrgCode()));
map.put("INTERVIEW", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.INTERVIEW.getType(),userBean.getOrgCode())); map.put("INTERVIEW", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.INTERVIEW.getType(), userBean.getOrgCode()));
map.put("INTERVIEWED", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.INTERVIEWED.getType(),userBean.getOrgCode())); map.put("INTERVIEWED", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.INTERVIEWED.getType(), userBean.getOrgCode()));
map.put("INTERVIEW_PASS", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType(),userBean.getOrgCode())); map.put("INTERVIEW_PASS", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType(), userBean.getOrgCode()));
map.put("EMPLOY", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.EMPLOY.getType(),userBean.getOrgCode())); map.put("EMPLOY", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.EMPLOY.getType(), userBean.getOrgCode()));
map.put("OFFER", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.OFFER.getType(),userBean.getOrgCode())); map.put("OFFER", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.OFFER.getType(), userBean.getOrgCode()));
map.put("ENTRYING", this.getNum(queryWrapper,JxglEnumInterface.ResumeStatus.ENTRYING.getType(),userBean.getOrgCode())); map.put("ENTRYING", this.getNum(queryWrapper, JxglEnumInterface.ResumeStatus.ENTRYING.getType(), userBean.getOrgCode()));
return ResultUtil.data(zpglRcxxPage, map, "搜索成功"); return ResultUtil.data(zpglRcxxPage, map, "搜索成功");
} catch (Exception e) { } catch (Exception e) {
...@@ -155,12 +171,12 @@ public class ZpglController { ...@@ -155,12 +171,12 @@ public class ZpglController {
@GetMapping(value = "/zwxx/{deleteFlag}") @GetMapping(value = "/zwxx/{deleteFlag}")
@ApiOperation(value = "2.职位信息", httpMethod = "GET", notes = "职位信息deleteFlag:0") @ApiOperation(value = "2.职位信息", httpMethod = "GET", notes = "职位信息deleteFlag:0")
@ApiOperationSupport(order = 2) @ApiOperationSupport(order = 2)
public Result<Object> zwxx(@CurrentUser UserBean userBean,@PathVariable Integer deleteFlag) { public Result<Object> zwxx(@CurrentUser UserBean userBean, @PathVariable Integer deleteFlag) {
try { try {
QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>(); QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZwxx::getOrgCode, userBean.getOrgCode()); queryWrapper.lambda().eq(ZpglZwxx::getOrgCode, userBean.getOrgCode());
if(deleteFlag.intValue() == 1 ){ if (deleteFlag.intValue() == 1) {
queryWrapper.lambda().eq(ZpglZwxx::getDeleteFlag,0); queryWrapper.lambda().eq(ZpglZwxx::getDeleteFlag, 0);
} }
List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper); List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglZwxxs, "查询成功"); return ResultUtil.data(zpglZwxxs, "查询成功");
...@@ -181,7 +197,7 @@ public class ZpglController { ...@@ -181,7 +197,7 @@ public class ZpglController {
@ApiOperationSupport(order = 3) @ApiOperationSupport(order = 3)
public Result<Object> operation(@CurrentUser UserBean userBean, @RequestBody ZpglRcxxDto zpglRcxxDto) { public Result<Object> operation(@CurrentUser UserBean userBean, @RequestBody ZpglRcxxDto zpglRcxxDto) {
try { try {
return zpglService.updateZpglRcxx(userBean,zpglRcxxDto)?ResultUtil.success():ResultUtil.error(); return zpglService.updateZpglRcxx(userBean, zpglRcxxDto) ? ResultUtil.success() : ResultUtil.error();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomException("招聘-变更状态失败"); throw new CustomException("招聘-变更状态失败");
...@@ -201,7 +217,7 @@ public class ZpglController { ...@@ -201,7 +217,7 @@ public class ZpglController {
public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody ZpglRcxxEntryDto addygdaDto) { public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody ZpglRcxxEntryDto addygdaDto) {
try { try {
ZpglRcxx zpglRcxx = ZpglRcxx.builder().id(addygdaDto.getId()).build().selectById(); ZpglRcxx zpglRcxx = ZpglRcxx.builder().id(addygdaDto.getId()).build().selectById();
if(StringUtils.isEmpty(zpglRcxx)){ if (StringUtils.isEmpty(zpglRcxx)) {
return ResultUtil.error("确认入职添加员工档案失败"); return ResultUtil.error("确认入职添加员工档案失败");
} }
...@@ -237,7 +253,7 @@ public class ZpglController { ...@@ -237,7 +253,7 @@ public class ZpglController {
YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda() YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda()
.eq(YgglMainEmp::getPhone, phone).eq(YgglMainEmp::getOrgCode, orgCode)); .eq(YgglMainEmp::getPhone, phone).eq(YgglMainEmp::getOrgCode, orgCode));
if(!StringUtils.isEmpty(ygglMainEmp)){ if (!StringUtils.isEmpty(ygglMainEmp)) {
return ResultUtil.error("该手机号已被使用,请输入正确手机号"); return ResultUtil.error("该手机号已被使用,请输入正确手机号");
} }
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType()) QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType())
...@@ -275,7 +291,7 @@ public class ZpglController { ...@@ -275,7 +291,7 @@ public class ZpglController {
} else { } else {
uskqj.setIsGly(0); uskqj.setIsGly(0);
} }
if (!uskqj.insert()){ if (!uskqj.insert()) {
return ResultUtil.error("操作失败--新增用户与设备关系"); return ResultUtil.error("操作失败--新增用户与设备关系");
} }
} }
...@@ -308,7 +324,7 @@ public class ZpglController { ...@@ -308,7 +324,7 @@ public class ZpglController {
} }
// 招聘-变更人才信息状态 // 招聘-变更人才信息状态
// 添加面试流程记录 // 添加面试流程记录
zpglService.updateZpglRcxx(userBean,zpglRcxxDto); zpglService.updateZpglRcxx(userBean, zpglRcxxDto);
// 维护微信公众平台表++++++++++++++++++++++++++++++++++++++++++++ // 维护微信公众平台表++++++++++++++++++++++++++++++++++++++++++++
try { try {
realtimeupdate.AttendanceTask(userBean.getOrgCode(), ygglMainEmp.getEmpNum(), 2, null); realtimeupdate.AttendanceTask(userBean.getOrgCode(), ygglMainEmp.getEmpNum(), 2, null);
...@@ -344,31 +360,31 @@ public class ZpglController { ...@@ -344,31 +360,31 @@ public class ZpglController {
MPJQueryWrapper<ZpglRcxx> queryWrapper = new MPJQueryWrapper<>(); MPJQueryWrapper<ZpglRcxx> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.selectAll(ZpglRcxx.class).select("zf.fail_cause") queryWrapper.selectAll(ZpglRcxx.class).select("zf.fail_cause")
.leftJoin("zpgl_fail zf on t.zpgl_fail_id = zf.id"); .leftJoin("zpgl_fail zf on t.zpgl_fail_id = zf.id");
queryWrapper.eq("t.org_code", userBean.getOrgCode()).eq("t.delete_flag",0).eq("zf.org_code", userBean.getOrgCode()); queryWrapper.eq("t.org_code", userBean.getOrgCode()).eq("t.delete_flag", 0).eq("zf.org_code", userBean.getOrgCode());
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) { if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.eq("t.zpgl_zwxx_id", zpglZwxxId); queryWrapper.eq("t.zpgl_zwxx_id", zpglZwxxId);
} }
if (!StringUtils.isEmpty(query)) { if (!StringUtils.isEmpty(query)) {
queryWrapper.and(qw -> qw.like("t.name", query).or().eq("t.mobile", query).or().eq("t.mail", query)); queryWrapper.and(qw -> qw.like("t.name", query).or().eq("t.mobile", query).or().eq("t.mail", query));
} }
if(!StringUtils.isEmpty(status)){ if (!StringUtils.isEmpty(status)) {
queryWrapper.eq("t.status", 9); queryWrapper.eq("t.status", 9);
queryWrapper.eq("zf.zpgl_rcxx_status", status); queryWrapper.eq("zf.zpgl_rcxx_status", status);
}else { } else {
queryWrapper.eq("t.ifrck", 1); queryWrapper.eq("t.ifrck", 1);
} }
if(!StringUtils.isEmpty(orderBy)){ if (!StringUtils.isEmpty(orderBy)) {
// 排序 1最近跟进时间 2最近入库时间 3最早入库时间 // 排序 1最近跟进时间 2最近入库时间 3最早入库时间
if(orderBy.intValue() == 1){ if (orderBy.intValue() == 1) {
queryWrapper.orderByDesc("t.update_time"); queryWrapper.orderByDesc("t.update_time");
}else if(orderBy.intValue() == 2){ } else if (orderBy.intValue() == 2) {
queryWrapper.orderByDesc("t.ifrck_time"); queryWrapper.orderByDesc("t.ifrck_time");
}else if(orderBy.intValue() == 3){ } else if (orderBy.intValue() == 3) {
queryWrapper.orderByAsc("t.ifrck_time"); queryWrapper.orderByAsc("t.ifrck_time");
} }
} }
IPage<ZpglRcxx> zpglRcxxPage = zpglRcxxMapper.selectJoinPage(page,ZpglRcxx.class,queryWrapper); IPage<ZpglRcxx> zpglRcxxPage = zpglRcxxMapper.selectJoinPage(page, ZpglRcxx.class, queryWrapper);
List<ZpglRcxx> zpglRcxxs = page.getRecords(); List<ZpglRcxx> zpglRcxxs = page.getRecords();
zpglRcxxPage.getCurrent(); zpglRcxxPage.getCurrent();
zpglRcxxPage.getPages(); zpglRcxxPage.getPages();
...@@ -382,6 +398,7 @@ public class ZpglController { ...@@ -382,6 +398,7 @@ public class ZpglController {
} }
} }
/** /**
* 招聘-逻辑删除人才信息 * 招聘-逻辑删除人才信息
* *
...@@ -393,13 +410,14 @@ public class ZpglController { ...@@ -393,13 +410,14 @@ public class ZpglController {
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
public Result<Object> edit(@CurrentUser UserBean userBean, @PathVariable Integer id) { public Result<Object> edit(@CurrentUser UserBean userBean, @PathVariable Integer id) {
try { try {
return ZpglRcxx.builder().id(id).deleteFlag(1).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败"); return ZpglRcxx.builder().id(id).deleteFlag(1).userId(userBean.getEmpNum()).build().updateById() ? ResultUtil.success("操作成功") : ResultUtil.error("操作失败");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败"); throw new CustomException("招聘-删除人才信息失败");
} }
} }
/** /**
* 招聘-移入/出人才库 * 招聘-移入/出人才库
* *
...@@ -411,7 +429,7 @@ public class ZpglController { ...@@ -411,7 +429,7 @@ public class ZpglController {
@ApiOperationSupport(order = 6) @ApiOperationSupport(order = 6)
public Result<Object> remove(@CurrentUser UserBean userBean, @PathVariable Integer id, @PathVariable Integer ifrck) { public Result<Object> remove(@CurrentUser UserBean userBean, @PathVariable Integer id, @PathVariable Integer ifrck) {
try { try {
return ZpglRcxx.builder().id(id).ifrck(ifrck).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败"); return ZpglRcxx.builder().id(id).ifrck(ifrck).userId(userBean.getEmpNum()).build().updateById() ? ResultUtil.success("操作成功") : ResultUtil.error("操作失败");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败"); throw new CustomException("招聘-删除人才信息失败");
...@@ -421,6 +439,7 @@ public class ZpglController { ...@@ -421,6 +439,7 @@ public class ZpglController {
/** /**
* 招聘-导入候选人简历 * 招聘-导入候选人简历
*
* @param userBean * @param userBean
* @param file * @param file
* @param request * @param request
...@@ -433,18 +452,18 @@ public class ZpglController { ...@@ -433,18 +452,18 @@ public class ZpglController {
public Result<Object> resumeImportCandidate(@CurrentUser UserBean userBean, @RequestParam(required = true) MultipartFile file, public Result<Object> resumeImportCandidate(@CurrentUser UserBean userBean, @RequestParam(required = true) MultipartFile file,
@ApiParam("招聘渠道ID") @RequestParam(required = false) Integer zpglZpqdId, @ApiParam("招聘渠道ID") @RequestParam(required = false) Integer zpglZpqdId,
@ApiParam("职位信息Id") @RequestParam(required = true) Integer zpglZwxxId, @ApiParam("职位信息Id") @RequestParam(required = true) Integer zpglZwxxId,
@ApiParam("状态") @RequestParam(required = true) Integer status,HttpServletRequest request) { @ApiParam("状态") @RequestParam(required = true) Integer status, HttpServletRequest request) {
try { try {
ImportCandidateDto importCandidateDto = new ImportCandidateDto(); ImportCandidateDto importCandidateDto = new ImportCandidateDto();
importCandidateDto.setStatus(status); importCandidateDto.setStatus(status);
importCandidateDto.setZpglZpqdId(zpglZpqdId); importCandidateDto.setZpglZpqdId(zpglZpqdId);
importCandidateDto.setZpglZwxxId(zpglZwxxId); importCandidateDto.setZpglZwxxId(zpglZwxxId);
// 获取文件 文档类型,目前支持pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif格式 // 获取文件 文档类型,目前支持pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif格式
String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1); String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
if(StringUtils.isEmpty(suffix)){ if (StringUtils.isEmpty(suffix)) {
return ResultUtil.error("导入简历失败,请检查是否为简历文件~"); return ResultUtil.error("导入简历失败,请检查是否为简历文件~");
} }
if("pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif".indexOf(suffix) == -1){ if ("pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif".indexOf(suffix) == -1) {
return ResultUtil.error("导入简历失败,目前支持pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif格式~"); return ResultUtil.error("导入简历失败,目前支持pdf,doc,docx,wps,txt,jpg,jpeg,png,bmp,tif格式~");
} }
importCandidateDto.setSuffix(suffix); importCandidateDto.setSuffix(suffix);
...@@ -458,6 +477,7 @@ public class ZpglController { ...@@ -458,6 +477,7 @@ public class ZpglController {
} }
} }
/** /**
* 招聘-更改招聘职位 * 招聘-更改招聘职位
* *
...@@ -469,7 +489,7 @@ public class ZpglController { ...@@ -469,7 +489,7 @@ public class ZpglController {
@ApiOperationSupport(order = 8) @ApiOperationSupport(order = 8)
public Result<Object> deitZwxx(@CurrentUser UserBean userBean, @RequestBody ZpglRcxxDto zpglRcxxDto) { public Result<Object> deitZwxx(@CurrentUser UserBean userBean, @RequestBody ZpglRcxxDto zpglRcxxDto) {
try { try {
return zpglService.updateZpglRcxxZwxx(userBean,zpglRcxxDto)?ResultUtil.success("更改招聘职位成功"):ResultUtil.error("更改招聘职位失败"); return zpglService.updateZpglRcxxZwxx(userBean, zpglRcxxDto) ? ResultUtil.success("更改招聘职位成功") : ResultUtil.error("更改招聘职位失败");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomException("招聘-更改招聘职位失败"); throw new CustomException("招聘-更改招聘职位失败");
...@@ -492,22 +512,22 @@ public class ZpglController { ...@@ -492,22 +512,22 @@ public class ZpglController {
// 工作经验 // 工作经验
List<ZpglRcxxExperience> zpglRcxxExperiences = ZpglRcxxExperience.builder().build().selectList( List<ZpglRcxxExperience> zpglRcxxExperiences = ZpglRcxxExperience.builder().build().selectList(
new QueryWrapper<ZpglRcxxExperience>().lambda().eq(ZpglRcxxExperience::getZpglRcxxId, zpglRcxxId) new QueryWrapper<ZpglRcxxExperience>().lambda().eq(ZpglRcxxExperience::getZpglRcxxId, zpglRcxxId)
.eq(ZpglRcxxExperience::getIsDelete,0).orderByDesc(ZpglRcxxExperience::getEndTime) .eq(ZpglRcxxExperience::getIsDelete, 0).orderByDesc(ZpglRcxxExperience::getEndTime)
); );
// 教育经历 // 教育经历
List<ZpglRcxxStudy> zpglRcxxStudys = ZpglRcxxStudy.builder().build().selectList( List<ZpglRcxxStudy> zpglRcxxStudys = ZpglRcxxStudy.builder().build().selectList(
new QueryWrapper<ZpglRcxxStudy>().lambda().eq(ZpglRcxxStudy::getZpglRcxxId, zpglRcxxId) new QueryWrapper<ZpglRcxxStudy>().lambda().eq(ZpglRcxxStudy::getZpglRcxxId, zpglRcxxId)
.eq(ZpglRcxxStudy::getIsDelete,0).orderByDesc(ZpglRcxxStudy::getEndTime) .eq(ZpglRcxxStudy::getIsDelete, 0).orderByDesc(ZpglRcxxStudy::getEndTime)
); );
// 项目经历 // 项目经历
List<ZpglRcxxProject> zpglRcxxProjects = ZpglRcxxProject.builder().build().selectList( List<ZpglRcxxProject> zpglRcxxProjects = ZpglRcxxProject.builder().build().selectList(
new QueryWrapper<ZpglRcxxProject>().lambda().eq(ZpglRcxxProject::getZpglRcxxId, zpglRcxxId) new QueryWrapper<ZpglRcxxProject>().lambda().eq(ZpglRcxxProject::getZpglRcxxId, zpglRcxxId)
.eq(ZpglRcxxProject::getDeleteFlag,0).orderByDesc(ZpglRcxxProject::getEndTime) .eq(ZpglRcxxProject::getDeleteFlag, 0).orderByDesc(ZpglRcxxProject::getEndTime)
); );
// 培训经验 // 培训经验
List<ZpglRcxxTrain> zpglRcxxTrains = ZpglRcxxTrain.builder().build().selectList( List<ZpglRcxxTrain> zpglRcxxTrains = ZpglRcxxTrain.builder().build().selectList(
new QueryWrapper<ZpglRcxxTrain>().lambda().eq(ZpglRcxxTrain::getZpglRcxxId, zpglRcxxId) new QueryWrapper<ZpglRcxxTrain>().lambda().eq(ZpglRcxxTrain::getZpglRcxxId, zpglRcxxId)
.eq(ZpglRcxxTrain::getIsDelete,0).orderByDesc(ZpglRcxxTrain::getEndTime) .eq(ZpglRcxxTrain::getIsDelete, 0).orderByDesc(ZpglRcxxTrain::getEndTime)
); );
// FPA性格测评数据 // FPA性格测评数据
...@@ -524,7 +544,7 @@ public class ZpglController { ...@@ -524,7 +544,7 @@ public class ZpglController {
map.put("zpglRcxxTrains", zpglRcxxTrains); map.put("zpglRcxxTrains", zpglRcxxTrains);
map.put("zpglDtk", zpglDtk); map.put("zpglDtk", zpglDtk);
map.put("zpglRcxxOffer", zpglRcxxOffer); map.put("zpglRcxxOffer", zpglRcxxOffer);
return ResultUtil.data(map,"搜索成功"); return ResultUtil.data(map, "搜索成功");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -545,9 +565,9 @@ public class ZpglController { ...@@ -545,9 +565,9 @@ public class ZpglController {
public Result<Object> customApproval(@CurrentUser UserBean userBean) { public Result<Object> customApproval(@CurrentUser UserBean userBean) {
try { try {
List<SpmkCustomApproval> spmkCustomApprovals = SpmkCustomApproval.builder().build().selectList( List<SpmkCustomApproval> spmkCustomApprovals = SpmkCustomApproval.builder().build().selectList(
new QueryWrapper<SpmkCustomApproval>().select("id","name") new QueryWrapper<SpmkCustomApproval>().select("id", "name")
.lambda().eq(SpmkCustomApproval::getOrgCode,userBean.getOrgCode()) .lambda().eq(SpmkCustomApproval::getOrgCode, userBean.getOrgCode())
.eq(SpmkCustomApproval::getAssoType,10) .eq(SpmkCustomApproval::getAssoType, 10)
); );
return ResultUtil.data(spmkCustomApprovals); return ResultUtil.data(spmkCustomApprovals);
} catch (Exception e) { } catch (Exception e) {
...@@ -558,15 +578,65 @@ public class ZpglController { ...@@ -558,15 +578,65 @@ public class ZpglController {
} }
/** /**
* 招聘-发起应聘登记或者测评 status:0应聘登记,1测评
*
* @param
* @return
*/
@GetMapping(value = "/send_apply_cp/{id}/{status}")
@ApiOperation(value = "11.招聘-发起应聘登记或者测评", httpMethod = "GET", notes = "status:0应聘登记,1测评")
@ApiOperationSupport(order = 11)
public Result<Object> sendApplyOrCp(@CurrentUser UserBean userBean, @PathVariable Integer id, @PathVariable Integer status) {
try {
ZpglRcxx zpglRcxx = ZpglRcxx.builder().id(id).build().selectById();
if (StringUtils.isEmpty(zpglRcxx)) {
log.error("招聘-发起应聘登记或测评:id={} 空数据", id);
return ResultUtil.error("操作失败~");
}
InterviewNotice interviewNotice = new InterviewNotice();
interviewNotice.setName(zpglRcxx.getName());
interviewNotice.setEmail(zpglRcxx.getMail());
//公众号类型 1:8小时企业管理 2:优领人才网
interviewNotice.setWxgzhType(1);
//0 即时发送,1 定时发送
interviewNotice.setTiming(0);
interviewNotice.setType(JxglEnumInterface.NoticeWay.WECHAT_PUBLIC.getType());
interviewNotice.setInterviewTime(new Date());
// 通知面试者
interviewNotice.setZpglRcxxId(zpglRcxx.getId());
interviewNotice.setMobile(zpglRcxx.getMobile());
interviewNotice.setRemark("点击填写");
// 发送应聘登记表消息
if (APPLY_STATUS == status.intValue()) {
interviewNotice.setTemplateId(MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER);
interviewNotice.setUrl(h5Url + "?mobile=" + zpglRcxx.getMobile() + "&orgId=" + userBean.getOrgCode() + "#/basicInfo");
interviewNotice.setContentStr(ZpglMessageTemplate.print(ZpglMessageTemplate.TO_APPLY, new String[]{zpglRcxx.getName()}));
// 发送FPA测评消息
} else {
interviewNotice.setTemplateId(MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER);
interviewNotice.setContentStr(ZpglMessageTemplate.print(ZpglMessageTemplate.TO_CEPIN, new String[]{zpglRcxx.getName()}));
interviewNotice.setUrl(h5Url + "/?zpglRcxxId=" + zpglRcxx.getId() + "#/cpxt");
}
log.info("TO_INTERVIEWEE sendApplyOrCePin MessageQueue info:{}", zpglWxgzptService.sendApplyOrCePin(interviewNotice));
return ResultUtil.success();
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("操作失败");
}
}
/**
* 获取统计数据 * 获取统计数据
*
* @param queryWrapper * @param queryWrapper
* @param status * @param status
* @param orgCode * @param orgCode
* @return * @return
*/ */
private Integer getNum(QueryWrapper<ZpglRcxx> queryWrapper,Integer status,Integer orgCode){ private Integer getNum(QueryWrapper<ZpglRcxx> queryWrapper, Integer status, Integer orgCode) {
queryWrapper.clear(); queryWrapper.clear();
queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, orgCode).eq(ZpglRcxx::getDeleteFlag,0); queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, orgCode).eq(ZpglRcxx::getDeleteFlag, 0);
return ZpglRcxx.builder().build().selectCount(queryWrapper.lambda().eq(ZpglRcxx::getStatus, status)); return ZpglRcxx.builder().build().selectCount(queryWrapper.lambda().eq(ZpglRcxx::getStatus, status));
} }
......
...@@ -68,7 +68,7 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -68,7 +68,7 @@ public class ZpglServiceImpl implements ZpglService {
public boolean updateZpglRcxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto) { public boolean updateZpglRcxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto) {
boolean count = false; boolean count = false;
ZpglRcxx zpglRcxxEntity = ZpglRcxx.builder().id(zpglRcxxDto.getId()).build().selectById(); ZpglRcxx zpglRcxxEntity = ZpglRcxx.builder().id(zpglRcxxDto.getId()).build().selectById();
if(StringUtils.isEmpty(zpglRcxxEntity)){ if (StringUtils.isEmpty(zpglRcxxEntity)) {
return count; return count;
} }
zpglRcxxDto.setName(zpglRcxxEntity.getName()); zpglRcxxDto.setName(zpglRcxxEntity.getName());
...@@ -77,7 +77,7 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -77,7 +77,7 @@ public class ZpglServiceImpl implements ZpglService {
zpglMslcLog.setZpglRcxxId(zpglRcxxDto.getId()); zpglMslcLog.setZpglRcxxId(zpglRcxxDto.getId());
zpglMslcLog.setUserId(userBean.getEmpNum()); zpglMslcLog.setUserId(userBean.getEmpNum());
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername()); zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
if(!StringUtils.isEmpty(zpglRcxxDto.getIfrck()) && zpglRcxxDto.getIfrck().intValue() == 1){ if (!StringUtils.isEmpty(zpglRcxxDto.getIfrck()) && zpglRcxxDto.getIfrck().intValue() == 1) {
zpglRcxx.setIfrckTime(new Date()); zpglRcxx.setIfrckTime(new Date());
} }
String detail = ""; String detail = "";
...@@ -136,9 +136,9 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -136,9 +136,9 @@ public class ZpglServiceImpl implements ZpglService {
detail = ZpglMessageTemplate.print(ZpglMessageTemplate.OFFER, new String[]{ detail = ZpglMessageTemplate.print(ZpglMessageTemplate.OFFER, new String[]{
userBean.getQyzxEmpLogin().getUsername()}); userBean.getQyzxEmpLogin().getUsername()});
//发送offer //发送offer
ZpglRcxxOffer zpglRcxxOffer = this.insertZpglRcxxOffer(userBean,zpglRcxxDto); ZpglRcxxOffer zpglRcxxOffer = this.insertZpglRcxxOffer(userBean, zpglRcxxDto);
zpglRcxxOffer.setReceiverEmail(zpglRcxxEntity.getMail()); zpglRcxxOffer.setReceiverEmail(zpglRcxxEntity.getMail());
Thread pthread=new Thread(new ZpglSendMessageThread(mailSender, zpglRcxxOffer)); Thread pthread = new Thread(new ZpglSendMessageThread(mailSender, zpglRcxxOffer));
pthread.start(); pthread.start();
break; break;
case 8: case 8:
...@@ -155,19 +155,19 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -155,19 +155,19 @@ public class ZpglServiceImpl implements ZpglService {
zpglRcxx.setZpglFailId(zpglRcxxDto.getZpglFailId()); zpglRcxx.setZpglFailId(zpglRcxxDto.getZpglFailId());
zpglRcxx.setRemarks(zpglRcxxDto.getRemarks()); zpglRcxx.setRemarks(zpglRcxxDto.getRemarks());
ZpglFail zpglFail = ZpglFail.builder().id(zpglRcxxDto.getZpglFailId()).build().selectById(); ZpglFail zpglFail = ZpglFail.builder().id(zpglRcxxDto.getZpglFailId()).build().selectById();
String messageTemplate = ZpglMessageTemplate.ENTRYING,titleLabel=""; String messageTemplate = ZpglMessageTemplate.ENTRYING, titleLabel = "";
if (!StringUtils.isEmpty(zpglFail)) { if (!StringUtils.isEmpty(zpglFail)) {
if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEWED.getType())) { if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEWED.getType())) {
titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEWED.getName(); titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEWED.getName();
zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType();
messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING; messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING;
} }
if(zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType())){ if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType())) {
titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getName(); titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getName();
zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType();
messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING; messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING;
} }
if(zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEW.getType())){ if (zpglFail.getZpglRcxxStatus().equals(JxglEnumInterface.ResumeStatus.INTERVIEW.getType())) {
titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEW.getName(); titleLabel = JxglEnumInterface.ResumeStatus.INTERVIEW.getName();
zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType(); zpglRcxxStatus = JxglEnumInterface.MslcLogStatus.OTHER.getType();
messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING; messageTemplate = ZpglMessageTemplate.INTERVIEWED_ENTRYING;
...@@ -211,30 +211,36 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -211,30 +211,36 @@ public class ZpglServiceImpl implements ZpglService {
count = zpglRcxx.updateById(); count = zpglRcxx.updateById();
zpglMslcLogService.addZpglMslcLog(zpglMslcLog); zpglMslcLogService.addZpglMslcLog(zpglMslcLog);
// 发送面试通知 // 发送面试通知
if(count && JxglEnumInterface.ResumeStatus.INTERVIEW.equals(zpglRcxxDto.getStatus()) && JxglEnumInterface.NoticeWay.WECHAT_PUBLIC.equals(zpglRcxxDto.getNoticeWay())){ if (count && JxglEnumInterface.ResumeStatus.INTERVIEW.getType().equals(zpglRcxxDto.getStatus()) && JxglEnumInterface.NoticeWay.WECHAT_PUBLIC.getType().equals(zpglRcxxDto.getNoticeWay())) {
InterviewNotice interviewNotice = new InterviewNotice(); InterviewNotice interviewNotice = new InterviewNotice();
ZpglZwxx zpglZwxx = ZpglZwxx.builder().id(zpglRcxxEntity.getZpglZwxxId()).build().selectById();
if (!StringUtils.isEmpty(zpglZwxx)) {
interviewNotice.setZpglZwxxName(zpglZwxx.getName());
}
interviewNotice.setName(zpglRcxxEntity.getName()); interviewNotice.setName(zpglRcxxEntity.getName());
interviewNotice.setType(zpglRcxxDto.getNoticeWay()); interviewNotice.setType(zpglRcxxDto.getNoticeWay());
interviewNotice.setEmail(zpglRcxxEntity.getMail()); interviewNotice.setEmail(zpglRcxxEntity.getMail());
//公众号类型 1:8小时企业管理 2:优领人才网 //公众号类型 1:8小时企业管理 2:优领人才网
interviewNotice.setWxgzhType(1); interviewNotice.setWxgzhType(1);
//1 即时发送,2 定时发送 //0 即时发送,1 定时发送
interviewNotice.setTiming(1); interviewNotice.setTiming(0);
interviewNotice.setInterviewTime(zpglRcxxDto.getInterviewTime()); interviewNotice.setInterviewTime(zpglRcxxDto.getInterviewTime());
// 通知面试官 // 通知面试官
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().select("phone").lambda() YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().select("phone").lambda()
.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).eq(YgglMainEmp::getEmpNum, zpglRcxxDto.getId())); .eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).eq(YgglMainEmp::getEmpNum, zpglRcxxDto.getInterviewerId()));
if(!StringUtils.isEmpty(ygglMainEmp)){ if (!StringUtils.isEmpty(ygglMainEmp)) {
interviewNotice.setMobile(ygglMainEmp.getPhone()); interviewNotice.setMobile(ygglMainEmp.getPhone());
interviewNotice.setYgglMainEmpId(ygglMainEmp.getId()); interviewNotice.setYgglMainEmpId(ygglMainEmp.getId());
} }
interviewNotice.setTemplateId(MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER); interviewNotice.setTemplateId(MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER);
zpglWxgzptService.addInterviewMessageQueue(interviewNotice); interviewNotice.setContentStr(ZpglMessageTemplate.print(ZpglMessageTemplate.TO_INTERVIEWER, new String[]{interviewNotice.getZpglZwxxName(), interviewNotice.getName()}));
log.info("TO_INTERVIEWER addInterviewMessageQueue info:{}", zpglWxgzptService.addInterviewMessageQueue(interviewNotice));
// 通知面试者 // 通知面试者
interviewNotice.setZpglRcxxId(zpglRcxxEntity.getId()); interviewNotice.setZpglRcxxId(zpglRcxxEntity.getId());
interviewNotice.setMobile(zpglRcxxEntity.getMobile()); interviewNotice.setMobile(zpglRcxxEntity.getMobile());
interviewNotice.setTemplateId(MessageTemplate.TEMPLATE_ID_TO_INTERVIEWEE); interviewNotice.setRemark("如有疑问,请联系 HR");
zpglWxgzptService.addInterviewMessageQueue(interviewNotice); interviewNotice.setContentStr(ZpglMessageTemplate.print(ZpglMessageTemplate.TO_INTERVIEWEE, new String[]{interviewNotice.getName(), interviewNotice.getZpglZwxxName()}));
log.info("TO_INTERVIEWEE addInterviewMessageQueue info:{}", zpglWxgzptService.addInterviewMessageQueue(interviewNotice));
} }
return count; return count;
} }
...@@ -252,24 +258,24 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -252,24 +258,24 @@ public class ZpglServiceImpl implements ZpglService {
BaiduTicResumeDto baiduTicResumeDto = BaiduTicResumeDto.builder().filename(file.getOriginalFilename()).filetype(importCandidateDto.getSuffix()).filedata(Base64.getStrFromPath(file)).build(); BaiduTicResumeDto baiduTicResumeDto = BaiduTicResumeDto.builder().filename(file.getOriginalFilename()).filetype(importCandidateDto.getSuffix()).filedata(Base64.getStrFromPath(file)).build();
ResponseEntity<String> resumeString = baiduTicUtil.getResumeByCvParser(baiduTicResumeDto); ResponseEntity<String> resumeString = baiduTicUtil.getResumeByCvParser(baiduTicResumeDto);
JSONObject json = (JSONObject) JSONObject.parse(resumeString.getBody()); JSONObject json = (JSONObject) JSONObject.parse(resumeString.getBody());
log.info("招聘-导入候选人简历{}",resumeString.getBody()); log.info("招聘-导入候选人简历{}", resumeString.getBody());
ResumeExtract resumeExtract = null; ResumeExtract resumeExtract = null;
if("success".equals(json.get("error_msg"))){ if ("success".equals(json.get("error_msg"))) {
if(StringUtils.isEmpty(json.get("results"))){ if (StringUtils.isEmpty(json.get("results"))) {
log.info("招聘-导入候选人简历:results is null"); log.info("招聘-导入候选人简历:results is null");
return ResultUtil.error("导入简历失败,请检查是否为简历文件~"); return ResultUtil.error("导入简历失败,请检查是否为简历文件~");
} }
JSONArray array = (JSONArray)json.get("results"); JSONArray array = (JSONArray) json.get("results");
if(StringUtils.isEmpty(array.get(0))){ if (StringUtils.isEmpty(array.get(0))) {
log.info("招聘-导入候选人简历:results is null"); log.info("招聘-导入候选人简历:results is null");
return ResultUtil.error("导入简历失败,请检查是否为简历文件~"); return ResultUtil.error("导入简历失败,请检查是否为简历文件~");
} }
JSONObject resultsJsonObject = (JSONObject) array.get(0); JSONObject resultsJsonObject = (JSONObject) array.get(0);
resumeExtract = JSONObject.toJavaObject((JSONObject)resultsJsonObject.get("extract"), ResumeExtract.class); resumeExtract = JSONObject.toJavaObject((JSONObject) resultsJsonObject.get("extract"), ResumeExtract.class);
}else { } else {
return ResultUtil.error("导入简历失败,请检查是否为简历文件~"); return ResultUtil.error("导入简历失败,请检查是否为简历文件~");
} }
if(StringUtils.isEmpty(resumeExtract) || StringUtils.isEmpty(resumeExtract.getBasic_infos())){ if (StringUtils.isEmpty(resumeExtract) || StringUtils.isEmpty(resumeExtract.getBasic_infos())) {
return ResultUtil.error("导入简历失败,请检查是否为简历文件~"); return ResultUtil.error("导入简历失败,请检查是否为简历文件~");
} }
return this.addZpglRcxx(userBean, resumeExtract, importCandidateDto); return this.addZpglRcxx(userBean, resumeExtract, importCandidateDto);
...@@ -283,7 +289,7 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -283,7 +289,7 @@ public class ZpglServiceImpl implements ZpglService {
zpglMslcLog.setUserId(userBean.getEmpNum()); zpglMslcLog.setUserId(userBean.getEmpNum());
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername()); zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
zpglMslcLog.setZpglRcxxStatus(JxglEnumInterface.MslcLogStatus.OTHER.getType()); zpglMslcLog.setZpglRcxxStatus(JxglEnumInterface.MslcLogStatus.OTHER.getType());
zpglMslcLog.setDetail(userBean.getQyzxEmpLogin().getUsername()+" 更改候选人应聘职位."); zpglMslcLog.setDetail(userBean.getQyzxEmpLogin().getUsername() + " 更改候选人应聘职位.");
zpglRcxx.updateById(); zpglRcxx.updateById();
return zpglMslcLogService.addZpglMslcLog(zpglMslcLog); return zpglMslcLogService.addZpglMslcLog(zpglMslcLog);
} }
...@@ -291,10 +297,11 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -291,10 +297,11 @@ public class ZpglServiceImpl implements ZpglService {
/** /**
* 导入简历 * 导入简历
* 同步人才信息 教育资讯 基本信息 其他信息 项目信息 工作信息 * 同步人才信息 教育资讯 基本信息 其他信息 项目信息 工作信息
*
* @param resumeExtract * @param resumeExtract
* @param importCandidateDto * @param importCandidateDto
*/ */
private Result<Object> addZpglRcxx(UserBean userBean,ResumeExtract resumeExtract, ImportCandidateDto importCandidateDto){ private Result<Object> addZpglRcxx(UserBean userBean, ResumeExtract resumeExtract, ImportCandidateDto importCandidateDto) {
ZpglRcxx zpglRcxx = ZpglRcxx.builder().build(); ZpglRcxx zpglRcxx = ZpglRcxx.builder().build();
zpglRcxx.setZpglZwxxId(importCandidateDto.getZpglZwxxId()); zpglRcxx.setZpglZwxxId(importCandidateDto.getZpglZwxxId());
zpglRcxx.setStatus(importCandidateDto.getStatus()); zpglRcxx.setStatus(importCandidateDto.getStatus());
...@@ -302,100 +309,100 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -302,100 +309,100 @@ public class ZpglServiceImpl implements ZpglService {
zpglRcxx.setOrgCode(userBean.getOrgCode().toString()); zpglRcxx.setOrgCode(userBean.getOrgCode().toString());
Integer highesteducation = null; Integer highesteducation = null;
// 添加人才信息 // 添加人才信息
if(!StringUtils.isEmpty(resumeExtract.getBasic_infos())){ if (!StringUtils.isEmpty(resumeExtract.getBasic_infos())) {
zpglRcxx.setName(resumeExtract.getBasic_infos().getName()); zpglRcxx.setName(resumeExtract.getBasic_infos().getName());
String phone = resumeExtract.getBasic_infos().getPhone_numbers(); String phone = resumeExtract.getBasic_infos().getPhone_numbers();
if(StringUtils.isEmpty(phone)){ if (StringUtils.isEmpty(phone)) {
return ResultUtil.error("导入简历失败,手机号码不存在~"); return ResultUtil.error("导入简历失败,手机号码不存在~");
} }
// 查询简历是否重复导入 // 查询简历是否重复导入
ZpglRcxx zpglRcxxEntiyt= ZpglRcxx.builder().build().selectOne(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getMobile,phone).eq(ZpglRcxx::getDeleteFlag,0)); ZpglRcxx zpglRcxxEntiyt = ZpglRcxx.builder().build().selectOne(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getMobile, phone).eq(ZpglRcxx::getDeleteFlag, 0));
if(!StringUtils.isEmpty(zpglRcxxEntiyt)){ if (!StringUtils.isEmpty(zpglRcxxEntiyt)) {
return ResultUtil.error("简历已入库,请勿重复导入"); return ResultUtil.error("简历已入库,请勿重复导入");
} }
zpglRcxx.setMobile(phone); zpglRcxx.setMobile(phone);
zpglRcxx.setMail(resumeExtract.getBasic_infos().getEmail_address()); zpglRcxx.setMail(resumeExtract.getBasic_infos().getEmail_address());
zpglRcxx.setWeixin(resumeExtract.getBasic_infos().getWechat()); zpglRcxx.setWeixin(resumeExtract.getBasic_infos().getWechat());
zpglRcxx.setIdCard(resumeExtract.getBasic_infos().getId_number()); zpglRcxx.setIdCard(resumeExtract.getBasic_infos().getId_number());
if(!StringUtils.isEmpty(resumeExtract.getBasic_infos().getGender())){ if (!StringUtils.isEmpty(resumeExtract.getBasic_infos().getGender())) {
zpglRcxx.setSex(resumeExtract.getBasic_infos().getGender().indexOf("男") != -1?0:1); zpglRcxx.setSex(resumeExtract.getBasic_infos().getGender().indexOf("男") != -1 ? 0 : 1);
} }
//出生日期,格式化为 年-月,如2000-01,若只有年,则只显示年,如2000 //出生日期,格式化为 年-月,如2000-01,若只有年,则只显示年,如2000
if(!StringUtils.isEmpty(resumeExtract.getBasic_infos().getBirth_date())&&resumeExtract.getBasic_infos().getBirth_date().length() > 0){ if (!StringUtils.isEmpty(resumeExtract.getBasic_infos().getBirth_date()) && resumeExtract.getBasic_infos().getBirth_date().length() > 0) {
zpglRcxx.setDatebirth(this.getDate(resumeExtract.getBasic_infos().getBirth_date())); zpglRcxx.setDatebirth(this.getDate(resumeExtract.getBasic_infos().getBirth_date()));
} }
if(!StringUtils.isEmpty(resumeExtract.getBasic_infos().getNation())){ if (!StringUtils.isEmpty(resumeExtract.getBasic_infos().getNation())) {
NationClass nationClass = NationClass.builder().build().selectOne(new QueryWrapper<NationClass>().lambda().like(NationClass::getName,resumeExtract.getBasic_infos().getNation())); NationClass nationClass = NationClass.builder().build().selectOne(new QueryWrapper<NationClass>().lambda().like(NationClass::getName, resumeExtract.getBasic_infos().getNation()));
if(!StringUtils.isEmpty(nationClass)){ if (!StringUtils.isEmpty(nationClass)) {
zpglRcxx.setNationClassId(nationClass.getId()); zpglRcxx.setNationClassId(nationClass.getId());
} }
} }
zpglRcxx.setAddress(resumeExtract.getBasic_infos().getHome_location()); zpglRcxx.setAddress(resumeExtract.getBasic_infos().getHome_location());
zpglRcxx.setUniversitie(resumeExtract.getBasic_infos().getSchool()); zpglRcxx.setUniversitie(resumeExtract.getBasic_infos().getSchool());
if(!StringUtils.isEmpty(resumeExtract.getBasic_infos().getCur_duration())){ if (!StringUtils.isEmpty(resumeExtract.getBasic_infos().getCur_duration())) {
zpglRcxx.setWorkyears(Integer.parseInt(resumeExtract.getBasic_infos().getCur_duration())); zpglRcxx.setWorkyears(Integer.parseInt(resumeExtract.getBasic_infos().getCur_duration()));
} }
zpglRcxx.setCompany(resumeExtract.getBasic_infos().getCur_company()); zpglRcxx.setCompany(resumeExtract.getBasic_infos().getCur_company());
zpglRcxx.insert(); zpglRcxx.insert();
} }
if(!StringUtils.isEmpty(zpglRcxx.getId()) ){ if (!StringUtils.isEmpty(zpglRcxx.getId())) {
// 添加教育经历 // 添加教育经历
if(!StringUtils.isEmpty(resumeExtract.getEducation_infos())){ if (!StringUtils.isEmpty(resumeExtract.getEducation_infos())) {
ZpglRcxxStudy zpglRcxxStudy = ZpglRcxxStudy.builder().zpglRcxxId(zpglRcxx.getId()).build(); ZpglRcxxStudy zpglRcxxStudy = ZpglRcxxStudy.builder().zpglRcxxId(zpglRcxx.getId()).build();
List<EducationInfo> list = resumeExtract.getEducation_infos(); List<EducationInfo> list = resumeExtract.getEducation_infos();
for (EducationInfo entity : list ) { for (EducationInfo entity : list) {
if(!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) { if (!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) {
zpglRcxxStudy.setStartTime(this.getDate(entity.getStart_time())); zpglRcxxStudy.setStartTime(this.getDate(entity.getStart_time()));
} }
if(!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) { if (!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) {
zpglRcxxStudy.setEndTime(this.getDate(entity.getEnd_time())); zpglRcxxStudy.setEndTime(this.getDate(entity.getEnd_time()));
} }
zpglRcxxStudy.setSubject(entity.getMajor()); zpglRcxxStudy.setSubject(entity.getMajor());
zpglRcxxStudy.setSchoolName(StringUtils.isEmpty(entity.getSchool())?entity.getCollege():entity.getSchool()); zpglRcxxStudy.setSchoolName(StringUtils.isEmpty(entity.getSchool()) ? entity.getCollege() : entity.getSchool());
zpglRcxxStudy.setEducation(this.getEducation(entity.getSchooling_record())); zpglRcxxStudy.setEducation(this.getEducation(entity.getSchooling_record()));
highesteducation = zpglRcxxStudy.getEducation(); highesteducation = zpglRcxxStudy.getEducation();
zpglRcxxStudy.insert(); zpglRcxxStudy.insert();
} }
} }
// 添加工作经验 // 添加工作经验
if(!StringUtils.isEmpty(resumeExtract.getWork_infos())){ if (!StringUtils.isEmpty(resumeExtract.getWork_infos())) {
ZpglRcxxExperience zpglRcxxExperience = ZpglRcxxExperience.builder().zpglRcxxId(zpglRcxx.getId()).build(); ZpglRcxxExperience zpglRcxxExperience = ZpglRcxxExperience.builder().zpglRcxxId(zpglRcxx.getId()).build();
List<WorkInfo> list = resumeExtract.getWork_infos(); List<WorkInfo> list = resumeExtract.getWork_infos();
for (WorkInfo entity : list ) { for (WorkInfo entity : list) {
zpglRcxxExperience.setCompany(entity.getCompany()); zpglRcxxExperience.setCompany(entity.getCompany());
zpglRcxxExperience.setJobName(entity.getJob()); zpglRcxxExperience.setJobName(entity.getJob());
zpglRcxxExperience.setDepartment(entity.getDepartment()); zpglRcxxExperience.setDepartment(entity.getDepartment());
zpglRcxxExperience.setWorkContent(entity.getDescribe()); zpglRcxxExperience.setWorkContent(entity.getDescribe());
if(!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) { if (!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) {
zpglRcxxExperience.setEndTime(this.getDate(entity.getEnd_time())); zpglRcxxExperience.setEndTime(this.getDate(entity.getEnd_time()));
} }
if(!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) { if (!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) {
zpglRcxxExperience.setStartTime(this.getDate(entity.getStart_time())); zpglRcxxExperience.setStartTime(this.getDate(entity.getStart_time()));
} }
zpglRcxxExperience.insert(); zpglRcxxExperience.insert();
} }
} }
// 添加项目信息 // 添加项目信息
if(!StringUtils.isEmpty(resumeExtract.getProject_infos())){ if (!StringUtils.isEmpty(resumeExtract.getProject_infos())) {
ZpglRcxxProject zpglRcxxProject = ZpglRcxxProject.builder().zpglRcxxId(zpglRcxx.getId()).build(); ZpglRcxxProject zpglRcxxProject = ZpglRcxxProject.builder().zpglRcxxId(zpglRcxx.getId()).build();
List<ProjectInfo> list = resumeExtract.getProject_infos(); List<ProjectInfo> list = resumeExtract.getProject_infos();
for (ProjectInfo entity : list ) { for (ProjectInfo entity : list) {
zpglRcxxProject.setProjectDescribe(entity.getDescribe()); zpglRcxxProject.setProjectDescribe(entity.getDescribe());
zpglRcxxProject.setDuty(entity.getDuty()); zpglRcxxProject.setDuty(entity.getDuty());
zpglRcxxProject.setJob(entity.getJob()); zpglRcxxProject.setJob(entity.getJob());
zpglRcxxProject.setLocation(entity.getLocation()); zpglRcxxProject.setLocation(entity.getLocation());
zpglRcxxProject.setProjectName(entity.getProject_name()); zpglRcxxProject.setProjectName(entity.getProject_name());
if(!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) { if (!StringUtils.isEmpty(entity.getStart_time()) && entity.getStart_time().length() > 0) {
zpglRcxxProject.setStartTime(this.getDate(entity.getStart_time())); zpglRcxxProject.setStartTime(this.getDate(entity.getStart_time()));
} }
if(!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) { if (!StringUtils.isEmpty(entity.getEnd_time()) && entity.getEnd_time().length() > 0) {
zpglRcxxProject.setEndTime(this.getDate(entity.getEnd_time())); zpglRcxxProject.setEndTime(this.getDate(entity.getEnd_time()));
} }
zpglRcxxProject.insert(); zpglRcxxProject.insert();
} }
} }
if(!StringUtils.isEmpty(highesteducation)){ if (!StringUtils.isEmpty(highesteducation)) {
ZpglRcxx.builder().id(zpglRcxx.getId()).highesteducation(highesteducation.toString()).build().updateById(); ZpglRcxx.builder().id(zpglRcxx.getId()).highesteducation(highesteducation.toString()).build().updateById();
} }
...@@ -405,44 +412,46 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -405,44 +412,46 @@ public class ZpglServiceImpl implements ZpglService {
/** /**
* 根据string时间获取date(2019-10或2019) * 根据string时间获取date(2019-10或2019)
*
* @param date * @param date
* @return * @return
*/ */
private Date getDate(String date){ private Date getDate(String date) {
String datebirth = ""; String datebirth = "";
String[] num = date.split("-"); String[] num = date.split("-");
if(num.length == 1){ if (num.length == 1) {
datebirth = num[0]+"-1-1"; datebirth = num[0] + "-1-1";
}else if(num.length == 2){ } else if (num.length == 2) {
datebirth = num[0]+"-"+num[1]+"-1"; datebirth = num[0] + "-" + num[1] + "-1";
} }
return datebirth.length()>0?ClockInTool.strToDateLong(datebirth):null; return datebirth.length() > 0 ? ClockInTool.strToDateLong(datebirth) : null;
} }
/** /**
* 获取学历类型 * 获取学历类型
*
* @param str * @param str
* @return * @return
*/ */
private Integer getEducation(String str){ private Integer getEducation(String str) {
Integer education = null; Integer education = null;
if(StringUtils.isEmpty(str)){ if (StringUtils.isEmpty(str)) {
return education; return education;
} }
// 博士研究生/硕士研究生/本科/专科/高中/中专/初中 // 博士研究生/硕士研究生/本科/专科/高中/中专/初中
if(str.indexOf("初中")!=-1){ if (str.indexOf("初中") != -1) {
education = 2; education = 2;
}else if(str.indexOf("中专")!=-1){ } else if (str.indexOf("中专") != -1) {
education = 4; education = 4;
}else if(str.indexOf("高中")!=-1){ } else if (str.indexOf("高中") != -1) {
education = 3; education = 3;
}else if(str.indexOf("专科")!=-1){ } else if (str.indexOf("专科") != -1) {
education = 5; education = 5;
}else if(str.indexOf("本科")!=-1){ } else if (str.indexOf("本科") != -1) {
education = 6; education = 6;
}else if(str.indexOf("硕士研究生")!=-1){ } else if (str.indexOf("硕士研究生") != -1) {
education = 7; education = 7;
}else if(str.indexOf("博士研究生")!=-1){ } else if (str.indexOf("博士研究生") != -1) {
education = 8; education = 8;
} }
return education; return education;
...@@ -450,11 +459,12 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -450,11 +459,12 @@ public class ZpglServiceImpl implements ZpglService {
/** /**
* 添加offer记录 * 添加offer记录
*
* @param userBean * @param userBean
* @param zpglRcxxDto * @param zpglRcxxDto
* @return * @return
*/ */
private ZpglRcxxOffer insertZpglRcxxOffer(UserBean userBean,ZpglRcxxDto zpglRcxxDto){ private ZpglRcxxOffer insertZpglRcxxOffer(UserBean userBean, ZpglRcxxDto zpglRcxxDto) {
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
ZpglRcxxOffer zpglRcxxOffer = ZpglRcxxOffer.builder().build(); ZpglRcxxOffer zpglRcxxOffer = ZpglRcxxOffer.builder().build();
zpglRcxxOffer.setOrgCode(orgCode); zpglRcxxOffer.setOrgCode(orgCode);
...@@ -473,18 +483,18 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -473,18 +483,18 @@ public class ZpglServiceImpl implements ZpglService {
ZzglBmgwM z = ZzglBmgwM.builder().build().selectOne( ZzglBmgwM z = ZzglBmgwM.builder().build().selectOne(
new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, bmid)); new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, bmid));
if (!StringUtils.isEmpty(z)) { if (!StringUtils.isEmpty(z)) {
zpglRcxxOffer.setBumen( z.getName()); zpglRcxxOffer.setBumen(z.getName());
} }
// 所在公司 // 所在公司
ZzglBmgwM company = ZzglBmgwM.builder().build().selectOne( ZzglBmgwM company = ZzglBmgwM.builder().build().selectOne(
new QueryWrapper<ZzglBmgwM>().select("name").lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getUpId, 0)); new QueryWrapper<ZzglBmgwM>().select("name").lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getUpId, 0));
if(!StringUtils.isEmpty(company)){ if (!StringUtils.isEmpty(company)) {
zpglRcxxOffer.setTitle(company.getName()+"录用函"); zpglRcxxOffer.setTitle(company.getName() + "录用函");
zpglRcxxOffer.setCompanyName(company.getName()); zpglRcxxOffer.setCompanyName(company.getName());
} }
YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().select("phone","name","work_email").lambda() YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().select("phone", "name", "work_email").lambda()
.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, zpglRcxxDto.getLinkId())); .eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, zpglRcxxDto.getLinkId()));
if(!StringUtils.isEmpty(ygglMainEmp)){ if (!StringUtils.isEmpty(ygglMainEmp)) {
zpglRcxxOffer.setLinkName(ygglMainEmp.getName()); zpglRcxxOffer.setLinkName(ygglMainEmp.getName());
zpglRcxxOffer.setLinkPhone(ygglMainEmp.getPhone()); zpglRcxxOffer.setLinkPhone(ygglMainEmp.getPhone());
zpglRcxxOffer.setLinkEmail(ygglMainEmp.getWorkEmail()); zpglRcxxOffer.setLinkEmail(ygglMainEmp.getWorkEmail());
......
...@@ -25,4 +25,12 @@ public interface ZpglWxgzptService { ...@@ -25,4 +25,12 @@ public interface ZpglWxgzptService {
* @return * @return
*/ */
String addInterviewMessageQueue(InterviewNotice interviewNotice); String addInterviewMessageQueue(InterviewNotice interviewNotice);
/**
* 发起应聘登记 or 测评
* 添加消息队列
* @param interviewNotice
* @return
*/
String sendApplyOrCePin(InterviewNotice interviewNotice);
} }
...@@ -48,18 +48,23 @@ public class ZpglWxgzptServiceImpl implements ZpglWxgzptService { ...@@ -48,18 +48,23 @@ public class ZpglWxgzptServiceImpl implements ZpglWxgzptService {
*/ */
@Override @Override
public String addInterviewMessageQueue(InterviewNotice interviewNotice) { public String addInterviewMessageQueue(InterviewNotice interviewNotice) {
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", this.copyMessageQueueToMap(interviewNotice));
}
@Override
public String sendApplyOrCePin(InterviewNotice interviewNotice) {
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", this.copyMessageQueueToMap(interviewNotice));
}
private Map copyMessageQueueToMap(InterviewNotice interviewNotice){
//消息队列对象 //消息队列对象
MessageQueueDto mqd = new MessageQueueDto(); MessageQueueDto mqd = new MessageQueueDto();
BeanUtils.copyProperties(interviewNotice, mqd); BeanUtils.copyProperties(interviewNotice, mqd);
/** 模板消息内容 start */ /** 模板消息内容 start */
List<TemplateData> templateData = new ArrayList<>(); List<TemplateData> templateData = new ArrayList<>();
if (MessageTemplate.TEMPLATE_ID_TO_INTERVIEWER.equals(interviewNotice.getTemplateId())) { // 内容
TemplateData key1 = new TemplateData("first", "您好," + interviewNotice.getZpglZwxxName() + interviewNotice.getName() + "已安排由您面试", "#000000"); TemplateData key1 = new TemplateData("first", interviewNotice.getContentStr(), "#000000");
templateData.add(key1);
} else if (MessageTemplate.TEMPLATE_ID_TO_INTERVIEWEE.equals(interviewNotice.getTemplateId())) {
TemplateData key1 = new TemplateData("first", "候选人" + interviewNotice.getName() + "你好!你所投递的" + interviewNotice.getZpglZwxxName() + "为你安排了面试", "#000000");
templateData.add(key1); templateData.add(key1);
}
// 面试职位 // 面试职位
TemplateData key2 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000"); TemplateData key2 = new TemplateData("keyword1", interviewNotice.getZpglZwxxName(), "#000000");
templateData.add(key2); templateData.add(key2);
...@@ -76,26 +81,7 @@ public class ZpglWxgzptServiceImpl implements ZpglWxgzptService { ...@@ -76,26 +81,7 @@ public class ZpglWxgzptServiceImpl implements ZpglWxgzptService {
mqd.setContent(content); mqd.setContent(content);
/** 模板消息内容 end */ /** 模板消息内容 end */
/**
* //消息内容模板消息 json格式 普通消息字符串类型
* //手机号
* mqd.setMobile("18212310017");
* //类型(1 短信,2 邮件,3 微信模板消息)
* mqd.setType(2);
* //公众号类型 1:8小时企业管理 2:优领人才网
* mqd.setWxgzhType(1);
* //1 即时发送,2 定时发送
* mqd.setTiming(1);
* //模板id
* mqd.setTemplateId(interviewNotice.getTemplateId());
* //网页地址
* mqd.setUrl(null);
* //小程序页面地址
* mqd.setWxxcxPageId(null);
*/
Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class); Map map = JSON.parseObject(JSON.toJSONString(mqd), Map.class);
return HttpUtil.post(serverUrl + "/wxgzh/addMessageQueue", map); return map;
} }
} }
...@@ -34,6 +34,10 @@ public class InterviewNotice extends MessageQueueDto { ...@@ -34,6 +34,10 @@ public class InterviewNotice extends MessageQueueDto {
* 备注 * 备注
*/ */
private String remark; private String remark;
/**
* 内容
*/
private String contentStr;
public void setInterviewTime(Date interviewTime){ public void setInterviewTime(Date interviewTime){
this.interviewTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(interviewTime); this.interviewTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(interviewTime);
......
...@@ -35,7 +35,7 @@ public class MessageQueueDto { ...@@ -35,7 +35,7 @@ public class MessageQueueDto {
private String content; private String content;
/** /**
* 类型(1 短信,2 邮件,3 微信模板消息) * 类型 1:全部 2:短信 3:邮件 4.微信公众号
*/ */
private Integer type; private Integer type;
......
...@@ -22,6 +22,11 @@ public class ZpglMessageTemplate { ...@@ -22,6 +22,11 @@ public class ZpglMessageTemplate {
public static final String INTERVIEWED_ENTRYING ="{0} 将候选人状态从[{3}]更改为[面试淘汰], 淘汰原因:{1},备注:{2}"; public static final String INTERVIEWED_ENTRYING ="{0} 将候选人状态从[{3}]更改为[面试淘汰], 淘汰原因:{1},备注:{2}";
public static final String OFFER_ENTRYING ="{0} 将候选人状态从[{3}}]更改为[录用淘汰], 淘汰原因:{1},备注:{2}"; public static final String OFFER_ENTRYING ="{0} 将候选人状态从[{3}}]更改为[录用淘汰], 淘汰原因:{1},备注:{2}";
public static final String TO_INTERVIEWER ="您好,{0}{1}已安排由您面试";
public static final String TO_INTERVIEWEE ="候选人{0}你好!你所投递的 {1} 职位为你安排了面试";
public static final String TO_APPLY ="候选人{0}您好!请您认真填写应聘登记表";
public static final String TO_CEPIN ="候选人{0}您好!请您认真填写FPA测评试卷";
public static final String OFFER_TEMPLATE = "<!DOCTYPE html><html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:th=\"http://www.thymeleaf.org\"><body><div><p style=\" line-height: 1.5;\">尊敬的<span>{0}</span></p>"+ public static final String OFFER_TEMPLATE = "<!DOCTYPE html><html lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\" xmlns:th=\"http://www.thymeleaf.org\"><body><div><p style=\" line-height: 1.5;\">尊敬的<span>{0}</span></p>"+
"<p style=\" line-height: 1.5;\"><br></p>"+ "<p style=\" line-height: 1.5;\"><br></p>"+
"<p style=\"text-indent: 2em; line-height: 1.5;\">感谢您对公司的认可,非常荣幸地通知您,您已被我司正式录用,欢迎您加入<span>{1}</span></p>"+ "<p style=\"text-indent: 2em; line-height: 1.5;\">感谢您对公司的认可,非常荣幸地通知您,您已被我司正式录用,欢迎您加入<span>{1}</span></p>"+
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment