diff --git a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
index 535d2f7ea..e227d8ecc 100644
--- a/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
+++ b/coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
@@ -61,7 +61,7 @@ public enum ErrorCodeEnum {
INTERVIEW_ENTER_FAIL(1021101, "进入面试间失败", null),
DINGDING_USER_NOT_EXIST(1021102, "用户钉钉信息不存在,无法发起资质审核!", 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),
DATE_PARAMS_IS_ERROR(1021106, "日期参数错误!", null),
INTERVIEW_PLAN_NOT_EXIST(1021107, "面试计划不存在!", null),
diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
index 5b60798b3..ef22c78aa 100644
--- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
+++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerInterviewMapper.java
@@ -18,7 +18,7 @@ public interface HyPartnerInterviewMapper {
* 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null
* dateTime:2023-06-09 05:51
*/
- int insertSelective(HyPartnerInterviewDO record);
+ int insertSelective(@Param("record") HyPartnerInterviewDO record);
/**
*
diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
index 584bebc81..7d0e1fd1b 100644
--- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
+++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewMapper.xml
@@ -54,133 +54,133 @@
insert into hy_partner_interview
-
+
status,
-
+
partner_line_id,
-
+
interview_plan_id,
-
+
partner_id,
-
+
deadline,
-
+
interviewer,
-
+
recorder,
-
+
process_info,
-
+
record_time,
-
+
summary,
-
+
auth_code,
-
+
pass_file_url,
-
+
expiry_date,
-
+
latest_log_message,
-
+
pass_reason,
-
+
certify_file,
-
+
create_time,
-
+
update_time,
-
+
approve_time,
-
+
partner_enter_time,
-
+
interviewer_enter_time,
-
- #{status},
+
+ #{record.status},
-
- #{partnerLineId},
+
+ #{record.partnerLineId},
-
- #{interviewPlanId},
+
+ #{record.interviewPlanId},
-
- #{partnerId},
+
+ #{record.partnerId},
-
- #{deadline},
+
+ #{record.deadline},
-
- #{interviewer},
+
+ #{record.interviewer},
-
- #{recorder},
+
+ #{record.recorder},
-
- #{processInfo},
+
+ #{record.processInfo},
-
- #{recordTime},
+
+ #{record.recordTime},
-
- #{summary},
+
+ #{record.summary},
-
- #{authCode},
+
+ #{record.authCode},
-
- #{passFileUrl},
+
+ #{record.passFileUrl},
-
- #{expiryDate},
+
+ #{record.expiryDate},
-
- #{latestLogMessage},
+
+ #{record.latestLogMessage},
-
- #{passReason},
+
+ #{record.passReason},
-
- #{certifyFile},
+
+ #{record.certifyFile},
-
- #{createTime},
+
+ #{record.createTime},
-
- #{updateTime},
+
+ #{record.updateTime},
-
- #{approveTime},
+
+ #{record.approveTime},
-
- #{partnerEnterTime},
+
+ #{record.partnerEnterTime},
-
- #{interviewerEnterTime},
+
+ #{record.interviewerEnterTime},
diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
index c1245ea8a..32e13925e 100644
--- a/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
+++ b/coolstore-partner-model/src/main/java/com/cool/store/request/GetFreeBusyListReq.java
@@ -16,8 +16,10 @@ public class GetFreeBusyListReq {
private String startDate;
@ApiModelProperty("结束时间")
private String endDate;
- @ApiModelProperty("加盟商用户ID")
+ @ApiModelProperty("线索id(C端使用)")
+ private String lineId;
+ @ApiModelProperty("加盟商用户ID(C端使用,与面试官id两个字段中必传一个,该字段传值时,线索id必传)")
private String partnerId;
- @ApiModelProperty("面试官ID(如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
+ @ApiModelProperty("面试官ID(B端使用,如果该字段传了,就查询该面试官的日程忙闲信息,否则查询加盟商对应的面试官的信息)")
private String interviewerId;
}
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java
index 30ef5c972..1a9363f4f 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FeiShuServiceImpl.java
@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.cool.store.dto.calendar.UserFreeBusyInfoDTO;
import com.cool.store.entity.HyPartnerInterviewPlanDO;
+import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.enums.ErrorCodeEnum;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException;
import com.cool.store.http.ISVHttpRequest;
import com.cool.store.mapper.HyPartnerInterviewPlanMapper;
+import com.cool.store.mapper.HyPartnerLineInfoMapper;
import com.cool.store.request.GetFreeBusyListReq;
import com.cool.store.service.FeiShuService;
import com.cool.store.vo.interview.CalendarInfo;
@@ -36,6 +38,9 @@ public class FeiShuServiceImpl implements FeiShuService {
@Autowired
private HyPartnerInterviewPlanMapper hyPartnerInterviewPlanMapper;
+ @Autowired
+ private HyPartnerLineInfoMapper hyPartnerLineInfoMapper;
+
@Override
public GetFreeBusyListVO getFreeBusyList(GetFreeBusyListReq request) throws ApiException {
GetFreeBusyListVO freeBusyListVO = new GetFreeBusyListVO();
@@ -43,21 +48,24 @@ public class FeiShuServiceImpl implements FeiShuService {
String endDate = request.getEndDate();//结束日期
String partnerId = request.getPartnerId();//加盟商用户ID
String interviewerId = request.getInterviewerId();//面试官ID
+ String lineId = request.getLineId();//线索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);
}
//如果加盟商用户ID不为空且面试官ID为空
- if (StringUtils.isNotEmpty(partnerId) && StringUtils.isEmpty(interviewerId)) {
+ if (StringUtils.isNotEmpty(partnerId) && StringUtils.isNotEmpty(lineId)) {
//根据加盟商用户ID查询面试官ID
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
hyPartnerInterviewPlanDO.setPartnerId(partnerId);
List hyPartnerInterviewPlanDOS = hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
- //如果查询结果为空,返回错误信息
+ //如果查询结果为空,则去线索中获取招商经理,面试官只有两个阶段,一个是在第一次申请时不存在面试安排直接取招商经理,第二个时面试信息中可修改面试官信息,这个时候以面试信息中为准
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 endTime = 0L;
diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
index 6348b591d..03d894d4b 100644
--- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
+++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/InterviewServiceImpl.java
@@ -207,6 +207,7 @@ public class InterviewServiceImpl implements InterviewService {
}
@Override
+ @Transactional
public CreateAppointmentVO createAppointment(CreateAppointmentReq request) {
CreateAppointmentVO vo = new CreateAppointmentVO();
//1.创建面试计划
@@ -226,14 +227,18 @@ public class InterviewServiceImpl implements InterviewService {
record.setRoomId(StringUtil.generateRoomId(startBookingTime));
record.setRoomStatus(RoomStatus.WAIT_FOR_OPEN.getCode());
record.setDeleted(false);
- long interviewPlanId = hyPartnerInterviewPlanMapper.insertSelective(record);
- vo.setInterviewPlanId(String.valueOf(interviewPlanId));
+ hyPartnerInterviewPlanMapper.insertSelective(record);
+
+ HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
+ hyPartnerInterviewPlanMapper.selectBySelective(hyPartnerInterviewPlanDO);
+
+// vo.setInterviewPlanId(String.valueOf(interviewPlanId));
//2.创建面试信息
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
- hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
- hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
+// hyPartnerInterviewDO.setInterviewPlanId(interviewPlanId);
hyPartnerInterviewDO.setPartnerLineId(request.getPartnerLineId());
+ hyPartnerInterviewDO.setPartnerId(request.getPartnerId());
hyPartnerInterviewDO.setInterviewer(request.getInterviewerId());
hyPartnerInterviewDO.setCreateTime(new Date());
hyPartnerInterviewDO.setUpdateTime(new Date());