Merge remote-tracking branch 'origin/cc_20230520_partner' into cc_20230520_partner
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
package com.cool.store.enums;
|
package com.cool.store.enums;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author suzhuhong
|
* @Author suzhuhong
|
||||||
@@ -44,4 +50,13 @@ public enum WorkflowStageEnum {
|
|||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static final Map<String, WorkflowStageEnum> map = Arrays.stream(values()).collect(
|
||||||
|
Collectors.toMap(WorkflowStageEnum::getCode, Function.identity()));
|
||||||
|
|
||||||
|
public static WorkflowStageEnum getWorkflowStageByCode(String code) {
|
||||||
|
if(StringUtils.isBlank(code)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return map.get(code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,4 +153,6 @@ public interface HyPartnerInterviewPlanMapper {
|
|||||||
*/
|
*/
|
||||||
HyPartnerInterviewPlanDO getInterviewPlanById(String interviewPlanId);
|
HyPartnerInterviewPlanDO getInterviewPlanById(String interviewPlanId);
|
||||||
|
|
||||||
|
HyPartnerInterviewPlanDO getInterviewPlanByLineId(Long lineId);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -270,7 +270,7 @@
|
|||||||
|
|
||||||
<select id="getInterviewCount" resultType="com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO">
|
<select id="getInterviewCount" resultType="com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO">
|
||||||
select
|
select
|
||||||
ifnull(sum(if(start_time>now() or (start_time<![CDATA[<]]>now() and room_status!=2),1,0)),0) as currentDayInterviewCount,
|
ifnull(sum(if(interview_date = #{currentDate} and (start_time>now() or (start_time <![CDATA[<]]> now() and room_status!=2)),1,0)),0) as currentDayInterviewCount,
|
||||||
ifnull(sum(if(start_time>#{startTime} and end_time <![CDATA[<]]> #{endTime},1,0)),0) as lastSevenDayInterviewCount
|
ifnull(sum(if(start_time>#{startTime} and end_time <![CDATA[<]]> #{endTime},1,0)),0) as lastSevenDayInterviewCount
|
||||||
FROM hy_partner_interview_plan
|
FROM hy_partner_interview_plan
|
||||||
where interviewer = #{userId}
|
where interviewer = #{userId}
|
||||||
@@ -401,7 +401,9 @@
|
|||||||
hpip.interviewer as interviewerId,
|
hpip.interviewer as interviewerId,
|
||||||
hpip.feishu_calendar_id as feishuCalendarId,
|
hpip.feishu_calendar_id as feishuCalendarId,
|
||||||
hpip.feishu_schedule_id as feishuScheduleId,
|
hpip.feishu_schedule_id as feishuScheduleId,
|
||||||
hpi.status as status
|
hpi.status as status,
|
||||||
|
hpip.actual_start_time actualStartTime,
|
||||||
|
hpip.actual_end_time actualEndTime
|
||||||
from hy_partner_interview_plan hpip
|
from hy_partner_interview_plan hpip
|
||||||
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
left join hy_partner_line_info hpll on hpip.partner_line_id = hpll.id
|
||||||
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
|
||||||
@@ -482,4 +484,9 @@
|
|||||||
from hy_partner_interview_plan
|
from hy_partner_interview_plan
|
||||||
where id = #{interviewPlanId}
|
where id = #{interviewPlanId}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getInterviewPlanByLineId" resultType="com.cool.store.entity.HyPartnerInterviewPlanDO">
|
||||||
|
select <include refid="Base_Column_List"></include>
|
||||||
|
from hy_partner_interview_plan
|
||||||
|
where partner_line_id = #{lineId} and deleted = 0
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -307,10 +307,12 @@
|
|||||||
hpuinfo.want_shop_area as wantShopArea,
|
hpuinfo.want_shop_area as wantShopArea,
|
||||||
hpuinfo.accept_adjust_type as acceptAdjustType,
|
hpuinfo.accept_adjust_type as acceptAdjustType,
|
||||||
hpuinfo.mobile as partnerUserPhone,
|
hpuinfo.mobile as partnerUserPhone,
|
||||||
hpuinfo.username as partnerUserName
|
hpuinfo.username as partnerUserName,
|
||||||
|
hpuc.channel_name as channelName
|
||||||
from hy_partner_line_info a
|
from hy_partner_line_info a
|
||||||
left join hy_partner_base_info b on a.id = b.partner_line_id
|
left join hy_partner_base_info b on a.id = b.partner_line_id
|
||||||
LEFT JOIN hy_partner_user_info hpuinfo ON a.partner_id = hpuinfo.partner_id
|
LEFT JOIN hy_partner_user_info hpuinfo ON a.partner_id = hpuinfo.partner_id
|
||||||
|
LEFT JOIN hy_partner_user_channel hpuc ON a.user_channel_id = hpuc.channel_id
|
||||||
<where>
|
<where>
|
||||||
<if test="lineId!=null">
|
<if test="lineId!=null">
|
||||||
and a.id = #{lineId}
|
and a.id = #{lineId}
|
||||||
|
|||||||
@@ -76,4 +76,6 @@ public class PartnerLineInfoAndBaseInfoDTO {
|
|||||||
|
|
||||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||||
private Integer acceptAdjustType;
|
private Integer acceptAdjustType;
|
||||||
|
|
||||||
|
private String channelName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class PartnerIntentApplyInfoVO {
|
|||||||
private String deadline;
|
private String deadline;
|
||||||
|
|
||||||
@ApiModelProperty("阶段提交时间")
|
@ApiModelProperty("阶段提交时间")
|
||||||
private Date partnerSubmitTime;
|
private String partnerSubmitTime;
|
||||||
|
|
||||||
@ApiModelProperty("阶段状态")
|
@ApiModelProperty("阶段状态")
|
||||||
private String WorkflowStatus;
|
private String WorkflowStatus;
|
||||||
@@ -72,7 +72,7 @@ public class PartnerIntentApplyInfoVO {
|
|||||||
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
|
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
|
||||||
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
|
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
|
||||||
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
||||||
partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime());
|
partnerIntentApplyInfoVO.setPartnerSubmitTime( DateUtil.format(partnerIntentApplyInfoDTO.getPartnerSubmitTime(), CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
|
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
|
||||||
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
|
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
|
||||||
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
|
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class PartnerInterviewInfoVO {
|
|||||||
private String endTime;
|
private String endTime;
|
||||||
|
|
||||||
@ApiModelProperty("截止时间")
|
@ApiModelProperty("截止时间")
|
||||||
private Date deadline;
|
private String deadline;
|
||||||
|
|
||||||
@ApiModelProperty("房间号")
|
@ApiModelProperty("房间号")
|
||||||
private String roomId;
|
private String roomId;
|
||||||
@@ -70,5 +70,5 @@ public class PartnerInterviewInfoVO {
|
|||||||
private String authCode;
|
private String authCode;
|
||||||
|
|
||||||
@ApiModelProperty("审批发起时间")
|
@ApiModelProperty("审批发起时间")
|
||||||
private Date approveTime;
|
private String approveTime;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,4 +83,7 @@ public class PartnerLineInfoAndBaseInfoVO {
|
|||||||
|
|
||||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||||
private Integer acceptAdjustType;
|
private Integer acceptAdjustType;
|
||||||
|
|
||||||
|
@ApiModelProperty("线索来源名称")
|
||||||
|
private String channelName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,6 +82,12 @@ public class InterviewVO {
|
|||||||
@ApiModelProperty(value = "会议结束时间", required = true, example = "2023-06-03 12:00")
|
@ApiModelProperty(value = "会议结束时间", required = true, example = "2023-06-03 12:00")
|
||||||
private String endTime;
|
private String endTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "面试实际开始时间", required = true, example = "2023-06-03 12:00")
|
||||||
|
private String actualStartTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "面试实际结束时间", required = true, example = "2023-06-03 12:00")
|
||||||
|
private String actualEndTime;
|
||||||
|
|
||||||
@ApiModelProperty(value = "预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝", required = true)
|
@ApiModelProperty(value = "预约状态 0 待预约;1待面试;2已开始;3待审核;4审批中;5审批通过;6拒绝", required = true)
|
||||||
private Integer status;
|
private Integer status;
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,9 @@ public interface InterviewService {
|
|||||||
*/
|
*/
|
||||||
void approveAppointment(ApproveAppointmentReq request) throws ApiException;
|
void approveAppointment(ApproveAppointmentReq request) throws ApiException;
|
||||||
void reInterview(ReInterviewReq request) throws ApiException;
|
void reInterview(ReInterviewReq request) throws ApiException;
|
||||||
void rejectInterview(RejectInterviewReq request) throws ApiException;
|
// void rejectInterview(RejectInterviewReq request) throws ApiException;
|
||||||
|
|
||||||
public String getInterviewerByPartner(String partnerId,String lineId)throws ApiException;
|
public String getInterviewerByPartner(String partnerId,String lineId)throws ApiException;
|
||||||
|
|
||||||
|
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.service;
|
|||||||
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhangchenbiao
|
* @author zhangchenbiao
|
||||||
@@ -18,4 +19,11 @@ public interface WorkFlowService {
|
|||||||
*/
|
*/
|
||||||
void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request);
|
void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转让招商经理
|
||||||
|
* @param workflowStage
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
void transferInvestmentManager(WorkflowStageEnum workflowStage,TransferInvestmentManagerRequest request);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
|
|||||||
}
|
}
|
||||||
//转交 所有的招商经理
|
//转交 所有的招商经理
|
||||||
if (CommonConstants.TRANSFER.equals(type)){
|
if (CommonConstants.TRANSFER.equals(type)){
|
||||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, null);
|
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(list), keyword, null);
|
||||||
}
|
}
|
||||||
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
|
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public class HyPartnerBaseInfoServiceImpl implements HyPartnerBaseInfoService {
|
|||||||
|
|
||||||
HyPartnerTaskInfoLogDO logDO = new HyPartnerTaskInfoLogDO(request.getPartnerId(), request.getPartnerLineId(), WorkflowStageEnum.INTENT.getCode(), WorkflowStatusEnum.INTENT_1.getCode(), currentUser.getPartnerId(), currentUser.getUsername(), null);
|
HyPartnerTaskInfoLogDO logDO = new HyPartnerTaskInfoLogDO(request.getPartnerId(), request.getPartnerLineId(), WorkflowStageEnum.INTENT.getCode(), WorkflowStatusEnum.INTENT_1.getCode(), currentUser.getPartnerId(), currentUser.getUsername(), null);
|
||||||
|
|
||||||
hyPartnerTaskInfoLogDAO.insertSelective(logDO);
|
// hyPartnerTaskInfoLogDAO.insertSelective(logDO);
|
||||||
}
|
}
|
||||||
// 清空暂存信息
|
// 清空暂存信息
|
||||||
redisUtilPool.delKey(cacheKey);
|
redisUtilPool.delKey(cacheKey);
|
||||||
|
|||||||
@@ -269,12 +269,12 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
|||||||
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
|
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
|
||||||
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
partnerInterviewInfoVO.setRoomId(partnerInterviewInfoDTO.getRoomId());
|
partnerInterviewInfoVO.setRoomId(partnerInterviewInfoDTO.getRoomId());
|
||||||
partnerInterviewInfoVO.setDeadline(partnerInterviewInfoDTO.getDeadline());
|
partnerInterviewInfoVO.setDeadline(DateUtil.format(partnerInterviewInfoDTO.getDeadline(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
partnerInterviewInfoVO.setStartTime(DateUtil.format(partnerInterviewInfoDTO.getStartTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
|
partnerInterviewInfoVO.setStatus(partnerInterviewInfoDTO.getStatus());
|
||||||
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
|
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
|
||||||
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
partnerInterviewInfoVO.setEndTime(DateUtil.format(partnerInterviewInfoDTO.getEndTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
partnerInterviewInfoVO.setApproveTime(partnerInterviewInfoDTO.getApproveTime());
|
partnerInterviewInfoVO.setApproveTime(DateUtil.format(partnerInterviewInfoDTO.getApproveTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||||
return partnerInterviewInfoVO;
|
return partnerInterviewInfoVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,11 +16,7 @@ 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;
|
||||||
import com.cool.store.request.QueryByInterviewPlanIdReq;
|
import com.cool.store.request.QueryByInterviewPlanIdReq;
|
||||||
import com.cool.store.service.AliyunService;
|
import com.cool.store.service.*;
|
||||||
import com.cool.store.service.EnterpriseUserService;
|
|
||||||
import com.cool.store.service.HyPartnerBaseInfoService;
|
|
||||||
import com.cool.store.service.HyPartnerLineInfoService;
|
|
||||||
import com.cool.store.service.InterviewService;
|
|
||||||
import com.cool.store.utils.CoolDateUtils;
|
import com.cool.store.utils.CoolDateUtils;
|
||||||
import com.cool.store.utils.RedisUtilPool;
|
import com.cool.store.utils.RedisUtilPool;
|
||||||
import com.cool.store.utils.StringUtil;
|
import com.cool.store.utils.StringUtil;
|
||||||
@@ -31,6 +27,7 @@ import com.github.pagehelper.PageInfo;
|
|||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.sql.Array;
|
import java.sql.Array;
|
||||||
@@ -72,6 +69,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
HyPartnerInterviewPlanDAO hyPartnerInterviewPlanDAO;
|
HyPartnerInterviewPlanDAO hyPartnerInterviewPlanDAO;
|
||||||
@Resource
|
@Resource
|
||||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||||
|
@Resource
|
||||||
|
WorkFlowService workFlowService;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -252,6 +251,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
|
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
|
||||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
|
||||||
if (hyPartnerLineInfoDO==null){
|
if (hyPartnerLineInfoDO==null){
|
||||||
@@ -282,7 +282,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage());
|
String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage());
|
||||||
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
|
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
|
||||||
//15天 冷静期
|
//15天 冷静期
|
||||||
// TODO: 2023/6/13 冷静期
|
|
||||||
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId());
|
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId());
|
||||||
redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest));
|
redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest));
|
||||||
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
|
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
|
||||||
@@ -294,6 +293,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||||
hyPartnerLineInfoDO.setCloseTime(new Date());
|
hyPartnerLineInfoDO.setCloseTime(new Date());
|
||||||
hyPartnerLineInfoDO.setCloseUserId(userId);
|
hyPartnerLineInfoDO.setCloseUserId(userId);
|
||||||
|
//各阶段单独的逻辑
|
||||||
|
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),closeFollowRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
//面试超时
|
//面试超时
|
||||||
@@ -566,7 +567,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
|
||||||
// 15天之后可以继续填写意向信息,把之前的线索删除
|
// 15天之后可以继续填写意向信息,把之前的线索删除
|
||||||
if(hyPartnerLineInfoDO != null && hyPartnerLineInfoDO.getDeadline() != null &&
|
if(hyPartnerLineInfoDO != null && hyPartnerLineInfoDO.getDeadline() != null &&
|
||||||
hyPartnerLineInfoDO.getDeadline().before(new Date())){
|
DateUtil.offsetSecond(hyPartnerLineInfoDO.getDeadline(), -1).before(new Date())){
|
||||||
//将老的线索置为删除状态
|
//将老的线索置为删除状态
|
||||||
hyPartnerLineInfoDAO.batchDeleted(Collections.singletonList(hyPartnerLineInfoDO.getId()));
|
hyPartnerLineInfoDAO.batchDeleted(Collections.singletonList(hyPartnerLineInfoDO.getId()));
|
||||||
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
||||||
@@ -628,6 +629,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|||||||
partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType());
|
partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType());
|
||||||
partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea());
|
partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea());
|
||||||
partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea());
|
partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea());
|
||||||
|
partnerLineInfoAndBaseInfoVO.setChannelName(partnerLineInfoAndBaseInfoDTO.getChannelName());
|
||||||
if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){
|
if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){
|
||||||
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class));
|
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -191,17 +191,17 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PC端修改面试时间,目前和小程序端逻辑一致,后续可能扩展
|
* PC端修改面试时间,和小程序端逻辑不一致,PC端修改需要修改日程信息
|
||||||
* @param request
|
* @param request
|
||||||
* @throws ApiException
|
* @throws ApiException
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException {
|
public void modifyInterviewTime(ModifyInterviewTimeReq request) throws ApiException {
|
||||||
//只有房间状态是待开放才可以修改时间
|
//只有房间状态是待开放才可以修改时间
|
||||||
Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(request.getInterviewPlanId());
|
// Integer roomStatus = hyPartnerInterviewPlanMapper.getRoomStatus(request.getInterviewPlanId());
|
||||||
if (!roomStatus.equals(RoomStatus.WAIT_FOR_OPEN.getCode())) {
|
// if (!roomStatus.equals(RoomStatus.WAIT_FOR_OPEN.getCode())) {
|
||||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
// throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||||
}
|
// }
|
||||||
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
InterviewVO interviewInfo = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||||
//如果面试信息为空,抛出异常
|
//如果面试信息为空,抛出异常
|
||||||
if (interviewInfo == null) {
|
if (interviewInfo == null) {
|
||||||
@@ -210,12 +210,41 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
if(RoomStatus.WAIT_FOR_OPEN.getCode() != Integer.parseInt(interviewInfo.getRoomStatus())){
|
||||||
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
throw new ApiException(ErrorCodeEnum.ROOM_STATUS_ERROR);
|
||||||
}
|
}
|
||||||
|
//1.原面试官日程删除
|
||||||
|
DeleteCalendarEventDTO deleteCalendarEventDTO = new DeleteCalendarEventDTO();
|
||||||
|
deleteCalendarEventDTO.setCalendarId(interviewInfo.getFeishuCalendarId());
|
||||||
|
deleteCalendarEventDTO.setEventId(interviewInfo.getFeishuScheduleId());
|
||||||
|
deleteCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||||
|
UserCalendarsEventDTO userCalendarsEventDTO = isvHttpRequest.deleteUserCalendarEvent(deleteCalendarEventDTO);
|
||||||
|
if(userCalendarsEventDTO == null ){
|
||||||
|
throw new ApiException(ErrorCodeEnum.FEISHU_DELETE_SCHEDULE_ERROR);
|
||||||
|
}
|
||||||
|
//2.新面试官日程新增
|
||||||
|
CreateCalendarEventDTO createCalendarEventDTO = new CreateCalendarEventDTO();
|
||||||
|
createCalendarEventDTO.setStartTime(DateUtil.parse(request.getNewStartBookingTime()).getTime());
|
||||||
|
createCalendarEventDTO.setEndTime(DateUtil.parse(request.getNewEndBookingTime()).getTime());
|
||||||
|
createCalendarEventDTO.setUserId(interviewInfo.getInterviewerId());
|
||||||
|
createCalendarEventDTO.setJoinUserIds(Arrays.asList(interviewInfo.getInterviewerId()));
|
||||||
|
createCalendarEventDTO.setSummary(generateInterviewTitle(interviewInfo.getPartnerLineId()));
|
||||||
|
UserCalendarsEventDTO userCalendarEvent = isvHttpRequest.createUserCalendarEvent(createCalendarEventDTO);
|
||||||
|
if(userCalendarEvent == null ){
|
||||||
|
throw new ApiException(ErrorCodeEnum.CREATE_CALENDAR_EVENT_FAIL);
|
||||||
|
}
|
||||||
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
HyPartnerInterviewPlanDO record = new HyPartnerInterviewPlanDO();
|
||||||
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
record.setId(Long.valueOf(request.getInterviewPlanId()));
|
||||||
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
record.setStartTime(Convert.toDate(request.getNewStartBookingTime()));
|
||||||
record.setEndTime(Convert.toDate(request.getNewEndBookingTime()));
|
record.setEndTime(Convert.toDate(request.getNewEndBookingTime()));
|
||||||
record.setUpdateTime(new Date());
|
record.setUpdateTime(new Date());
|
||||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(record);
|
||||||
|
|
||||||
|
//更新面试信息
|
||||||
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
|
hyPartnerInterviewDO.setInterviewPlanId(Long.valueOf(request.getInterviewPlanId()));
|
||||||
|
record.setFeishuCalendarId(userCalendarEvent.getCalendarId());
|
||||||
|
record.setFeishuScheduleId(userCalendarEvent.getEventId());
|
||||||
|
hyPartnerInterviewDO.setInterviewer(interviewInfo.getInterviewerId());
|
||||||
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -461,64 +490,38 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||||
}
|
}
|
||||||
//更新面试信息
|
rejectInterviewAndSuspendLine(Long.parseLong(interviewVO.getInterviewId()),Long.parseLong(request.getInterviewPlanId()),request.getCertifyFile());
|
||||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
|
||||||
hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId()));
|
|
||||||
hyPartnerInterviewDO.setDeleted(true);
|
|
||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
|
||||||
hyPartnerInterviewDO.setSummary(request.getReason());
|
|
||||||
hyPartnerInterviewDO.setCertifyFile(request.getCertifyFile());
|
|
||||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
|
||||||
//更新面试计划信息
|
|
||||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
|
||||||
hyPartnerInterviewPlanDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
|
||||||
hyPartnerInterviewPlanDO.setDeleted(true);
|
|
||||||
hyPartnerInterviewPlanDO.setUpdateTime(new Date());
|
|
||||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
|
||||||
|
|
||||||
//更新线索状态
|
//更新线索状态
|
||||||
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
|
HyPartnerLineInfoDO hyPartnerLineDO = new HyPartnerLineInfoDO();
|
||||||
hyPartnerLineDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
hyPartnerLineDO.setId(interviewVO.getPartnerLineId());
|
||||||
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
|
hyPartnerLineDO.setWorkflowStage(WorkflowStageEnum.RESERVATION.getCode());
|
||||||
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
hyPartnerLineDO.setWorkflowStatus(WorkflowStatusEnum.RESERVATION_0.getCode());
|
||||||
hyPartnerLineDO.setUpdateTime(new Date());
|
hyPartnerLineDO.setUpdateTime(new Date());
|
||||||
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
|
hyPartnerLineInfoMapper.updateByPrimaryKeySelective(hyPartnerLineDO);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
// @Override
|
||||||
@Transactional
|
// @Transactional
|
||||||
public void rejectInterview(RejectInterviewReq request) throws ApiException {
|
// public void rejectInterview(RejectInterviewReq request) throws ApiException {
|
||||||
//查询面试计划信息
|
//查询面试计划信息
|
||||||
InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
// InterviewVO interviewVO = hyPartnerInterviewPlanMapper.getInterviewInfo(request.getInterviewPlanId());
|
||||||
//如果面试计划不存在,抛出异常
|
// //如果面试计划不存在,抛出异常
|
||||||
if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
// if (interviewVO == null||StringUtil.isEmpty(interviewVO.getInterviewPlanId())) {
|
||||||
throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
// throw new ServiceException(ErrorCodeEnum.INTERVIEW_PLAN_NOT_EXIST);
|
||||||
}
|
// }
|
||||||
//更新面试信息
|
//
|
||||||
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
// rejectInterviewAndSuspendLine(Long.parseLong(request.getInterviewId()),Long.parseLong(request.getInterviewPlanId()),request.getCertifyFile())
|
||||||
hyPartnerInterviewDO.setId(Long.valueOf(interviewVO.getInterviewId()));
|
// //更新线索状态
|
||||||
hyPartnerInterviewDO.setDeleted(true);
|
// CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
||||||
hyPartnerInterviewDO.setUpdateTime(new Date());
|
// closeFollowRequest.setRejectPublicReason(request.getRejectPublicReason());
|
||||||
hyPartnerInterviewDO.setCertifyFile(request.getCertifyFile());
|
// closeFollowRequest.setRejectRealReason(request.getRejectRealReason());
|
||||||
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
// closeFollowRequest.setLineId(Long.valueOf(request.getLineId()));
|
||||||
//更新面试计划信息
|
// closeFollowRequest.setType("reject");
|
||||||
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
// if(StringUtils.isNotEmpty(request.getCertifyFile())){
|
||||||
hyPartnerInterviewPlanDO.setId(Long.valueOf(request.getInterviewPlanId()));
|
// closeFollowRequest.setCertifyFile(Arrays.asList(request.getCertifyFile().split(",")));
|
||||||
hyPartnerInterviewPlanDO.setDeleted(true);
|
// }
|
||||||
hyPartnerInterviewPlanDO.setUpdateTime(new Date());
|
// hyPartnerLineInfoService.closeOrPassFollow(request.getOperatorId(),closeFollowRequest);
|
||||||
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
// }
|
||||||
|
|
||||||
//更新线索状态
|
|
||||||
CloseFollowRequest closeFollowRequest = new CloseFollowRequest();
|
|
||||||
closeFollowRequest.setRejectPublicReason(request.getRejectPublicReason());
|
|
||||||
closeFollowRequest.setRejectRealReason(request.getRejectRealReason());
|
|
||||||
closeFollowRequest.setLineId(Long.valueOf(request.getLineId()));
|
|
||||||
closeFollowRequest.setType("reject");
|
|
||||||
if(StringUtils.isNotEmpty(request.getCertifyFile())){
|
|
||||||
closeFollowRequest.setCertifyFile(Arrays.asList(request.getCertifyFile().split(",")));
|
|
||||||
}
|
|
||||||
hyPartnerLineInfoService.closeOrPassFollow(request.getOperatorId(),closeFollowRequest);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String generateFeiShuInterviewMsg(String partnerName, String partnerMobile, String interviewTime){
|
public String generateFeiShuInterviewMsg(String partnerName, String partnerMobile, String interviewTime){
|
||||||
//"您有一个【面试预约申请】待处理,预约人【姓名】手机号【13xxxxxxxxx】,预约面试时间【YYYY年MM月DD日 hh:mm】,请及时处理】"
|
//"您有一个【面试预约申请】待处理,预约人【姓名】手机号【13xxxxxxxxx】,预约面试时间【YYYY年MM月DD日 hh:mm】,请及时处理】"
|
||||||
@@ -556,4 +559,24 @@ public class InterviewServiceImpl implements InterviewService {
|
|||||||
return "意向 "+partnerBaseInfo.getUsername()+" 线上面试";
|
return "意向 "+partnerBaseInfo.getUsername()+" 线上面试";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//拒绝面试更新相关信息
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void rejectInterviewAndSuspendLine(Long iterviewId,Long interviewPlanId,String certifyFile){
|
||||||
|
//更新面试信息
|
||||||
|
HyPartnerInterviewDO hyPartnerInterviewDO = new HyPartnerInterviewDO();
|
||||||
|
hyPartnerInterviewDO.setId(iterviewId);
|
||||||
|
hyPartnerInterviewDO.setDeleted(true);
|
||||||
|
hyPartnerInterviewDO.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewDO.setStatus(Integer.valueOf(WorkflowStatusEnum.INTERVIEW_7.getCode()));
|
||||||
|
hyPartnerInterviewDO.setCertifyFile(certifyFile);
|
||||||
|
hyPartnerInterviewMapper.updateByPrimaryKeySelective(hyPartnerInterviewDO);
|
||||||
|
//更新面试计划信息
|
||||||
|
HyPartnerInterviewPlanDO hyPartnerInterviewPlanDO = new HyPartnerInterviewPlanDO();
|
||||||
|
hyPartnerInterviewPlanDO.setId(interviewPlanId);
|
||||||
|
hyPartnerInterviewPlanDO.setDeleted(true);
|
||||||
|
hyPartnerInterviewPlanDO.setUpdateTime(new Date());
|
||||||
|
hyPartnerInterviewPlanMapper.updateByPrimaryKeySelective(hyPartnerInterviewPlanDO);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,6 @@ public class WechatMiniAppServiceImpl implements WechatMiniAppService {
|
|||||||
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
hyPartnerUserInfoDO.setMobile(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||||
// hyPartnerUserInfoDO.setUsername(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
// hyPartnerUserInfoDO.setUsername(phoneInfoDTO.getPhoneInfo().getPhoneNumber());
|
||||||
hyPartnerUserInfoDO.setPartnerId(UUIDUtils.get32UUID());
|
hyPartnerUserInfoDO.setPartnerId(UUIDUtils.get32UUID());
|
||||||
hyPartnerUserInfoDO.setAcceptAdjustType(0);
|
|
||||||
hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
|
hyPartnerUserInfoDO.setIsWritePartnerKnow(0);
|
||||||
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
|
hyPartnerUserInfoDAO.insertSelective(hyPartnerUserInfoDO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
|||||||
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
import com.cool.store.service.WorkFlowService;
|
import com.cool.store.service.WorkFlowService;
|
||||||
import com.cool.store.service.impl.workflow.IntentWorkFlowService;
|
import com.cool.store.service.impl.workflow.IntentWorkFlowService;
|
||||||
import com.cool.store.service.impl.workflow.InterviewWorkFlowService;
|
import com.cool.store.service.impl.workflow.InterviewWorkFlowService;
|
||||||
@@ -18,7 +19,6 @@ import org.springframework.stereotype.Service;
|
|||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class WorkFlowServiceImpl implements WorkFlowService{
|
public class WorkFlowServiceImpl implements WorkFlowService{
|
||||||
|
|
||||||
private WorkFlowBaseService getWorkflowService(WorkflowStageEnum workflowStage){
|
private WorkFlowBaseService getWorkflowService(WorkflowStageEnum workflowStage){
|
||||||
switch (workflowStage){
|
switch (workflowStage){
|
||||||
case INTENT:
|
case INTENT:
|
||||||
@@ -32,8 +32,14 @@ public class WorkFlowServiceImpl implements WorkFlowService{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) {
|
public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest request) {
|
||||||
getWorkflowService(workflowStage).endProcess(request);
|
getWorkflowService(workflowStage).endProcess(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void transferInvestmentManager(WorkflowStageEnum workflowStage, TransferInvestmentManagerRequest request) {
|
||||||
|
getWorkflowService(workflowStage).transferInvestmentManager(request);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.cool.store.service.impl.workflow;
|
|||||||
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
import com.cool.store.service.impl.WorkFlowServiceImpl;
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -25,4 +25,9 @@ public class IntentWorkFlowService extends WorkFlowBaseService {
|
|||||||
public void endProcess(CloseFollowRequest request) {
|
public void endProcess(CloseFollowRequest request) {
|
||||||
log.info("意向申请结束~");
|
log.info("意向申请结束~");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||||
|
log.info("转让招商经理~");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,18 @@
|
|||||||
package com.cool.store.service.impl.workflow;
|
package com.cool.store.service.impl.workflow;
|
||||||
|
|
||||||
|
import com.cool.store.entity.HyPartnerInterviewDO;
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
|
import com.cool.store.mapper.HyPartnerInterviewMapper;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
|
import com.cool.store.service.InterviewService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhangchenbiao
|
* @author zhangchenbiao
|
||||||
* @FileName: InterviewWorkFlowService
|
* @FileName: InterviewWorkFlowService
|
||||||
@@ -15,6 +23,11 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class InterviewWorkFlowService extends WorkFlowBaseService {
|
public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HyPartnerInterviewMapper hyPartnerInterviewMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private InterviewService interviewService;
|
||||||
@Override
|
@Override
|
||||||
public WorkflowStageEnum getWorkFlowStage() {
|
public WorkflowStageEnum getWorkFlowStage() {
|
||||||
return WorkflowStageEnum.RESERVATION;
|
return WorkflowStageEnum.RESERVATION;
|
||||||
@@ -22,6 +35,18 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void endProcess(CloseFollowRequest request) {
|
public void endProcess(CloseFollowRequest request) {
|
||||||
log.info("面试结束~");
|
Long lineId = request.getLineId();
|
||||||
|
//根据线索id查询面试信息
|
||||||
|
List<HyPartnerInterviewDO> interviewBaseInfos = hyPartnerInterviewMapper.getInterviewBaseInfoListByLineIds(Arrays.asList(lineId));
|
||||||
|
if (interviewBaseInfos == null || interviewBaseInfos.size() == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
HyPartnerInterviewDO interviewBaseInfo = interviewBaseInfos.get(0);
|
||||||
|
interviewService.rejectInterviewAndSuspendLine(interviewBaseInfo.getId(),interviewBaseInfo.getInterviewPlanId(),null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||||
|
log.info("转让招商经理~");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl.workflow;
|
|||||||
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
@@ -24,4 +25,9 @@ public class ReservationWorkFlowService extends WorkFlowBaseService {
|
|||||||
public void endProcess(CloseFollowRequest request) {
|
public void endProcess(CloseFollowRequest request) {
|
||||||
log.info("预约面试结束~");
|
log.info("预约面试结束~");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void transferInvestmentManager(TransferInvestmentManagerRequest request) {
|
||||||
|
log.info("转让招商经理~");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl.workflow;
|
|||||||
|
|
||||||
import com.cool.store.enums.WorkflowStageEnum;
|
import com.cool.store.enums.WorkflowStageEnum;
|
||||||
import com.cool.store.request.CloseFollowRequest;
|
import com.cool.store.request.CloseFollowRequest;
|
||||||
|
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author zhangchenbiao
|
* @author zhangchenbiao
|
||||||
@@ -22,4 +23,10 @@ public abstract class WorkFlowBaseService {
|
|||||||
* @param request
|
* @param request
|
||||||
*/
|
*/
|
||||||
public abstract void endProcess(CloseFollowRequest request);
|
public abstract void endProcess(CloseFollowRequest request);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 转让招商经理
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
public abstract void transferInvestmentManager(TransferInvestmentManagerRequest request);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,10 +88,10 @@ public class InterviewController {
|
|||||||
return ResponseResult.success();
|
return ResponseResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/reject")
|
// @PostMapping("/reject")
|
||||||
@ApiOperation("拒绝面试")
|
// @ApiOperation("拒绝面试")
|
||||||
public ResponseResult reInterview(@RequestBody RejectInterviewReq request) throws ApiException {
|
// public ResponseResult reInterview(@RequestBody RejectInterviewReq request) throws ApiException {
|
||||||
interviewService.rejectInterview(request);
|
// interviewService.rejectInterview(request);
|
||||||
return ResponseResult.success();
|
// return ResponseResult.success();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user