面试/面谈

This commit is contained in:
zhangchenbiao
2024-03-22 16:18:47 +08:00
parent a5c5207445
commit bd4dc0fc13
11 changed files with 34 additions and 32 deletions

View File

@@ -26,11 +26,11 @@ public class LineCalendarsEventDAO {
@Resource
private LineCalendarsEventMapper lineCalendarsEventMapper;
public List<LineCalendarsEventDO> getInterviewerLineCalendarsEvent(String interviewer, LocalDate localDate) {
if (StringUtils.isBlank(interviewer) || Objects.isNull(localDate)) {
public List<LineCalendarsEventDO> getInterviewerLineCalendarsEvent(String interviewerUserId, LocalDate localDate) {
if (StringUtils.isBlank(interviewerUserId) || Objects.isNull(localDate)) {
return null;
}
return lineCalendarsEventMapper.getInterviewerLineCalendarsEvent(interviewer, localDate.toString());
return lineCalendarsEventMapper.getInterviewerLineCalendarsEvent(interviewerUserId, localDate.toString());
}
public List<LineCalendarsEventDO> getRegionLineCalendarsEvent(Long regionId, LocalDate localDate) {
@@ -49,8 +49,8 @@ public class LineCalendarsEventDAO {
* @param endTime
* @return
*/
public Boolean isOccupied(Integer interviewType, Long regionId, String interviewer, String startTime, String endTime){
return lineCalendarsEventMapper.getOccupiedCount(interviewType, regionId, interviewer, startTime, endTime) > 0;
public Boolean isOccupied(Integer interviewType, Long regionId, String interviewerUserId, String startTime, String endTime){
return lineCalendarsEventMapper.getOccupiedCount(interviewType, regionId, interviewerUserId, startTime, endTime) > 0;
}
/**

View File

@@ -8,7 +8,7 @@ import java.util.List;
public interface LineCalendarsEventMapper extends Mapper<LineCalendarsEventDO> {
List<LineCalendarsEventDO> getInterviewerLineCalendarsEvent(@Param("interviewer")String interviewer, @Param("interviewDate")String interviewDate);
List<LineCalendarsEventDO> getInterviewerLineCalendarsEvent(@Param("interviewerUserId")String interviewerUserId, @Param("interviewDate")String interviewDate);
List<LineCalendarsEventDO> getRegionLineCalendarsEvent(@Param("regionId")Long regionId, @Param("interviewDate")String interviewDate);
@@ -21,7 +21,7 @@ public interface LineCalendarsEventMapper extends Mapper<LineCalendarsEventDO> {
* @param endTime
* @return
*/
Integer getOccupiedCount(@Param("interviewType") Integer interviewType, @Param("regionId") Long regionId, @Param("interviewer") String interviewer, @Param("startTime") String startTime, @Param("endTime") String endTime);
Integer getOccupiedCount(@Param("interviewType") Integer interviewType, @Param("regionId") Long regionId, @Param("interviewerUserId") String interviewerUserId, @Param("startTime") String startTime, @Param("endTime") String endTime);
}

View File

@@ -11,14 +11,14 @@
<result column="interview_date" jdbcType="TIMESTAMP" property="interviewDate" />
<result column="start_time" jdbcType="TIMESTAMP" property="startTime" />
<result column="end_time" jdbcType="TIMESTAMP" property="endTime" />
<result column="interviewer" jdbcType="VARCHAR" property="interviewer" />
<result column="interviewer_user_id" jdbcType="VARCHAR" property="interviewerUserId" />
<result column="deleted" jdbcType="BIT" property="deleted" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<select id="getInterviewerLineCalendarsEvent" resultMap="BaseResultMap">
select start_time, end_time from xfsg_line_calendars_event where interview_date = #{interviewDate} and interviewer = #{interviewer}
select start_time, end_time from xfsg_line_calendars_event where interview_date = #{interviewDate} and interviewer_user_id = #{interviewerUserId}
</select>
<select id="getRegionLineCalendarsEvent" resultMap="BaseResultMap">
@@ -35,7 +35,7 @@
and
interview_type = #{interviewType}
<if test="interviewType == 0">
and interviewer = #{interviewer}
and interviewer_user_id = #{interviewerUserId}
</if>
<if test="regionId == 1">
and region_id = #{regionId}

View File

@@ -14,7 +14,7 @@
<result column="actual_end_time" jdbcType="TIMESTAMP" property="actualEndTime" />
<result column="room_id" jdbcType="VARCHAR" property="roomId" />
<result column="room_password" jdbcType="VARCHAR" property="roomPassword" />
<result column="interviewer" jdbcType="VARCHAR" property="interviewer" />
<result column="interviewer_user_id" jdbcType="VARCHAR" property="interviewerUserId" />
<result column="room_status" jdbcType="TINYINT" property="roomStatus" />
<result column="interview_status" jdbcType="TINYINT" property="interviewStatus" />
<result column="interview_type" jdbcType="TINYINT" property="interviewType" />
@@ -38,7 +38,7 @@
a.end_time as endTime,
a.actual_start_time as actualStartTime,
a.actual_end_time as actualEndTime,
a.interviewer as interviewer,
a.interviewer_user_id as interviewerUserId,
a.interview_status as interviewStatus,
a.interview_type as interviewType,
a.room_id as roomId,
@@ -71,8 +71,8 @@
<if test="lineSource != null and lineSource != ''">
and b.line_source = #{lineSource}
</if>
<if test="interviewer != null and interviewer != ''">
and a.interviewer = #{interviewer}
<if test="interviewerUserId != null and interviewerUserId != ''">
and a.interviewer_user_id = #{interviewerUserId}
</if>
</select>

View File

@@ -52,7 +52,7 @@ public class LineInterviewPageDTO {
private String actualEndTime;
@ApiModelProperty("面审人")
private String interviewer;
private String interviewerUserId;
@ApiModelProperty("房间id")
private String roomId;

View File

@@ -64,7 +64,8 @@ public class LineCalendarsEventDO {
/**
* 面试官
*/
private String interviewer;
@Column(name = "interviewer_user_id")
private String interviewerUserId;
/**
* 删除标识
@@ -83,7 +84,7 @@ public class LineCalendarsEventDO {
@Column(name = "update_time")
private Date updateTime;
public static LineCalendarsEventDO convertDO(LineInfoDO lineInfo, Integer interviewType, Date startTime, Date endTime, String interviewer){
public static LineCalendarsEventDO convertDO(LineInfoDO lineInfo, Integer interviewType, Date startTime, Date endTime, String interviewerUserId){
LineCalendarsEventDO calendarsEvent = new LineCalendarsEventDO();
calendarsEvent.setRegionId(lineInfo.getRegionId());
calendarsEvent.setLineId(lineInfo.getId());
@@ -93,7 +94,7 @@ public class LineCalendarsEventDO {
calendarsEvent.setInterviewDate(startTime);
calendarsEvent.setStartTime(startTime);
calendarsEvent.setEndTime(endTime);
calendarsEvent.setInterviewer(interviewer);
calendarsEvent.setInterviewerUserId(interviewerUserId);
return calendarsEvent;
}

View File

@@ -82,7 +82,8 @@ public class LineInterviewDO {
/**
* 面试官
*/
private String interviewer;
@Column(name = "interviewer_user_id")
private String interviewerUserId;
/**
* 房间状态:0待开放;1已开放; 2已关闭
@@ -146,7 +147,7 @@ public class LineInterviewDO {
addInterview.setStartTime(startTime);
addInterview.setEndTime(endTime);
addInterview.setRoomId(roomId);
addInterview.setInterviewer(interviewer);
addInterview.setInterviewerUserId(interviewer);
addInterview.setInterviewType(interviewType);
addInterview.setCalendarsEventId(calendarsEventId);
return addInterview;

View File

@@ -22,6 +22,6 @@ public class ModifyInterviewerRequest {
@NotNull(message = "面审官不能为空")
@ApiModelProperty("面审官")
private String interviewer;
private String interviewerUserId;
}

View File

@@ -77,7 +77,7 @@ public class InterviewDetailVO {
result.setInterviewId(interviewInfo.getId());
result.setLineId(lineInfo.getId());
result.setPartnerId(lineInfo.getPartnerId());
result.setInterviewerUserId(interviewInfo.getInterviewer());
result.setInterviewerUserId(interviewInfo.getInterviewerUserId());
result.setPartnerName(lineInfo.getUsername());
result.setRegionId(lineInfo.getRegionId());
result.setInterviewDate(interviewInfo.getInterviewDate());

View File

@@ -84,7 +84,7 @@ public class LineInterviewPageVO {
result.setLineSource(lineInterviewPage.getLineSource());
result.setActualStartTime(lineInterviewPage.getActualStartTime());
result.setActualEndTime(lineInterviewPage.getActualEndTime());
result.setInterviewerUsername(userNameMap.get(lineInterviewPage.getInterviewer()));
result.setInterviewerUsername(userNameMap.get(lineInterviewPage.getInterviewerUserId()));
List<String> userPortraitList = new ArrayList<>();
if(StringUtils.isNotBlank(lineInterviewPage.getUserPortrait())){
String[] parts = lineInterviewPage.getUserPortrait().split(",");

View File

@@ -148,19 +148,19 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
if(Objects.isNull(interviewInfo)){
throw new ServiceException(ErrorCodeEnum.INTERVIEW_NOT_EXIST);
}
interviewInfo.setInterviewer(request.getInterviewer());
interviewInfo.setInterviewerUserId(request.getInterviewerUserId());
lineInterviewDAO.updateInterviewInfo(interviewInfo);
LineCalendarsEventDO update = new LineCalendarsEventDO();
update.setId(interviewInfo.getCalendarsEventId());
update.setInterviewer(request.getInterviewer());
update.setInterviewerUserId(request.getInterviewerUserId());
lineCalendarsEventDAO.updateCalendarsEvent(update);
LineInfoDO lineInfo = new LineInfoDO();
lineInfo.setId(request.getLineId());
if(InterviewTypeEnum.INTERVIEW.equals(interviewType)){
lineInfo.setFirstInterviewer(request.getInterviewer());
lineInfo.setFirstInterviewer(request.getInterviewerUserId());
}
if(InterviewTypeEnum.SECOND_INTERVIEW.equals(interviewType)){
lineInfo.setSecondInterviewer(request.getInterviewer());
lineInfo.setSecondInterviewer(request.getInterviewerUserId());
}
lineInfoDAO.updateLineInfo(lineInfo);
return true;
@@ -171,10 +171,10 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
Page<LineInterviewPageDTO> pageInfo = lineInterviewDAO.getInterviewerPage(request);
List<String> userPortraitList = pageInfo.stream().filter(x -> StringUtils.isNotEmpty(x.getUserPortrait() )).map(LineInterviewPageDTO::getUserPortrait).collect(Collectors.toList());
List<String> investmentManagerUserIds = pageInfo.stream().filter(x -> StringUtils.isNotEmpty(x.getInvestmentManager() )).map(LineInterviewPageDTO::getInvestmentManager).collect(Collectors.toList());
List<String> interviewerIds = pageInfo.stream().filter(x -> StringUtils.isNotEmpty(x.getInterviewer() )).map(LineInterviewPageDTO::getInterviewer).collect(Collectors.toList());
List<String> interviewerUserIds = pageInfo.stream().filter(x -> StringUtils.isNotEmpty(x.getInterviewerUserId() )).map(LineInterviewPageDTO::getInterviewerUserId).collect(Collectors.toList());
List<Long> wantShopAreaIds = pageInfo.stream().filter(x -> Objects.nonNull(x.getWantShopAreaId() )).map(LineInterviewPageDTO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> cityNameMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIds);
List<String> userIds = Stream.concat(investmentManagerUserIds.stream(), interviewerIds.stream()).distinct().collect(Collectors.toList());
List<String> userIds = Stream.concat(investmentManagerUserIds.stream(), interviewerUserIds.stream()).distinct().collect(Collectors.toList());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
Map<Long, String> userPortraitMap = labelService.getUserPortraitMap(userPortraitList);
List<LineInterviewPageVO> resultList = LineInterviewPageVO.convertList(pageInfo, userPortraitMap, userNameMap, cityNameMap);
@@ -193,7 +193,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
if (interviewInfo.getRoomStatus().equals(RoomStatus.CLOSED.getCode())) {
throw new ServiceException(ErrorCodeEnum.ROOM_STATUS_ERROR);
}
String userName = enterpriseUserDAO.getUserName(interviewInfo.getInterviewer());
String userName = enterpriseUserDAO.getUserName(interviewInfo.getInterviewerUserId());
Long lineId = interviewInfo.getLineId();
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
if(Objects.isNull(lineInfo)){
@@ -207,7 +207,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
interviewInfo.setJoinInterviewStatus(joinInterviewStatus);
lineInterviewDAO.updateInterviewInfo(interviewInfo);
String userSig = TRTCUtils.genUserSig(sdkAppId, key, interviewUserId);
return new EnterInterviewVO(interviewInfo.getLineId(), lineInfo.getPartnerId(), interviewInfo.getRoomId(), userSig, interviewInfo.getInterviewer(), userName, lineInfo.getUsername());
return new EnterInterviewVO(interviewInfo.getLineId(), lineInfo.getPartnerId(), interviewInfo.getRoomId(), userSig, interviewInfo.getInterviewerUserId(), userName, lineInfo.getUsername());
}
@Override
@@ -245,7 +245,7 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
return null;
}
InterviewDetailVO result = InterviewDetailVO.convertVO(lineInfo, interviewInfo);
result.setInterviewerUsername(enterpriseUserDAO.getUserName(interviewInfo.getInterviewer()));
result.setInterviewerUsername(enterpriseUserDAO.getUserName(interviewInfo.getInterviewerUserId()));
Long auditId = interviewInfo.getAuditId();
if(Objects.nonNull(auditId) && auditId > CommonConstants.ZERO_LONG){
LineAuditInfoDO auditInfo = lineAuditInfoDAO.getAuditInfo(auditId);