weaver-hrm-recruit/src/com/engine/recruit/service/impl/OfferServiceImpl.java

88 lines
3.3 KiB
Java
Raw Normal View History

2023-10-30 18:33:14 +08:00
package com.engine.recruit.service.impl;
import com.engine.core.impl.Service;
2023-11-06 14:31:25 +08:00
import com.engine.recruit.entity.record.ApplicantRecordPo;
import com.engine.recruit.enums.RecordOperateEnum;
2023-10-30 18:33:14 +08:00
import com.engine.recruit.exception.CustomizeRunTimeException;
import com.engine.recruit.service.OfferService;
import org.apache.commons.lang3.StringUtils;
2023-11-06 14:31:25 +08:00
import weaver.common.DateUtil;
2023-10-30 18:33:14 +08:00
import weaver.conn.RecordSet;
import weaver.general.Util;
import java.util.HashMap;
import java.util.Map;
/**
* @author:dxfeng
* @createTime: 2023/10/30
* @version: 1.0
*/
public class OfferServiceImpl extends Service implements OfferService {
@Override
public Map<String, Object> getOfferMobileLink(Map<String, Object> param) {
return null;
}
@Override
public Map<String, Object> getOfferContent(Map<String, Object> param) {
Map<String, Object> returnMap = new HashMap<>();
String billId = Util.null2String(param.get("billid"));
String email = Util.null2String(param.get("dzyx"));
RecordSet rs = new RecordSet();
String offerContent = "";
2023-11-16 10:01:27 +08:00
String sxrq = "";
rs.executeQuery("select tznr,sxrq from uf_jcl_offer where id = ? and dzyx = ?", billId, email);
2023-10-30 18:33:14 +08:00
if (rs.next()) {
offerContent = rs.getString("tznr");
2023-11-16 10:01:27 +08:00
sxrq = rs.getString("sxrq");
}
// 判断当前offer是否失效
String currentDate = DateUtil.getCurrentDate();
int compDate = DateUtil.compDate(currentDate, sxrq);
// 当前日期>失效日期,更新状态为逾期未回复
if (compDate < 0) {
throw new CustomizeRunTimeException("offer已失效");
2023-10-30 18:33:14 +08:00
}
if (StringUtils.isAnyBlank(billId, email, offerContent)) {
throw new CustomizeRunTimeException("非法访问");
}
returnMap.put("content", offerContent);
return returnMap;
}
@Override
public Map<String, Object> updateOfferStatus(Map<String, Object> param) {
String status = Util.null2String(param.get("status"));
String email = Util.null2String(param.get("dzyx"));
String billId = Util.null2String(param.get("billid"));
if (StringUtils.isAnyBlank(billId, email, status) || !("2".equals(status) || "3".equals(status))) {
throw new CustomizeRunTimeException("非法操作");
}
RecordSet rs = new RecordSet();
// 判断是否已提交
rs.executeQuery("select zt from uf_jcl_offer where id = ? and dzyx = ? ", billId, email);
if (rs.next()) {
String zt = rs.getString("zt");
if ("2".equals(zt) || "3".equals(zt)) {
throw new CustomizeRunTimeException("此反馈已提交,请勿重复提交");
}
}
2023-11-16 10:01:27 +08:00
// 更新反馈状态、反馈时间
rs.executeUpdate("update uf_jcl_offer set zt = ?, fksj = ? where id = ? and dzyx = ?", status, DateUtil.getDateTime(), billId, email);
2023-11-06 14:31:25 +08:00
// 记录应聘过程
ApplicantRecordPo recordPo = ApplicantRecordPo.builder()
.billId(String.valueOf(billId))
.operateTime(DateUtil.getDateTime())
.user(user)
.recordOperateType(RecordOperateEnum.OFFER_FEEDBACK)
.build();
recordPo.execute();
2023-10-30 18:33:14 +08:00
return null;
}
}