diff --git a/src/com/api/recruit/controller/RpaJclController.java b/src/com/api/recruit/controller/RpaJclController.java new file mode 100644 index 0000000..813a9f6 --- /dev/null +++ b/src/com/api/recruit/controller/RpaJclController.java @@ -0,0 +1,12 @@ +package com.api.recruit.controller; + +import javax.ws.rs.Path; + +/** + * @author:dxfeng + * @createTime: 2023/10/27 + * @version: 1.0 + */ +@Path("/jcl/recruit/rpa") +public class RpaJclController extends com.engine.recruit.controller.RpaJclController { +} diff --git a/src/com/engine/recruit/thread/CheckRepeatResume.java b/src/com/engine/recruit/conn/CheckRepeatResume.java similarity index 98% rename from src/com/engine/recruit/thread/CheckRepeatResume.java rename to src/com/engine/recruit/conn/CheckRepeatResume.java index 26df8e7..6ad47d6 100644 --- a/src/com/engine/recruit/thread/CheckRepeatResume.java +++ b/src/com/engine/recruit/conn/CheckRepeatResume.java @@ -1,6 +1,5 @@ -package com.engine.recruit.thread; +package com.engine.recruit.conn; -import com.engine.recruit.conn.RecruitRecordSet; import com.engine.recruit.enums.ApplicationStatusEnum; import org.apache.commons.collections.CollectionUtils; import weaver.conn.RecordSet; diff --git a/src/com/engine/recruit/controller/RpaJclController.java b/src/com/engine/recruit/controller/RpaJclController.java new file mode 100644 index 0000000..ae7f4f9 --- /dev/null +++ b/src/com/engine/recruit/controller/RpaJclController.java @@ -0,0 +1,37 @@ +package com.engine.recruit.controller; + +import com.engine.common.util.ParamUtil; +import com.engine.common.util.ServiceUtil; +import com.engine.recruit.util.ResponseResult; +import com.engine.recruit.wrapper.RpaJclWrapper; +import weaver.hrm.HrmUserVarify; +import weaver.hrm.User; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/10/27 + * @version: 1.0 + */ +public class RpaJclController { + public RpaJclWrapper getRpaJclWrapper(User user) { + return ServiceUtil.getService(RpaJclWrapper.class, user); + } + + @POST + @Path("/setEmailSetting") + @Produces(MediaType.APPLICATION_JSON) + public String setEmailSetting(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + Map param = ParamUtil.request2Map(request); + return new ResponseResult, Map>(user).run(getRpaJclWrapper(user)::setEmailSetting, param); + } +} diff --git a/src/com/engine/recruit/service/RpaJclService.java b/src/com/engine/recruit/service/RpaJclService.java new file mode 100644 index 0000000..bf162d8 --- /dev/null +++ b/src/com/engine/recruit/service/RpaJclService.java @@ -0,0 +1,19 @@ +package com.engine.recruit.service; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/10/27 + * @version: 1.0 + */ +public interface RpaJclService { + + /** + * 配置简历采集邮箱设置 + * + * @param param 前段传参 + * @return + */ + Map setEmailSetting(Map param); +} diff --git a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java index 3feab97..add4524 100644 --- a/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java +++ b/src/com/engine/recruit/service/impl/ApplicantResumeServiceImpl.java @@ -6,6 +6,7 @@ import com.engine.recruit.conn.RecruitDataMap; import com.engine.recruit.conn.RecruitRecordSet; import com.engine.recruit.enums.ApplicantOperateEnum; import com.engine.recruit.enums.ApplicationStatusEnum; +import com.engine.recruit.exception.CustomizeRunTimeException; import com.engine.recruit.service.ApplicantResumeService; import org.apache.commons.lang3.StringUtils; import weaver.conn.RecordSet; @@ -156,8 +157,15 @@ public class ApplicantResumeServiceImpl extends Service implements ApplicantResu // 转移阶段 String dqypjd = Util.null2String(params.get("dqypjd")); String billid = Util.null2String(params.get("billid")); - rs.executeUpdate("update uf_jcl_yppc set zpjd = ? where id = ?", dqypjd, billid); - returnMap.put("msg", "操作成功"); + // 查询当前阶段的阶段类型 + rs.executeQuery("select jdlx from uf_jcl_zpjdsz where id = ?", dqypjd); + if (rs.next()) { + String jdlx = rs.getString("jdlx"); + rs.executeUpdate("update uf_jcl_yppc set zpjd = ?,dqypjd = ? where id = ?", dqypjd, jdlx, billid); + returnMap.put("msg", "操作成功"); + } else { + throw new CustomizeRunTimeException("转移阶段失败"); + } } else if (ApplicantOperateEnum.ASSIGN.getOperateType().equals(operateType)) { // 分配职位 String billid = Util.null2String(params.get("billid")); diff --git a/src/com/engine/recruit/service/impl/RpaJclServiceImpl.java b/src/com/engine/recruit/service/impl/RpaJclServiceImpl.java new file mode 100644 index 0000000..a92e7ec --- /dev/null +++ b/src/com/engine/recruit/service/impl/RpaJclServiceImpl.java @@ -0,0 +1,56 @@ +package com.engine.recruit.service.impl; + +import com.engine.core.impl.Service; +import com.engine.recruit.conn.RecruitRecordSet; +import com.engine.recruit.service.RpaJclService; +import com.weaver.rpa.sdk.clients.application.resume.ERPAResumeSDKClient; +import com.weaver.rpa.sdk.clients.application.resume.entity.ResumeEmailSetting; +import com.weaver.rpa.sdk.clients.core.ERPASDKClients; +import weaver.conn.RecordSet; +import weaver.general.Util; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/10/27 + * @version: 1.0 + */ +public class RpaJclServiceImpl extends Service implements RpaJclService { + @Override + public Map setEmailSetting(Map param) { + String billId = Util.null2String(param.get("billId")); + RecordSet rs = new RecordSet(); + rs.executeQuery("select * from uf_jcl_qllyxpz where id = ? ", billId); + Map dataMap = RecruitRecordSet.getSingleRecordMap(rs); + + ERPAResumeSDKClient resumeSDKClient = ERPASDKClients.getResumeSDKClient(); + String userId = Util.null2String(dataMap.get("szr")); + String status = Util.null2String(dataMap.get("zt")); + String server = Util.null2String(dataMap.get("yjjsfwq")); + String port = Util.null2String(dataMap.get("jsdk")); + String protocol = Util.null2String(dataMap.get("csxy")); + String site = Util.null2String(dataMap.get("yxdz")); + String login = Util.null2String(dataMap.get("yxzh")); + String password = Util.null2String(dataMap.get("yxsqmmm")); + + ResumeEmailSetting emailSetting = new ResumeEmailSetting(); + + // 配置启用邮箱功能 + emailSetting.setSEMAILSTATUS(status); + emailSetting.setSEMAILSERVER(server); + emailSetting.setSEMAILPORT(port); + emailSetting.setSEMAILPROTOCOL(protocol); + //emailSetting.setSISSEND(isSend); + emailSetting.setSEMAILSITE(site); + emailSetting.setSEMAILLOGIN(login); + emailSetting.setSEMAILPASSWORD(password); + + // 禁用邮箱功能(只需要传递Status为0) + // emailSetting.setSEMAILSTATUS("0"); + + // 调用方法更新简历机器人采集设置(在千里聆中会更新目标用户机器人配置) + resumeSDKClient.setEmailSetting(userId, emailSetting); + return null; + } +} diff --git a/src/com/engine/recruit/thread/SdkResumeSavedThread.java b/src/com/engine/recruit/thread/SdkResumeSavedThread.java index 9fc9de8..5be8aa5 100644 --- a/src/com/engine/recruit/thread/SdkResumeSavedThread.java +++ b/src/com/engine/recruit/thread/SdkResumeSavedThread.java @@ -1,6 +1,7 @@ package com.engine.recruit.thread; import cn.hutool.core.convert.Convert; +import com.engine.recruit.conn.CheckRepeatResume; import com.engine.recruit.conn.PositionCommonInfo; import com.engine.recruit.conn.RecruitDataMap; import com.engine.recruit.enums.ApplicationStatusEnum; diff --git a/src/com/engine/recruit/wrapper/RpaJclWrapper.java b/src/com/engine/recruit/wrapper/RpaJclWrapper.java new file mode 100644 index 0000000..5cf1e31 --- /dev/null +++ b/src/com/engine/recruit/wrapper/RpaJclWrapper.java @@ -0,0 +1,24 @@ +package com.engine.recruit.wrapper; + +import com.engine.common.util.ServiceUtil; +import com.engine.core.impl.Service; +import com.engine.recruit.service.RpaJclService; +import com.engine.recruit.service.impl.RpaJclServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/10/27 + * @version: 1.0 + */ +public class RpaJclWrapper extends Service { + private RpaJclService getRpaJclService(User user) { + return ServiceUtil.getService(RpaJclServiceImpl.class, user); + } + + public Map setEmailSetting(Map param) { + return getRpaJclService(user).setEmailSetting(param); + } +}