面试&面谈

This commit is contained in:
zhangchenbiao
2024-03-29 14:14:19 +08:00
parent 32acfe7dcb
commit 5676abe719
5 changed files with 32 additions and 16 deletions

View File

@@ -86,6 +86,12 @@
<if test="interviewerUserId != null and interviewerUserId != ''"> <if test="interviewerUserId != null and interviewerUserId != ''">
and a.interviewer_user_id = #{interviewerUserId} and a.interviewer_user_id = #{interviewerUserId}
</if> </if>
<if test="wantShopAreaIds != null and wantShopAreaIds.size() > 0">
b.want_shop_area_id in
<foreach collection="wantShopAreaIds" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
</select> </select>
<select id="getInterviewInfoByRoomId" resultMap="BaseResultMap"> <select id="getInterviewInfoByRoomId" resultMap="BaseResultMap">

View File

@@ -5,6 +5,8 @@ import com.cool.store.common.PageBasicInfo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @author zhangchenbiao * @author zhangchenbiao
* @FileName: LineInterviewPageRequest * @FileName: LineInterviewPageRequest
@@ -46,4 +48,6 @@ public class LineInterviewPageRequest extends PageBasicInfo {
@ApiModelProperty("面试官") @ApiModelProperty("面试官")
private String interviewerUserId; private String interviewerUserId;
private List<Long> wantShopAreaIds;
} }

View File

@@ -54,16 +54,11 @@ public interface LineInterviewService {
/** /**
* 获取分页 * 获取分页
* @param request * @param request
* @param userId
* @param isTeam
* @return * @return
*/ */
PageInfo<LineInterviewPageVO> getInterviewerPage(LineInterviewPageRequest request); PageInfo<LineInterviewPageVO> getInterviewerPage(LineInterviewPageRequest request, String userId, Boolean isTeam);
/**
* 获取团队线索
* @param request
* @return
*/
PageInfo<LineInterviewPageVO> getTeamInterviewerPage(LineInterviewPageRequest request);
/** /**
* 进入面试间 * 进入面试间

View File

@@ -14,6 +14,8 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.*; import com.cool.store.request.*;
import com.cool.store.service.LabelService; import com.cool.store.service.LabelService;
import com.cool.store.service.LineInterviewService; import com.cool.store.service.LineInterviewService;
import com.cool.store.service.SysRoleService;
import com.cool.store.service.UserAuthMappingService;
import com.cool.store.utils.TRTCUtils; import com.cool.store.utils.TRTCUtils;
import com.cool.store.utils.UUIDUtils; import com.cool.store.utils.UUIDUtils;
import com.cool.store.utils.poi.DateUtils; import com.cool.store.utils.poi.DateUtils;
@@ -22,6 +24,7 @@ import com.cool.store.vo.interview.*;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@@ -66,6 +69,10 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
private LineAuditInfoDAO lineAuditInfoDAO; private LineAuditInfoDAO lineAuditInfoDAO;
@Resource @Resource
private CommonService commonService; private CommonService commonService;
@Resource
private UserAuthMappingService userAuthMappingService;
@Resource
private SysRoleService sysRoleService;
@Override @Override
public List<AppointmentTimeVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate) { public List<AppointmentTimeVO> getAppointmentTime(Long lineId, Integer interviewType, LocalDate appointmentDate) {
@@ -227,7 +234,15 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
} }
@Override @Override
public PageInfo<LineInterviewPageVO> getInterviewerPage(LineInterviewPageRequest request) { public PageInfo<LineInterviewPageVO> getInterviewerPage(LineInterviewPageRequest request, String userId, Boolean isTeam) {
if(isTeam && !sysRoleService.checkIsAdmin(userId)){
List<Long> wantShopAreaIds = userAuthMappingService.listWantShopAreaIdByUserId(userId);
if(CollectionUtils.isEmpty(wantShopAreaIds)){
request.setInterviewerUserId(userId);
}else{
request.setWantShopAreaIds(wantShopAreaIds);
}
}
Page<LineInterviewPageDTO> pageInfo = lineInterviewDAO.getInterviewerPage(request); 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> 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> investmentManagerUserIds = pageInfo.stream().filter(x -> StringUtils.isNotEmpty(x.getInvestmentManager() )).map(LineInterviewPageDTO::getInvestmentManager).collect(Collectors.toList());
@@ -243,11 +258,6 @@ public class LineInterviewServiceImpl extends LineFlowService implements LineInt
return resultPage; return resultPage;
} }
@Override
public PageInfo<LineInterviewPageVO> getTeamInterviewerPage(LineInterviewPageRequest request) {
return null;
}
@Override @Override
public EnterInterviewVO enterInterviewRoom(Long interviewId, String interviewUserId, InterviewUserTypeEnum userType) { public EnterInterviewVO enterInterviewRoom(Long interviewId, String interviewUserId, InterviewUserTypeEnum userType) {
LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId); LineInterviewDO interviewInfo = lineInterviewDAO.getInterviewInfoById(interviewId);

View File

@@ -67,13 +67,14 @@ public class PCLineInterviewController {
@ApiOperation("一审列表/二审列表") @ApiOperation("一审列表/二审列表")
@PostMapping("/page") @PostMapping("/page")
public ResponseResult<PageInfo<LineInterviewPageVO>> getInterviewerPage(@RequestBody LineInterviewPageRequest request) { public ResponseResult<PageInfo<LineInterviewPageVO>> getInterviewerPage(@RequestBody LineInterviewPageRequest request) {
return ResponseResult.success(lineInterviewService.getInterviewerPage(request)); request.setInterviewerUserId(CurrentUserHolder.getUserId());
return ResponseResult.success(lineInterviewService.getInterviewerPage(request, CurrentUserHolder.getUserId(), Boolean.FALSE));
} }
@ApiOperation("团队一审/团队二审") @ApiOperation("团队一审/团队二审")
@PostMapping("/team/page") @PostMapping("/team/page")
public ResponseResult<PageInfo<LineInterviewPageVO>> getTeamInterviewerPage(@RequestBody LineInterviewPageRequest request) { public ResponseResult<PageInfo<LineInterviewPageVO>> getTeamInterviewerPage(@RequestBody LineInterviewPageRequest request) {
return ResponseResult.success(lineInterviewService.getTeamInterviewerPage(request)); return ResponseResult.success(lineInterviewService.getInterviewerPage(request, CurrentUserHolder.getUserId(), Boolean.TRUE));
} }
@ApiOperation("获取面试信息") @ApiOperation("获取面试信息")