Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner

This commit is contained in:
苏竹红
2023-06-25 11:33:04 +08:00
11 changed files with 30 additions and 17 deletions

View File

@@ -292,7 +292,9 @@
SELECT t1.id interviewId, t1.id interview_id, t2.id as interviewPlanId, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId SELECT t1.id interviewId, t1.id interview_id, t2.id as interviewPlanId, `status`, start_time, end_time, room_id, t1.partner_id partnerId, t1.interviewer interviewerId
FROM hy_partner_interview t1 FROM hy_partner_interview t1
LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id LEFT JOIN hy_partner_interview_plan t2 ON t1.interview_plan_id = t2.id
WHERE t1.partner_id = #{partnerId} and deleted = 0 WHERE t1.partner_id = #{partnerId}
AND t1.deleted = 0
AND t2.deleted = 0
</select> </select>
<select id="queryPartnerName" resultType="string"> <select id="queryPartnerName" resultType="string">
SELECT username SELECT username

View File

@@ -335,6 +335,7 @@
left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id left join hy_partner_user_info hpui on hpui.partner_id = hpip.partner_id
left join enterprise_user eu on hpip.interviewer = eu.user_id left join enterprise_user eu on hpip.interviewer = eu.user_id
<where> <where>
hpip.deleted = 0
<if test="record.partnerName !=null and record.partnerName!=''"> <if test="record.partnerName !=null and record.partnerName!=''">
hpui.username like concat('%',#{record.partnerName},'%') hpui.username like concat('%',#{record.partnerName},'%')
</if> </if>

View File

@@ -1,6 +1,7 @@
package com.cool.store.service; package com.cool.store.service;
import com.cool.store.entity.HyPartnerLineInfoDO; import com.cool.store.entity.HyPartnerLineInfoDO;
import com.cool.store.exception.ApiException;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest; import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest; import com.cool.store.request.PrivateSeaLineListRequest;
@@ -147,7 +148,7 @@ public interface HyPartnerLineInfoService {
*/ */
String getAssignFollowUser(String partnerId,String type); String getAssignFollowUser(String partnerId,String type);
InterviewVO getInterviewInfo(Long lineId); InterviewVO getInterviewInfo(Long lineId) throws ApiException;
/** /**
* 生成一条默认线索 * 生成一条默认线索

View File

@@ -22,7 +22,7 @@ public interface InterviewService {
* @param request * @param request
* @return * @return
*/ */
InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request); InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) throws ApiException;
/** /**
* 委托他人 * 委托他人

View File

@@ -27,7 +27,7 @@ public interface PartnerInterviewService {
/** /**
* 获取通知函详情 * 获取通知函详情
*/ */
PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId); PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) throws ApiException;
/** /**
* 修改面试时间 * 修改面试时间

View File

@@ -10,6 +10,7 @@ import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.partner.*; import com.cool.store.dto.partner.*;
import com.cool.store.entity.*; import com.cool.store.entity.*;
import com.cool.store.enums.*; import com.cool.store.enums.*;
import com.cool.store.exception.ApiException;
import com.cool.store.exception.ServiceException; import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest; import com.cool.store.request.LineRequest;
@@ -516,7 +517,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
} }
@Override @Override
public InterviewVO getInterviewInfo(Long lineId) { public InterviewVO getInterviewInfo(Long lineId) throws ApiException {
Long interviewId = hyPartnerInterviewPlanDAO.selectInterviewIdByLineId(lineId); Long interviewId = hyPartnerInterviewPlanDAO.selectInterviewIdByLineId(lineId);
QueryByInterviewPlanIdReq queryByInterviewPlanIdReq = new QueryByInterviewPlanIdReq(); QueryByInterviewPlanIdReq queryByInterviewPlanIdReq = new QueryByInterviewPlanIdReq();
if (interviewId!=null){ if (interviewId!=null){

View File

@@ -93,9 +93,13 @@ public class InterviewServiceImpl implements InterviewService {
} }
@Override @Override
public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) { public InterviewVO getInterviewInfo(QueryByInterviewPlanIdReq request) throws ApiException {
String interviewPlanId = request.getInterviewPlanId(); String interviewPlanId = request.getInterviewPlanId();
InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId); InterviewVO vo = hyPartnerInterviewPlanMapper.getInterviewInfo(interviewPlanId);
//如果面试信息为空,抛出异常
if (vo == null) {
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
}
//将 processInfo 解析为 List //将 processInfo 解析为 List
if (!StringUtils.isEmpty(vo.getProcessInfo())) { if (!StringUtils.isEmpty(vo.getProcessInfo())) {
List<String> split = Arrays.asList(vo.getProcessInfo().split(",")); List<String> split = Arrays.asList(vo.getProcessInfo().split(","));

View File

@@ -71,9 +71,7 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId())); hyPartnerInterviewDO.setInterviewPlanId(Long.parseLong(dto.getInterviewPlanId()));
//1. 将面试状态改为 --> 2已开始 //1. 将面试状态改为 --> 2已开始
hyPartnerInterviewDO.setStatus(2); hyPartnerInterviewDO.setStatus(2);
//3. 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改 //2. 修改加盟商或面试官进入面试时间
hyPartnerInterviewDO.setInterviewerEnterTime(DateUtil.date());
//4. 修改加盟商或面试官进入面试时间
//加盟商 //加盟商
if (dto.getUserType().equals(2)) { if (dto.getUserType().equals(2)) {
hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date()); hyPartnerInterviewDO.setPartnerEnterTime(DateUtil.date());
@@ -84,15 +82,17 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
interviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO); interviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO(); HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId())); hyPartnerInterviewPlanDO.setId(Long.parseLong(dto.getInterviewPlanId()));
//5. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段 //3. TODO待确认 修改面试实际开始时间,以第一个人进来的时间为准,后续不再修改
hyPartnerInterviewPlanDO.setActualEndTime(DateUtil.date());
//4. 加盟商如果进入了,就修改面试计划表 is_partner_interview 字段
if (dto.getUserType().equals(2)) { if (dto.getUserType().equals(2)) {
hyPartnerInterviewPlanDO.setIsPartnerInterview(1); hyPartnerInterviewPlanDO.setIsPartnerInterview(1);
} }
//6. 修改房间状态为已开放 //5. 修改房间状态为已开放
interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO); interviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
//7. 查询对应的面试官id、姓名及加盟商姓名 //6. 查询对应的面试官id、姓名及加盟商姓名
EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId()); EnterInterviewVO vo = interviewMapper.getInterviewerByInterviewPlanId(dto.getInterviewPlanId());
//8. 生成 userSign //7. 生成 userSign
String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId()); String userSig = TRTCUtils.genUserSig(sdkAppId, key, dto.getUserId());
vo.setUserSign(userSig); vo.setUserSign(userSig);
return vo; return vo;
@@ -105,8 +105,12 @@ public class PartnerInterviewServiceImpl implements PartnerInterviewService {
* 获取通知函详情 * 获取通知函详情
*/ */
@Override @Override
public PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) { public PartnerPassLetterDetailVO passLetterDetail(String interviewPlanId) throws ApiException {
PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewPlanId); PartnerPassLetterDetailVO vo = interviewMapper.getPassLetterDetail(interviewPlanId);
//如果面试信息为空,抛出异常
if (vo == null) {
throw new ApiException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
}
//解析意向开店区域为市级行政区 //解析意向开店区域为市级行政区
String verifyCity = vo.getVerifyCity(); String verifyCity = vo.getVerifyCity();
String[] split = verifyCity.split("/"); String[] split = verifyCity.split("/");

View File

@@ -291,7 +291,7 @@ public class DeskController {
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "lineId", value = "线索ID", required = false), @ApiImplicitParam(name = "lineId", value = "线索ID", required = false),
}) })
public ResponseResult<InterviewVO> getInterviewInfoByLineId(@RequestParam(value = "lineId",required = false)Long lineId){ public ResponseResult<InterviewVO> getInterviewInfoByLineId(@RequestParam(value = "lineId",required = false)Long lineId) throws ApiException {
return ResponseResult.success(hyPartnerLineInfoService.getInterviewInfo(lineId)); return ResponseResult.success(hyPartnerLineInfoService.getInterviewInfo(lineId));
} }
} }

