From 9c1e45a79e492f1aae66ac810e983734b2cf5cd1 Mon Sep 17 00:00:00 2001 From: dxfeng Date: Thu, 16 Nov 2023 10:01:27 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E5=BB=BA=E6=A8=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B0=83=E6=95=B4=EF=BC=8CBUG=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../recruit/controller/OfferController.java | 12 ------ .../RecruitMobileModeController.java | 12 ++++++ .../controller/InductionManageController.java | 23 ++--------- ....java => RecruitMobileModeController.java} | 30 ++++++++++++--- .../service/impl/OfferServiceImpl.java | 14 ++++++- .../impl/RecruitPositionServiceImpl.java | 11 +++--- .../modeexpand/browser/ApplicantBrowser.java | 26 +++++++++++++ .../offer/CreateOfferModeExpand.java | 13 +------ .../cronjob/RecruitRefreshOfferJob.java | 38 +++++++++++++++++++ 9 files changed, 123 insertions(+), 56 deletions(-) delete mode 100644 src/com/api/recruit/controller/OfferController.java create mode 100644 src/com/api/recruit/controller/RecruitMobileModeController.java rename src/com/engine/recruit/controller/{OfferController.java => RecruitMobileModeController.java} (57%) create mode 100644 src/weaver/formmode/recruit/modeexpand/browser/ApplicantBrowser.java create mode 100644 src/weaver/interfaces/recruit/cronjob/RecruitRefreshOfferJob.java diff --git a/src/com/api/recruit/controller/OfferController.java b/src/com/api/recruit/controller/OfferController.java deleted file mode 100644 index 8604e44..0000000 --- a/src/com/api/recruit/controller/OfferController.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.api.recruit.controller; - -import javax.ws.rs.Path; - -/** - * @author:dxfeng - * @createTime: 2023/10/30 - * @version: 1.0 - */ -@Path("/jcl/recruit/offer") -public class OfferController extends com.engine.recruit.controller.OfferController{ -} diff --git a/src/com/api/recruit/controller/RecruitMobileModeController.java b/src/com/api/recruit/controller/RecruitMobileModeController.java new file mode 100644 index 0000000..e3f553c --- /dev/null +++ b/src/com/api/recruit/controller/RecruitMobileModeController.java @@ -0,0 +1,12 @@ +package com.api.recruit.controller; + +import javax.ws.rs.Path; + +/** + * @author:dxfeng + * @createTime: 2023/11/15 + * @version: 1.0 + */ +@Path("/jcl/recruit/mobile") +public class RecruitMobileModeController extends com.engine.recruit.controller.RecruitMobileModeController{ +} diff --git a/src/com/engine/recruit/controller/InductionManageController.java b/src/com/engine/recruit/controller/InductionManageController.java index bd741e1..21e2b22 100644 --- a/src/com/engine/recruit/controller/InductionManageController.java +++ b/src/com/engine/recruit/controller/InductionManageController.java @@ -2,16 +2,16 @@ package com.engine.recruit.controller; import com.engine.common.util.ParamUtil; import com.engine.common.util.ServiceUtil; -import com.engine.recruit.entity.workbench.OptionVO; import com.engine.recruit.util.ResponseResult; import com.engine.recruit.wrapper.InductionManageWrapper; -import com.icbc.api.internal.apache.http.impl.cookie.S; import weaver.hrm.HrmUserVarify; import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.ws.rs.*; +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; @@ -43,21 +43,4 @@ public class InductionManageController { Map params = ParamUtil.request2Map(request); return new ResponseResult, Map>(user).run(getInductionManageWrapper(user)::sendCollectInfo, params); } - - @POST - @Path("/checkLoginInfo") - @Produces(MediaType.APPLICATION_JSON) - public String checkLoginInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { - User user = HrmUserVarify.getUser(request, response); - Map params = ParamUtil.request2Map(request); - return new ResponseResult, Map>(user).run(getInductionManageWrapper(user)::checkLoginInfo, params); - } - - @GET - @Path("/infoSubmit") - @Produces(MediaType.APPLICATION_JSON) - public String infoSubmit(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("id") String id) { - User user = HrmUserVarify.getUser(request, response); - return new ResponseResult>(user).run(getInductionManageWrapper(user) :: infoSubmit,id); - } } diff --git a/src/com/engine/recruit/controller/OfferController.java b/src/com/engine/recruit/controller/RecruitMobileModeController.java similarity index 57% rename from src/com/engine/recruit/controller/OfferController.java rename to src/com/engine/recruit/controller/RecruitMobileModeController.java index 874ef77..f532c8b 100644 --- a/src/com/engine/recruit/controller/OfferController.java +++ b/src/com/engine/recruit/controller/RecruitMobileModeController.java @@ -3,29 +3,32 @@ 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.InductionManageWrapper; import com.engine.recruit.wrapper.OfferWrapper; 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.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import java.util.Map; /** * @author:dxfeng - * @createTime: 2023/10/30 + * @createTime: 2023/11/15 * @version: 1.0 */ -public class OfferController { +public class RecruitMobileModeController { public OfferWrapper getOfferWrapper(User user) { return ServiceUtil.getService(OfferWrapper.class, user); } + public InductionManageWrapper getInductionManageWrapper(User user) { + return ServiceUtil.getService(InductionManageWrapper.class, user); + } + @POST @Path("/getOfferContent") @Produces(MediaType.APPLICATION_JSON) @@ -43,4 +46,21 @@ public class OfferController { Map params = ParamUtil.request2Map(request); return new ResponseResult, Map>(user).run(getOfferWrapper(user)::updateOfferStatus, params); } + + @POST + @Path("/checkLoginInfo") + @Produces(MediaType.APPLICATION_JSON) + public String checkLoginInfo(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + Map params = ParamUtil.request2Map(request); + return new ResponseResult, Map>(user).run(getInductionManageWrapper(user)::checkLoginInfo, params); + } + + @GET + @Path("/infoSubmit") + @Produces(MediaType.APPLICATION_JSON) + public String infoSubmit(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("id") String id) { + User user = HrmUserVarify.getUser(request, response); + return new ResponseResult>(user).run(getInductionManageWrapper(user)::infoSubmit, id); + } } diff --git a/src/com/engine/recruit/service/impl/OfferServiceImpl.java b/src/com/engine/recruit/service/impl/OfferServiceImpl.java index 2991454..6d8c7a1 100644 --- a/src/com/engine/recruit/service/impl/OfferServiceImpl.java +++ b/src/com/engine/recruit/service/impl/OfferServiceImpl.java @@ -31,9 +31,18 @@ public class OfferServiceImpl extends Service implements OfferService { String email = Util.null2String(param.get("dzyx")); RecordSet rs = new RecordSet(); String offerContent = ""; - rs.executeQuery("select tznr from uf_jcl_offer where id = ? and dzyx = ?", billId, email); + String sxrq = ""; + rs.executeQuery("select tznr,sxrq from uf_jcl_offer where id = ? and dzyx = ?", billId, email); if (rs.next()) { offerContent = rs.getString("tznr"); + sxrq = rs.getString("sxrq"); + } + // 判断当前offer是否失效 + String currentDate = DateUtil.getCurrentDate(); + int compDate = DateUtil.compDate(currentDate, sxrq); + // 当前日期>失效日期,更新状态为逾期未回复 + if (compDate < 0) { + throw new CustomizeRunTimeException("offer已失效"); } if (StringUtils.isAnyBlank(billId, email, offerContent)) { throw new CustomizeRunTimeException("非法访问"); @@ -60,7 +69,8 @@ public class OfferServiceImpl extends Service implements OfferService { } } - rs.executeUpdate("update uf_jcl_offer set zt = ? where id = ? and dzyx = ?", status, billId, email); + // 更新反馈状态、反馈时间 + rs.executeUpdate("update uf_jcl_offer set zt = ?, fksj = ? where id = ? and dzyx = ?", status, DateUtil.getDateTime(), billId, email); // 记录应聘过程 ApplicantRecordPo recordPo = ApplicantRecordPo.builder() diff --git a/src/com/engine/recruit/service/impl/RecruitPositionServiceImpl.java b/src/com/engine/recruit/service/impl/RecruitPositionServiceImpl.java index 96f1a80..778d10c 100644 --- a/src/com/engine/recruit/service/impl/RecruitPositionServiceImpl.java +++ b/src/com/engine/recruit/service/impl/RecruitPositionServiceImpl.java @@ -16,10 +16,6 @@ import java.util.Map; * @version: 1.0 */ public class RecruitPositionServiceImpl extends Service implements RecruitPositionService { - /** - * 招聘职位建模表 - */ - private static final String MODE_TABLE_NAME = "uf_jcl_zp_zpzw"; @Override public Map updatePostInfo(Map param) { @@ -31,7 +27,12 @@ public class RecruitPositionServiceImpl extends Service implements RecruitPositi throw new CustomizeRunTimeException("数据有误,请重试"); } RecordSet rs = new RecordSet(); - rs.executeUpdate(" update " + MODE_TABLE_NAME + " set zpzwfzr = ? ,zpxzr = ? where id in (" + ids + ")", zpzwfzr, zpxzr); + if (StringUtils.isNotBlank(zpzwfzr)) { + rs.executeUpdate(" update uf_jcl_zp_zpzw set zpzwfzr = ? where id in (" + ids + ")", zpzwfzr); + } + if (StringUtils.isNotBlank(zpxzr)) { + rs.executeUpdate(" update uf_jcl_zp_zpzw set zpxzr = ? where id in (" + ids + ")", zpxzr); + } return returnMap; } } diff --git a/src/weaver/formmode/recruit/modeexpand/browser/ApplicantBrowser.java b/src/weaver/formmode/recruit/modeexpand/browser/ApplicantBrowser.java new file mode 100644 index 0000000..c4868db --- /dev/null +++ b/src/weaver/formmode/recruit/modeexpand/browser/ApplicantBrowser.java @@ -0,0 +1,26 @@ +package weaver.formmode.recruit.modeexpand.browser; + +import weaver.formmode.customjavacode.AbstractCustomSqlConditionJavaCode; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2023/11/15 + * @version: 1.0 + */ +public class ApplicantBrowser extends AbstractCustomSqlConditionJavaCode { + @Override + public String generateSqlCondition(Map param) throws Exception { + Object extensionParam = param.get("extensionParam"); + HashMap extensionMap = (HashMap) extensionParam; + + String sqlCondition = ""; + String fromModule = (String) extensionMap.get("fromModule"); + if ("workflow".equals(fromModule)) { + sqlCondition += " t1.zt = 1 "; + } + return sqlCondition; + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java index b8a10e1..3b37798 100644 --- a/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java @@ -21,17 +21,6 @@ import java.util.Map; import java.util.stream.Collectors; public class CreateOfferModeExpand extends AbstractModeExpandJavaCodeNew { - /** - * 消息来源ID - */ - private String messageType; - - /** - * 消息提醒标题 - */ - private String title; - - @Override public Map doModeExpand(Map params) { Map result = new HashMap<>(); @@ -95,7 +84,7 @@ public class CreateOfferModeExpand extends AbstractModeExpandJavaCodeNew { } // 更新状态为已发送,更新通知内容,更新发送人、发送时间 RecordSet rs = new RecordSet(); - rs.executeUpdate("update uf_jcl_offer set zt = 1,tznr = ?,fsr=?,fssj=? where id = ? ", billId, tznr, user.getUID(), DateUtil.getDateTime()); + rs.executeUpdate("update uf_jcl_offer set zt = 1,tznr = ?,fsr=?,fssj=? where id = ? ", tznr, user.getUID(), DateUtil.getDateTime(), billId); } } } catch (Exception e) { diff --git a/src/weaver/interfaces/recruit/cronjob/RecruitRefreshOfferJob.java b/src/weaver/interfaces/recruit/cronjob/RecruitRefreshOfferJob.java new file mode 100644 index 0000000..ca23ba7 --- /dev/null +++ b/src/weaver/interfaces/recruit/cronjob/RecruitRefreshOfferJob.java @@ -0,0 +1,38 @@ +package weaver.interfaces.recruit.cronjob; + +import com.engine.recruit.conn.RecruitRecordSet; +import weaver.common.DateUtil; +import weaver.conn.RecordSet; +import weaver.general.Util; +import weaver.interfaces.schedule.BaseCronJob; + +import java.util.List; +import java.util.Map; + +/** + * 若当前日期大于失效日期,状态变为“逾期未回复” + * + * @author:dxfeng + * @createTime: 2023/11/15 + * @version: 1.0 + */ +public class RecruitRefreshOfferJob extends BaseCronJob { + @Override + public void execute() { + // 查询已发送待反馈的offer数据 + RecordSet rs = new RecordSet(); + rs.executeQuery("select id,zt,sxrq from uf_jcl_offer where zt =1"); + List> dataList = RecruitRecordSet.getRecordMapList(rs); + String currentDate = DateUtil.getCurrentDate(); + for (Map data : dataList) { + String sxrq = Util.null2String(data.get("sxrq")); + String id = Util.null2String(data.get("id")); + int compDate = DateUtil.compDate(currentDate, sxrq); + // 当前日期>失效日期,更新状态为逾期未回复 + if (compDate < 0) { + rs.executeUpdate("update uf_jcl_offer set zt = 5 where id = ?", id); + } + } + + } +}