diff --git a/src/com/api/recruit/controller/RecruitOfferController.java b/src/com/api/recruit/controller/RecruitOfferController.java new file mode 100644 index 0000000..8ab7bb6 --- /dev/null +++ b/src/com/api/recruit/controller/RecruitOfferController.java @@ -0,0 +1,12 @@ +package com.api.recruit.controller; + +import javax.ws.rs.Path; + +/** + * @author:dxfeng + * @createTime: 2024/05/21 + * @version: 1.0 + */ +@Path("/jcl/recruit/offer") +public class RecruitOfferController extends com.engine.recruit.controller.RecruitOfferController{ +} diff --git a/src/com/engine/recruit/controller/RecruitOfferController.java b/src/com/engine/recruit/controller/RecruitOfferController.java new file mode 100644 index 0000000..33ea296 --- /dev/null +++ b/src/com/engine/recruit/controller/RecruitOfferController.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.RecruitOfferWrapper; +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: 2024/05/21 + * @version: 1.0 + */ +public class RecruitOfferController { + public RecruitOfferWrapper getRecruitOfferWrapper(User user) { + return ServiceUtil.getService(RecruitOfferWrapper.class, user); + } + + @POST + @Path("/updatePreContent") + @Produces(MediaType.APPLICATION_JSON) + public String updatePreContent(@Context HttpServletRequest request, @Context HttpServletResponse response) { + User user = HrmUserVarify.getUser(request, response); + Map param = ParamUtil.request2Map(request); + return new ResponseResult, Map>(user).run(getRecruitOfferWrapper(user)::updatePreContent, param); + } +} diff --git a/src/com/engine/recruit/service/RecruitOfferService.java b/src/com/engine/recruit/service/RecruitOfferService.java new file mode 100644 index 0000000..b4eb2f4 --- /dev/null +++ b/src/com/engine/recruit/service/RecruitOfferService.java @@ -0,0 +1,18 @@ +package com.engine.recruit.service; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2024/05/20 + * @version: 1.0 + */ +public interface RecruitOfferService { + + /** + * 更新offer邮件预览内容 + * @param param + * @return + */ + Map updatePreContent(Map param); +} diff --git a/src/com/engine/recruit/service/impl/RecruitOfferServiceImpl.java b/src/com/engine/recruit/service/impl/RecruitOfferServiceImpl.java new file mode 100644 index 0000000..0d616e0 --- /dev/null +++ b/src/com/engine/recruit/service/impl/RecruitOfferServiceImpl.java @@ -0,0 +1,55 @@ +package com.engine.recruit.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.engine.core.impl.Service; +import com.engine.recruit.exception.CustomizeRunTimeException; +import com.engine.recruit.service.RecruitOfferService; +import com.weaver.formmodel.data.model.Formfield; +import org.apache.commons.lang3.StringUtils; +import weaver.conn.RecordSet; +import weaver.formmode.recruit.modeexpand.offer.CreateOfferModeExpand; +import weaver.formmode.recruit.modeexpand.util.RecruitModeUtil; +import weaver.general.Util; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * @author:dxfeng + * @createTime: 2024/05/20 + * @version: 1.0 + */ +public class RecruitOfferServiceImpl extends Service implements RecruitOfferService { + @Override + public Map updatePreContent(Map param) { + String urlInfoStr = Util.null2String(param.get("urlInfo")); + String submitDataStr = Util.null2String(param.get("submitData")); + JSONObject urlInfo = JSONObject.parseObject(urlInfoStr); + JSONObject submitData = JSONObject.parseObject(submitDataStr); + String billId = Util.null2String(urlInfo.get("billid")); + List fieldList = RecruitModeUtil.getFieldList("uf_jcl_offer"); + Map fieldIdMap = fieldList.stream().collect(Collectors.toMap(item -> "field" + item.getId() + , Formfield::getFieldname)); + Map mainDataMap = new HashMap<>(); + Map innerMap = submitData.getInnerMap(); + for (Map.Entry entry : innerMap.entrySet()) { + String key = entry.getKey(); + String value = Util.null2String(entry.getValue()); + mainDataMap.put(fieldIdMap.get(key), value); + } + String tznr = Util.null2String(mainDataMap.get("tznr")); + String yx = Util.null2String(mainDataMap.get("dzyx")); + String msgContent = CreateOfferModeExpand.getOfferMsgContent(billId, fieldList, mainDataMap, tznr, yx); + + RecordSet rs = new RecordSet(); + // 更新 + rs.executeUpdate("update uf_jcl_offer set ylnr = ? where id = ? ", msgContent, billId); + String exceptionMsg = rs.getExceptionMsg(); + if (StringUtils.isNotBlank(exceptionMsg)) { + throw new CustomizeRunTimeException(exceptionMsg); + } + return null; + } +} diff --git a/src/com/engine/recruit/wrapper/RecruitOfferWrapper.java b/src/com/engine/recruit/wrapper/RecruitOfferWrapper.java new file mode 100644 index 0000000..af19e9f --- /dev/null +++ b/src/com/engine/recruit/wrapper/RecruitOfferWrapper.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.RecruitOfferService; +import com.engine.recruit.service.impl.RecruitOfferServiceImpl; +import weaver.hrm.User; + +import java.util.Map; + +/** + * @author:dxfeng + * @createTime: 2024/05/21 + * @version: 1.0 + */ +public class RecruitOfferWrapper extends Service { + private RecruitOfferService getRecruitOfferService(User user) { + return ServiceUtil.getService(RecruitOfferServiceImpl.class, user); + } + + public Map updatePreContent(Map param) { + return getRecruitOfferService(user).updatePreContent(param); + } +} diff --git a/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java index c3cce94..2a026d2 100644 --- a/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java +++ b/src/weaver/formmode/recruit/modeexpand/offer/CreateOfferModeExpand.java @@ -59,12 +59,7 @@ public class CreateOfferModeExpand extends AbstractModeExpandJavaCodeNew { String emailTitle = RecruitModeUtil.getEmailTitle(yjtzmb); List fieldList = RecruitModeUtil.getFieldList("uf_jcl_offer"); - Map> fieldMapList = fieldList.stream().collect(Collectors.groupingBy(Formfield::getLabelName)); - // 发送邮件 - String offerMobileUrl = RecruitConstant.OFFER_MOBILE_URL + "&billid=" + billId + "&dzyx=" + yx; - String mobileLink = "录用通知函"; - tznr = tznr.replace("{录用通知函}", mobileLink); - String msgContent = RecruitModeUtil.getReplaceContent(tznr, fieldMapList, mainDataMap); + String msgContent = getOfferMsgContent(String.valueOf(billId), fieldList, mainDataMap, tznr, yx); if (sendEmail) { String offerAttach = RecruitModeUtil.getImageFileIdsByDocIds(Util.null2String(mainDataMap.get("offerfj"))); @@ -95,4 +90,23 @@ public class CreateOfferModeExpand extends AbstractModeExpandJavaCodeNew { } return result; } + + /** + * 获取offer邮件通知内容 + * + * @param billId + * @param fieldList + * @param mainDataMap + * @param tznr + * @param yx + * @return + */ + public static String getOfferMsgContent(String billId, List fieldList, Map mainDataMap, String tznr, String yx) { + Map> fieldMapList = fieldList.stream().collect(Collectors.groupingBy(Formfield::getLabelName)); + // 发送邮件 + String offerMobileUrl = RecruitConstant.OFFER_MOBILE_URL + "&billid=" + billId + "&dzyx=" + yx; + String mobileLink = "录用通知函"; + tznr = tznr.replace("{录用通知函}", mobileLink); + return RecruitModeUtil.getReplaceContent(tznr, fieldMapList, mainDataMap); + } }