View File

@@ -42,7 +42,7 @@ public class InterviewController {
@PostMapping("/queryByInterviewPlanId") @PostMapping("/queryByInterviewPlanId")
@ApiOperation("根据面试会议计划id查询面试信息") @ApiOperation("根据面试会议计划id查询面试信息")
public ResponseResult<InterviewVO> queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) { public ResponseResult<InterviewVO> queryByInterviewPlanId(@RequestBody QueryByInterviewPlanIdReq request) throws ApiException {
InterviewVO interviewVO = interviewService.getInterviewInfo(request); InterviewVO interviewVO = interviewService.getInterviewInfo(request);
return ResponseResult.success(interviewVO); return ResponseResult.success(interviewVO);
} }

View File

@@ -44,7 +44,7 @@ public class InterviewController {
@PostMapping("/passLetter/detail") @PostMapping("/passLetter/detail")
@ApiOperation("通过函详情") @ApiOperation("通过函详情")
public ResponseResult<PartnerPassLetterDetailVO> passLetterDetail(@RequestBody PartnerGetPassLetterDetailDto dto) { public ResponseResult<PartnerPassLetterDetailVO> passLetterDetail(@RequestBody PartnerGetPassLetterDetailDto dto) throws ApiException {
return ResponseResult.success(interviewService.passLetterDetail(dto.getInterviewPlanId())); return ResponseResult.success(interviewService.passLetterDetail(dto.getInterviewPlanId()));
} }