获取忙闲信息修改
This commit is contained in:
@@ -61,7 +61,7 @@ public enum ErrorCodeEnum {
|
|||||||
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
|
||||||
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", null),
|
||||||
INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null),
|
INTERVIEW_NOT_EXIST(1021103, "面试信息不存在!", null),
|
||||||
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID和面试官ID不能同时为空!", null),
|
INTERVIEW_AND_PARTNER_ID_IS_NULL(1021104, "加盟商用户ID&线索ID和面试官ID不能同时为空!", null),
|
||||||
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面试安排!", null),
|
INTERVIEW_PLAN_IS_NULL(1021105, "未查询到相关面试安排!", null),
|
||||||
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
|
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
|
||||||
INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null),
|
INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null),
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public interface HyPartnerInterviewMapper {
|
|||||||
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
|
||||||
* dateTime:2023-06-09 05:51
|
* dateTime:2023-06-09 05:51
|
||||||
*/
|
*/
|
||||||
int insertSelective(HyPartnerInterviewDO record);
|
int insertSelective(@Param("record") HyPartnerInterviewDO record);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -54,133 +54,133 @@
|
|||||||
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
<insert id="insertSelective" keyColumn="id" keyProperty="record.id" useGeneratedKeys="true">
|
||||||
insert into hy_partner_interview
|
insert into hy_partner_interview
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="status != null">
|
<if test="record.status != null">
|
||||||
status,
|
status,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerLineId != null">
|
<if test="record.partnerLineId != null">
|
||||||
partner_line_id,
|
partner_line_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewPlanId != null">
|
<if test="record.interviewPlanId != null">
|
||||||
interview_plan_id,
|
interview_plan_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerId != null">
|
<if test="record.partnerId != null">
|
||||||
partner_id,
|
partner_id,
|
||||||
</if>
|
</if>
|
||||||
<if test="deadline != null">
|
<if test="record.deadline != null">
|
||||||
deadline,
|
deadline,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewer != null">
|
<if test="record.interviewer != null">
|
||||||
interviewer,
|
interviewer,
|
||||||
</if>
|
</if>
|
||||||
<if test="recorder != null">
|
<if test="record.recorder != null">
|
||||||
recorder,
|
recorder,
|
||||||
</if>
|
</if>
|
||||||
<if test="processInfo != null">
|
<if test="record.processInfo != null">
|
||||||
process_info,
|
process_info,
|
||||||
</if>
|
</if>
|
||||||
<if test="recordTime != null">
|
<if test="record.recordTime != null">
|
||||||
record_time,
|
record_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="summary != null">
|
<if test="record.summary != null">
|
||||||
summary,
|
summary,
|
||||||
</if>
|
</if>
|
||||||
<if test="authCode != null">
|
<if test="record.authCode != null">
|
||||||
auth_code,
|
auth_code,
|
||||||
</if>
|
</if>
|
||||||
<if test="passFileUrl != null">
|
<if test="record.passFileUrl != null">
|
||||||
pass_file_url,
|
pass_file_url,
|
||||||
</if>
|
</if>
|
||||||
<if test="expiryDate != null">
|
<if test="record.expiryDate != null">
|
||||||
expiry_date,
|
expiry_date,
|
||||||
</if>
|
</if>
|
||||||
<if test="latestLogMessage != null">
|
<if test="record.latestLogMessage != null">
|
||||||
latest_log_message,
|
latest_log_message,
|
||||||
</if>
|
</if>
|
||||||
<if test="passReason != null">
|
<if test="record.passReason != null">
|
||||||
pass_reason,
|
pass_reason,
|
||||||
</if>
|
</if>
|
||||||
<if test="certifyFile != null">
|
<if test="record.certifyFile != null">
|
||||||
certify_file,
|
certify_file,
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">
|
<if test="record.createTime != null">
|
||||||
create_time,
|
create_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
update_time,
|
update_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="approveTime != null">
|
<if test="record.approveTime != null">
|
||||||
approve_time,
|
approve_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerEnterTime != null">
|
<if test="record.partnerEnterTime != null">
|
||||||
partner_enter_time,
|
partner_enter_time,
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewerEnterTime != null">
|
<if test="record.interviewerEnterTime != null">
|
||||||
interviewer_enter_time,
|
interviewer_enter_time,
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="status != null">
|
<if test="record.status != null">
|
||||||
#{status},
|
#{record.status},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerLineId != null">
|
<if test="record.partnerLineId != null">
|
||||||
#{partnerLineId},
|
#{record.partnerLineId},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewPlanId != null">
|
<if test="record.interviewPlanId != null">
|
||||||
#{interviewPlanId},
|
#{record.interviewPlanId},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerId != null">
|
<if test="record.partnerId != null">
|
||||||
#{partnerId},
|
#{record.partnerId},
|
||||||
</if>
|
</if>
|
||||||
<if test="deadline != null">
|
<if test="record.deadline != null">
|
||||||
#{deadline},
|
#{record.deadline},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewer != null">
|
<if test="record.interviewer != null">
|
||||||
#{interviewer},
|
#{record.interviewer},
|
||||||
</if>
|
</if>
|
||||||
<if test="recorder != null">
|
<if test="record.recorder != null">
|
||||||
#{recorder},
|
#{record.recorder},
|
||||||
</if>
|
</if>
|
||||||
<if test="processInfo != null">
|
<if test="record.processInfo != null">
|
||||||
#{processInfo},
|
#{record.processInfo},
|
||||||
</if>
|
</if>
|
||||||
<if test="recordTime != null">
|
<if test="record.recordTime != null">
|
||||||
#{recordTime},
|
#{record.recordTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="summary != null">
|
<if test="record.summary != null">
|
||||||
#{summary},
|
#{record.summary},
|
||||||
</if>
|
</if>
|
||||||
<if test="authCode != null">
|
<if test="record.authCode != null">
|
||||||
#{authCode},
|
#{record.authCode},
|
||||||
</if>
|
</if>
|
||||||
<if test="passFileUrl != null">
|
<if test="record.passFileUrl != null">
|
||||||
#{passFileUrl},
|
#{record.passFileUrl},
|
||||||
</if>
|
</if>
|
||||||
<if test="expiryDate != null">
|
<if test="record.expiryDate != null">
|
||||||
#{expiryDate},
|
#{record.expiryDate},
|
||||||
</if>
|
</if>
|
||||||
<if test="latestLogMessage != null">
|
<if test="record.latestLogMessage != null">
|
||||||
#{latestLogMessage},
|
#{record.latestLogMessage},
|
||||||
</if>
|
</if>
|
||||||
<if test="passReason != null">
|
<if test="record.passReason != null">
|
||||||
#{passReason},
|
#{record.passReason},
|
||||||
</if>
|
</if>
|
||||||
<if test="certifyFile != null">
|
<if test="record.certifyFile != null">
|
||||||
#{certifyFile},
|
#{record.certifyFile},
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">
|
<if test="record.createTime != null">
|
||||||
#{createTime},
|
#{record.createTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">
|
<if test="record.updateTime != null">
|
||||||
#{updateTime},
|
#{record.updateTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="approveTime != null">
|
<if test="record.approveTime != null">
|
||||||
#{approveTime},
|
#{record.approveTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="partnerEnterTime != null">
|
<if test="record.partnerEnterTime != null">
|
||||||
#{partnerEnterTime},
|
#{record.partnerEnterTime},
|
||||||
</if>
|
</if>
|
||||||
<if test="interviewerEnterTime != null">
|
<if test="record.interviewerEnterTime != null">
|
||||||
#{interviewerEnterTime},
|
#{record.interviewerEnterTime},
|
||||||
</if>
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|||||||
@@ -16,8 +16,10 @@ public class GetFreeBusyListReq {
|
|||||||
private String startDate;
|
private String startDate;
|
||||||
@ApiModelProperty("结束时间")
|
@ApiModelProperty("结束时间")
|
||||||
private String endDate;
|
private String endDate;
|
||||||
@ApiModelProperty("加盟商用户ID")
|
@ApiModelProperty("线索id(C端使用)")
|
||||||
|
private String lineId;
|
||||||
|
@ApiModelProperty("加盟商用户ID(C端使用,与面试官id两个字段中必传一个,该字段传值时,线索id必传)")
|
||||||
private String partnerId;
|
private String partnerId;
|
||||||
@ApiModelProperty("面试官ID(如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
|
@ApiModelProperty("面试官ID(B端使用,如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
|
||||||
private String interviewerId;
|
private String interviewerId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateTime;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
|
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
|
||||||
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
import com.cool.store.entity.HyPartnerInterviewPlanDO;
|
||||||
|
import com.cool.store.entity.HyPartnerLineInfoDO;
|
||||||
import com.cool.store.enums.ErrorCodeEnum;
|
import com.cool.store.enums.ErrorCodeEnum;
|
||||||
import com.cool.store.exception.ApiException;
|
import com.cool.store.exception.ApiException;
|
||||||
import com.cool.store.exception.ServiceException;
|
import com.cool.store.exception.ServiceException;
|
||||||
import com.cool.store.http.ISVHttpRequest;
|
import com.cool.store.http.ISVHttpRequest;
|
||||||
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
|
||||||
|
import com.cool.store.mapper.HyPartnerLineInfoMapper;
|
||||||
import com.cool.store.request.GetFreeBusyListReq;
|
import com.cool.store.request.GetFreeBusyListReq;
|
||||||
import com.cool.store.service.FeiShuService;
|
import com.cool.store.service.FeiShuService;
|
||||||
import com.cool.store.vo.interview.CalendarInfo;
|
import com.cool.store.vo.interview.CalendarInfo;
|
||||||
@@ -36,6 +38,9 @@ public class FeiShuServiceImpl implements FeiShuService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
|
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
|
||||||
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
|
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
|
||||||
@@ -43,22 +48,25 @@ public class FeiShuServiceImpl implements FeiShuService {
|
|||||||
String endDate = request.getEndDate();//结束日期
|
String endDate = request.getEndDate();//结束日期
|
||||||
String partnerId = request.getPartnerId();//加盟商用户ID
|
String partnerId = request.getPartnerId();//加盟商用户ID
|
||||||
String interviewerId = request.getInterviewerId();//面试官ID
|
String interviewerId = request.getInterviewerId();//面试官ID
|
||||||
|
String lineId = request.getLineId();//线索id
|
||||||
//如果加盟商用户ID为空且面试官ID为空,返回错误信息
|
//如果加盟商用户ID为空且面试官ID为空,返回错误信息
|
||||||
if (StringUtils.isEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
|
if (!(StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) && StringUtils.isEmpty(interviewerId)) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_AND_PARTNER_ID_IS_NULL);
|
throw new ServiceException(ErrorCodeEnum.INTERVIEW_AND_PARTNER_ID_IS_NULL);
|
||||||
}
|
}
|
||||||
//如果加盟商用户ID不为空且面试官ID为空
|
//如果加盟商用户ID不为空且面试官ID为空
|
||||||
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
|
if (StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) {
|
||||||
//根据加盟商用户ID查询面试官ID
|
//根据加盟商用户ID查询面试官ID
|
||||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||||
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
|
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
|
||||||
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
List<HyPartnerInterviewPlanDO> hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||||
//如果查询结果为空,返回错误信息
|
//如果查询结果为空,则去线索中获取招商经理,面试官只有两个阶段,一个是在第一次申请时不存在面试安排直接取招商经理,第二个时面试信息中可修改面试官信息,这个时候以面试信息中为准
|
||||||
if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) {
|
if (CollectionUtils.isEmpty(hyPartnerInterviewPlanDOS)) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_IS_NULL);
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoMapper.selectByPrimaryKeySelective(Long.valueOf(lineId));
|
||||||
}
|
interviewerId = hyPartnerLineInfoDO.getInvestmentManager();
|
||||||
|
}else {
|
||||||
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
|
interviewerId = hyPartnerInterviewPlanDOS.get(0).getInterviewer();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
long startTime = 0L;
|
long startTime = 0L;
|
||||||
long endTime = 0L;
|
long endTime = 0L;
|
||||||
DateTime startDateTime = null;
|
DateTime startDateTime = null;
|
||||||
|
|||||||
@@ -207,6 +207,7 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional
|
||||||
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) {
|
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) {
|
||||||
CreateAppointmentVO vo = new CreateAppointmentVO();
|
CreateAppointmentVO vo = new CreateAppointmentVO();
|
||||||
//1.创建面试计划
|
//1.创建面试计划
|
||||||
@@ -226,14 +227,18 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
|
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
|
||||||
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
|
||||||
record.setDeleted(false);
|
record.setDeleted(false);
|
||||||
long interviewPlanId = hyPartnerInterviewPlanMapper.insertSelective(record);
|
hyPartnerInterviewPlanMapper.insertSelective(record);
|
||||||
vo.setInterviewPlanId(String.valueOf(interviewPlanId));
|
|
||||||
|
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||||
|
hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
|
||||||
|
|
||||||
|
// vo.setInterviewPlanId(String.valueOf(interviewPlanId));
|
||||||
|
|
||||||
//2.创建面试信息
|
//2.创建面试信息
|
||||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
|
// hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
|
||||||
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
|
|
||||||
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
|
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
|
||||||
|
hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
|
||||||
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
|
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
|
||||||
hyPartnerInterviewDO.setCreateTime(new Date());
|
hyPartnerInterviewDO.setCreateTime(new Date());
|
||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
|
|||||||
Reference in New Issue
Block a user