transferInvestmentManager
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
package com.cool.store.enums;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Author suzhuhong
|
||||
@@ -44,4 +50,13 @@ public enum WorkflowStageEnum {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
|
||||
<select id="getInterviewCount" resultType="com.cool.store.dto.partner.SpecialDateRangeInterviewCountDTO">
|
||||
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
|
||||
FROM hy_partner_interview_plan
|
||||
where interviewer = #{userId}
|
||||
|
||||
@@ -307,10 +307,12 @@
|
||||
hpuinfo.want_shop_area as wantShopArea,
|
||||
hpuinfo.accept_adjust_type as acceptAdjustType,
|
||||
hpuinfo.mobile as partnerUserPhone,
|
||||
hpuinfo.username as partnerUserName
|
||||
hpuinfo.username as partnerUserName,
|
||||
hpuc.channel_name as channelName
|
||||
from hy_partner_line_info a
|
||||
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_channel hpuc ON a.user_channel_id = hpuc.channel_id
|
||||
<where>
|
||||
<if test="lineId!=null">
|
||||
and a.id = #{lineId}
|
||||
|
||||
@@ -76,4 +76,6 @@ public class PartnerLineInfoAndBaseInfoDTO {
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
private String channelName;
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
private String deadline;
|
||||
|
||||
@ApiModelProperty("阶段提交时间")
|
||||
private Date partnerSubmitTime;
|
||||
private String partnerSubmitTime;
|
||||
|
||||
@ApiModelProperty("阶段状态")
|
||||
private String WorkflowStatus;
|
||||
@@ -72,7 +72,7 @@ public class PartnerIntentApplyInfoVO {
|
||||
partnerIntentApplyInfoVO.setId(partnerIntentApplyInfoDTO.getId());
|
||||
partnerIntentApplyInfoVO.setPartnerId(partnerIntentApplyInfoDTO.getPartnerId());
|
||||
partnerIntentApplyInfoVO.setLineId(partnerIntentApplyInfoDTO.getPartnerLineId());
|
||||
partnerIntentApplyInfoVO.setPartnerSubmitTime(partnerIntentApplyInfoDTO.getPartnerSubmitTime());
|
||||
partnerIntentApplyInfoVO.setPartnerSubmitTime( DateUtil.format(partnerIntentApplyInfoDTO.getPartnerSubmitTime(), CoolDateUtils.DATE_FORMAT_SEC));
|
||||
partnerIntentApplyInfoVO.setAcceptAdjustType(partnerIntentApplyInfoDTO.getAcceptAdjustType());
|
||||
partnerIntentApplyInfoVO.setLiveArea(partnerIntentApplyInfoDTO.getLiveArea());
|
||||
partnerIntentApplyInfoVO.setWantShopArea(partnerIntentApplyInfoDTO.getWantShopArea());
|
||||
|
||||
@@ -31,7 +31,7 @@ public class PartnerInterviewInfoVO {
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty("截止时间")
|
||||
private Date deadline;
|
||||
private String deadline;
|
||||
|
||||
@ApiModelProperty("房间号")
|
||||
private String roomId;
|
||||
@@ -70,5 +70,5 @@ public class PartnerInterviewInfoVO {
|
||||
private String authCode;
|
||||
|
||||
@ApiModelProperty("审批发起时间")
|
||||
private Date approveTime;
|
||||
private String approveTime;
|
||||
}
|
||||
|
||||
@@ -83,4 +83,7 @@ public class PartnerLineInfoAndBaseInfoVO {
|
||||
|
||||
@ApiModelProperty("0不接受调剂、1全国调剂、2省内调剂、3市内调剂")
|
||||
private Integer acceptAdjustType;
|
||||
|
||||
@ApiModelProperty("线索来源名称")
|
||||
private String channelName;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -18,4 +19,11 @@ public interface WorkFlowService {
|
||||
*/
|
||||
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)){
|
||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(regionList), keyword, null);
|
||||
enterpriseUserDOS = enterpriseUserDAO.searchUserByRegionIdsAndKeyword(new ArrayList<>(list), keyword, null);
|
||||
}
|
||||
return EnterpriseUserSingleInfoVO.convertVO(enterpriseUserDOS);
|
||||
}
|
||||
|
||||
@@ -269,12 +269,12 @@ public class HyPartnerInterviewPlanServiceImpl implements HyPartnerInterviewPlan
|
||||
partnerInterviewInfoVO.setProcessInfo(partnerInterviewInfoDTO.getProcessInfo());
|
||||
partnerInterviewInfoVO.setCreateTime(DateUtil.format(partnerInterviewInfoDTO.getCreateTime(),CoolDateUtils.DATE_FORMAT_SEC));
|
||||
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.setStatus(partnerInterviewInfoDTO.getStatus());
|
||||
partnerInterviewInfoVO.setAuthCode(partnerInterviewInfoDTO.getAuthCode());
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,7 @@ import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.LineRequest;
|
||||
import com.cool.store.request.PrivateSeaLineListRequest;
|
||||
import com.cool.store.request.QueryByInterviewPlanIdReq;
|
||||
import com.cool.store.service.AliyunService;
|
||||
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.service.*;
|
||||
import com.cool.store.utils.CoolDateUtils;
|
||||
import com.cool.store.utils.RedisUtilPool;
|
||||
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.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.Array;
|
||||
@@ -72,6 +69,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
HyPartnerInterviewPlanDAO hyPartnerInterviewPlanDAO;
|
||||
@Resource
|
||||
private HyPartnerBaseInfoService hyPartnerBaseInfoService;
|
||||
@Resource
|
||||
WorkFlowService workFlowService;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -252,6 +251,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean closeOrPassFollow(String userId,CloseFollowRequest closeFollowRequest) {
|
||||
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(closeFollowRequest.getLineId());
|
||||
if (hyPartnerLineInfoDO==null){
|
||||
@@ -282,7 +282,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
String workflowStatus = WorkflowStageEnum.getWorkflowStageMap().get(hyPartnerLineInfoDO.getWorkflowStage());
|
||||
hyPartnerLineInfoDO.setWorkflowStatus(workflowStatus);
|
||||
//15天 冷静期
|
||||
// TODO: 2023/6/13 冷静期
|
||||
String coolingPeriodFirstLoginCacheKey = MessageFormat.format(RedisConstant.COOLINGPERIOD_FIRSTLOGIN_KEY, closeFollowRequest.getLineId());
|
||||
redisUtilPool.setString(coolingPeriodFirstLoginCacheKey,JSONObject.toJSONString(closeFollowRequest));
|
||||
hyPartnerLineInfoDO.setDeadline(CoolDateUtils.getDateBefore(new Date(),15));
|
||||
@@ -294,6 +293,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
hyPartnerLineInfoDO.setLineStatus(LineStatusEnum.PUBLIC_SEAS.getCode());
|
||||
hyPartnerLineInfoDO.setCloseTime(new Date());
|
||||
hyPartnerLineInfoDO.setCloseUserId(userId);
|
||||
//各阶段单独的逻辑
|
||||
workFlowService.endProcess(WorkflowStageEnum.getWorkflowStageByCode(hyPartnerLineInfoDO.getWorkflowStage()),closeFollowRequest);
|
||||
}
|
||||
|
||||
//面试超时
|
||||
@@ -628,6 +629,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
||||
partnerLineInfoAndBaseInfoVO.setAcceptAdjustType(partnerLineInfoAndBaseInfoDTO.getAcceptAdjustType());
|
||||
partnerLineInfoAndBaseInfoVO.setWantShopArea(partnerLineInfoAndBaseInfoDTO.getWantShopArea());
|
||||
partnerLineInfoAndBaseInfoVO.setLiveArea(partnerLineInfoAndBaseInfoDTO.getLiveArea());
|
||||
partnerLineInfoAndBaseInfoVO.setChannelName(partnerLineInfoAndBaseInfoDTO.getChannelName());
|
||||
if (StringUtil.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getCertifyFile())){
|
||||
partnerLineInfoAndBaseInfoVO.setPassCertifyFile(JSONObject.parseArray(partnerLineInfoAndBaseInfoDTO.getCertifyFile(), String.class));
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.cool.store.service.impl;
|
||||
|
||||
import com.cool.store.enums.WorkflowStageEnum;
|
||||
import com.cool.store.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import com.cool.store.service.WorkFlowService;
|
||||
import com.cool.store.service.impl.workflow.IntentWorkFlowService;
|
||||
import com.cool.store.service.impl.workflow.InterviewWorkFlowService;
|
||||
@@ -18,7 +19,6 @@ import org.springframework.stereotype.Service;
|
||||
*/
|
||||
@Service
|
||||
public class WorkFlowServiceImpl implements WorkFlowService{
|
||||
|
||||
private WorkFlowBaseService getWorkflowService(WorkflowStageEnum workflowStage){
|
||||
switch (workflowStage){
|
||||
case INTENT:
|
||||
@@ -32,8 +32,14 @@ public class WorkFlowServiceImpl implements WorkFlowService{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void endProcess(WorkflowStageEnum workflowStage, CloseFollowRequest 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.request.CloseFollowRequest;
|
||||
import com.cool.store.service.impl.WorkFlowServiceImpl;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -25,4 +25,9 @@ public class IntentWorkFlowService extends WorkFlowBaseService {
|
||||
public void endProcess(CloseFollowRequest request) {
|
||||
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.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -24,4 +25,9 @@ public class InterviewWorkFlowService extends WorkFlowBaseService {
|
||||
public void endProcess(CloseFollowRequest request) {
|
||||
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.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -24,4 +25,9 @@ public class ReservationWorkFlowService extends WorkFlowBaseService {
|
||||
public void endProcess(CloseFollowRequest request) {
|
||||
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.request.CloseFollowRequest;
|
||||
import com.cool.store.request.TransferInvestmentManagerRequest;
|
||||
|
||||
/**
|
||||
* @author zhangchenbiao
|
||||
@@ -22,4 +23,10 @@ public abstract class WorkFlowBaseService {
|
||||
* @param request
|
||||
*/
|
||||
public abstract void endProcess(CloseFollowRequest request);
|
||||
|
||||
/**
|
||||
* 转让招商经理
|
||||
* @param request
|
||||
*/
|
||||
public abstract void transferInvestmentManager(TransferInvestmentManagerRequest request);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user