@@ -37,6 +37,7 @@ import javax.annotation.Resource;
import java.text.MessageFormat ;
import java.text.MessageFormat ;
import java.util.* ;
import java.util.* ;
import java.util.stream.Collectors ;
import java.util.stream.Collectors ;
import java.util.stream.Stream ;
/**
/**
* @Author suzhuhong
* @Author suzhuhong
@@ -84,7 +85,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Resource
@Resource
HyPartnerUserChannelDAO hyPartnerUserChannelDAO ;
HyPartnerUserChannelDAO hyPartnerUserChannelDAO ;
// @Autowired
// @Autowired
// private NoticeService noticeService;
// private NoticeService noticeService;
@Autowired
@Autowired
private EventCenterHttpRequest eventCenterHttpRequest ;
private EventCenterHttpRequest eventCenterHttpRequest ;
@@ -103,6 +104,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Autowired
@Autowired
private WechatMiniAppService wechatMiniAppService ;
private WechatMiniAppService wechatMiniAppService ;
@Override
@Override
public StageCountVO selectStagePendingCount ( String userId ) {
public StageCountVO selectStagePendingCount ( String userId ) {
StageCountDTO stageCountDTO = hyPartnerLineInfoDAO . selectStagePendingCount ( userId ) ;
StageCountDTO stageCountDTO = hyPartnerLineInfoDAO . selectStagePendingCount ( userId ) ;
@@ -118,13 +120,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public PartnerLineInfoAndBaseInfoVO selectPartnerLineInfoAndBaseInfo ( Long lineId ) {
public PartnerLineInfoAndBaseInfoVO selectPartnerLineInfoAndBaseInfo ( Long lineId ) {
PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO = hyPartnerLineInfoDAO . selectPartnerLineInfoAndBaseInfo ( lineId ) ;
PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO = hyPartnerLineInfoDAO . selectPartnerLineInfoAndBaseInfo ( lineId ) ;
if ( partnerLineInfoAndBaseInfoDTO = = null ) {
if ( partnerLineInfoAndBaseInfoDTO = = null ) {
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
}
}
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo ( partnerLineInfoAndBaseInfoDTO ) ;
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = convertPartnerLineInfoAndBaseInfoDTOToVo ( partnerLineInfoAndBaseInfoDTO ) ;
String userPortrait = partnerLineInfoAndBaseInfoDTO . getUserPortrait ( ) ;
String userPortrait = partnerLineInfoAndBaseInfoDTO . getUserPortrait ( ) ;
if ( StringUtils . isNotEmpty ( userPortrait ) ) {
if ( StringUtils . isNotEmpty ( userPortrait ) ) {
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( Arrays . asList ( userPortrait ) ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( Arrays . asList ( userPortrait ) ) ;
List < UserPortraitDTO > userPortraitDTOS = userPortraitMap . entrySet ( ) . stream ( )
List < UserPortraitDTO > userPortraitDTOS = userPortraitMap . entrySet ( ) . stream ( )
@@ -134,42 +136,42 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
List < String > userIds = new ArrayList < > ( ) ;
List < String > userIds = new ArrayList < > ( ) ;
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ) {
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ) {
userIds . add ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ;
userIds . add ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ;
}
}
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) ) ) {
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) ) ) {
userIds . add ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) ) ;
userIds . add ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) ) ;
}
}
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) ) ) {
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) ) ) {
userIds . add ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) ) ;
userIds . add ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) ) ;
}
}
List < EnterpriseUserDO > userList = enterpriseUserDAO . getUserInfoByUserIds ( userIds ) ;
List < EnterpriseUserDO > userList = enterpriseUserDAO . getUserInfoByUserIds ( userIds ) ;
Map < String , EnterpriseUserDO > userDOMap = userList . stream ( ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , data - > data ) ) ;
Map < String , EnterpriseUserDO > userDOMap = userList . stream ( ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , data - > data ) ) ;
partnerLineInfoAndBaseInfoVO . setPassUserName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getPassUserId ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassUserName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getPassUserId ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassUserMobile ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getPassUserId ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassUserMobile ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getPassUserId ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
partnerLineInfoAndBaseInfoVO . setInvestmentManagerName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setInvestmentManagerName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setInvestmentManagerPhone ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
partnerLineInfoAndBaseInfoVO . setInvestmentManagerPhone ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirectorName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirectorName ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) , new EnterpriseUserDO ( ) ) . getName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirectorMobile ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirectorMobile ( userDOMap . getOrDefault ( partnerLineInfoAndBaseInfoVO . getDevelopmentDirector ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) ) ;
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ) {
if ( StringUtils . isNotEmpty ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ) {
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( Long . valueOf ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ) ;
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( Long . valueOf ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ) ;
partnerLineInfoAndBaseInfoVO . setWantShopAreaName ( hyOpenAreaInfoDO . getAreaPath ( ) . replace ( " / " , " " ) ) ;
partnerLineInfoAndBaseInfoVO . setWantShopAreaName ( hyOpenAreaInfoDO . getAreaPath ( ) . replace ( " / " , " " ) ) ;
}
}
return partnerLineInfoAndBaseInfoVO ;
return partnerLineInfoAndBaseInfoVO ;
}
}
@Override
@Override
public PageInfo < PartnerLineInfoVO > lastMonthCloseLine ( String userId , Integer pageSize , Integer pageNumber ) {
public PageInfo < PartnerLineInfoVO > lastMonthCloseLine ( String userId , Integer pageSize , Integer pageNumber ) {
PageHelper . startPage ( pageNumber , pageSize ) ;
PageHelper . startPage ( pageNumber , pageSize ) ;
String lastMonthTodayDate = DateUtil . format ( CoolDateUtils . getDateBefore ( new Date ( ) , - 30 ) , CoolDateUtils . DATE_FORMAT_SEC ) ;
String lastMonthTodayDate = DateUtil . format ( CoolDateUtils . getDateBefore ( new Date ( ) , - 30 ) , CoolDateUtils . DATE_FORMAT_SEC ) ;
PageInfo hyPartnerLineInfoDOPageInfo = new PageInfo ( hyPartnerLineInfoDAO . lastMonthCloseLine ( userId , lastMonthTodayDate ) ) ;
PageInfo hyPartnerLineInfoDOPageInfo = new PageInfo ( hyPartnerLineInfoDAO . lastMonthCloseLine ( userId , lastMonthTodayDate ) ) ;
List < HyPartnerLineInfoDO > list = hyPartnerLineInfoDOPageInfo . getList ( ) ;
List < HyPartnerLineInfoDO > list = hyPartnerLineInfoDOPageInfo . getList ( ) ;
List < String > closeUserIds = list . stream ( ) . filter ( o - > Objects . nonNull ( o . getCloseUserId ( ) ) ) . map ( HyPartnerLineInfoDO : : getCloseUserId ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
List < String > closeUserIds = list . stream ( ) . filter ( o - > Objects . nonNull ( o . getCloseUserId ( ) ) ) . map ( HyPartnerLineInfoDO : : getCloseUserId ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
Map < String , String > userNamePhoneMap = enterpriseUserDAO . getUserNameAndMobile ( closeUserIds ) ;
Map < String , String > userNamePhoneMap = enterpriseUserDAO . getUserNameAndMobile ( closeUserIds ) ;
List < String > partnerIdList = list . stream ( ) . map ( HyPartnerLineInfoDO : : getPartnerId ) . collect ( Collectors . toList ( ) ) ;
List < String > partnerIdList = list . stream ( ) . map ( HyPartnerLineInfoDO : : getPartnerId ) . collect ( Collectors . toList ( ) ) ;
List < HyPartnerUserInfoDO > hyPartnerList = hyPartnerUserInfoDAO . selectByPartnerIds ( partnerIdList ) ;
List < HyPartnerUserInfoDO > hyPartnerList = hyPartnerUserInfoDAO . selectByPartnerIds ( partnerIdList ) ;
Map < String , HyPartnerUserInfoDO > partnerMap = hyPartnerList . stream ( ) . collect ( Collectors . toMap ( HyPartnerUserInfoDO : : getPartnerId , data - > data ) ) ;
Map < String , HyPartnerUserInfoDO > partnerMap = hyPartnerList . stream ( ) . collect ( Collectors . toMap ( HyPartnerUserInfoDO : : getPartnerId , data - > data ) ) ;
List < PartnerLineInfoVO > resultList = PartnerLineInfoVO . convertList ( list , userNamePhoneMap , partnerMap ) ;
List < PartnerLineInfoVO > resultList = PartnerLineInfoVO . convertList ( list , userNamePhoneMap , partnerMap ) ;
hyPartnerLineInfoDOPageInfo . setList ( resultList ) ;
hyPartnerLineInfoDOPageInfo . setList ( resultList ) ;
return hyPartnerLineInfoDOPageInfo ;
return hyPartnerLineInfoDOPageInfo ;
@@ -177,22 +179,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
@Transactional
@Transactional
public Boolean transferInvestmentManager ( LoginUserInfo user , TransferInvestmentManagerRequest request , Boolean sendFlag ) throws ApiException {
public Boolean transferInvestmentManager ( LoginUserInfo user , TransferInvestmentManagerRequest request , Boolean sendFlag ) throws ApiException {
if ( StringUtil . isBlank ( request . getUserId ( ) ) | | request . getLineId ( ) = = null ) {
if ( StringUtil . isBlank ( request . getUserId ( ) ) | | request . getLineId ( ) = = null ) {
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
}
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( request . getLineId ( ) ) ;
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( request . getLineId ( ) ) ;
//如果招商经理是当前登录用户,则无需转让
//如果招商经理是当前登录用户,则无需转让
if ( request . getUserId ( ) . equals ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ) {
if ( request . getUserId ( ) . equals ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ) {
throw new ServiceException ( ErrorCodeEnum . NO_TRANSFER_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . NO_TRANSFER_REQUIRED ) ;
}
}
//校验 合格资格面试阶段 面试状态已开始 不允许转让
//校验 合格资格面试阶段 面试状态已开始 不允许转让
if ( WorkflowStageEnum . INTERVIEW . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . INTERVIEW_3 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
if ( WorkflowStageEnum . INTERVIEW . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . INTERVIEW_3 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
throw new ServiceException ( ErrorCodeEnum . INTERVIEW_STATUS_NOT_TRANSFER , WorkflowStatusEnum . INTERVIEW_3 . getMessage ( ) ) ;
throw new ServiceException ( ErrorCodeEnum . INTERVIEW_STATUS_NOT_TRANSFER , WorkflowStatusEnum . INTERVIEW_3 . getMessage ( ) ) ;
}
}
List < String > userIdList = new ArrayList < > ( ) ;
List < String > userIdList = new ArrayList < > ( ) ;
userIdList . add ( request . getUserId ( ) ) ;
userIdList . add ( request . getUserId ( ) ) ;
if ( StringUtils . isNotEmpty ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ) {
if ( StringUtils . isNotEmpty ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ) {
userIdList . add ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ;
userIdList . add ( hyPartnerLineInfoDO . getInvestmentManager ( ) ) ;
}
}
List < EnterpriseUserDO > userList = enterpriseUserDAO . getUserInfoByUserIds ( userIdList ) ;
List < EnterpriseUserDO > userList = enterpriseUserDAO . getUserInfoByUserIds ( userIdList ) ;
@@ -200,9 +202,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
//更新面试官(预约面试全阶段和合作资格面试待面试阶段都需要变更面试官)
//更新面试官(预约面试全阶段和合作资格面试待面试阶段都需要变更面试官)
//待预约状态及之前还未生成面试信息,因此不做变更面试官操作
//待预约状态及之前还未生成面试信息,因此不做变更面试官操作
if ( ( WorkflowStageEnum . INTERVIEW . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . INTERVIEW_2 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) )
if ( ( WorkflowStageEnum . INTERVIEW . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . INTERVIEW_2 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) )
| | ( WorkflowStageEnum . RESERVATION . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ) & & ! WorkflowStatusEnum . RESERVATION_0 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
| | ( WorkflowStageEnum . RESERVATION . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ) & & ! WorkflowStatusEnum . RESERVATION_0 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
workFlowService . transferInvestmentManager ( WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) , request ) ;
workFlowService . transferInvestmentManager ( WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) , request ) ;
}
}
//转让招商经理
//转让招商经理
hyPartnerLineInfoDAO . updateInvestmentManager ( request . getUserId ( ) , Arrays . asList ( request . getLineId ( ) ) ) ;
hyPartnerLineInfoDAO . updateInvestmentManager ( request . getUserId ( ) , Arrays . asList ( request . getLineId ( ) ) ) ;
@@ -212,15 +214,15 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( userIds ) ;
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( userIds ) ;
List < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
List < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
//发送飞书工作通知
//发送飞书工作通知
if ( sendFlag ) {
if ( sendFlag ) {
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . TRANS_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . TRANS_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
}
}
//如果是面试预约待审批阶段还要发送面试预约申请通知
//如果是面试预约待审批阶段还要发送面试预约申请通知
if ( WorkflowStageEnum . RESERVATION . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . RESERVATION_1 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
if ( WorkflowStageEnum . RESERVATION . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & WorkflowStatusEnum . RESERVATION_1 . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStatus ( ) ) ) {
HyPartnerInterviewPlanDO interviewPlanByLine = hyPartnerInterviewPlanDAO . getInterviewPlanByLineId ( request . getLineId ( ) ) ;
HyPartnerInterviewPlanDO interviewPlanByLine = hyPartnerInterviewPlanDAO . getInterviewPlanByLineId ( request . getLineId ( ) ) ;
if ( interviewPlanByLine ! = null & & interviewPlanByLine . getStartTime ( ) ! = null ) {
if ( interviewPlanByLine ! = null & & interviewPlanByLine . getStartTime ( ) ! = null ) {
String startTime = DateUtil . format ( interviewPlanByLine . getStartTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
String startTime = DateUtil . format ( interviewPlanByLine . getStartTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . INTERVIEW_APPOINTMENT , feishuUserIds , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) , startTime ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . INTERVIEW_APPOINTMENT , feishuUserIds , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) , startTime ) ;
}
}
}
}
@@ -233,10 +235,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ,
WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ,
hyPartnerLineInfoDO . getWorkflowStatus ( ) , " " ) ;
hyPartnerLineInfoDO . getWorkflowStatus ( ) , " " ) ;
TransferInvestmentManagerLogDTO logDTO = TransferInvestmentManagerLogDTO . builder ( ) . operateUserId ( user . getUserId ( ) ) . operateUsername ( user . getName ( ) )
TransferInvestmentManagerLogDTO logDTO = TransferInvestmentManagerLogDTO . builder ( ) . operateUserId ( user . getUserId ( ) ) . operateUsername ( user . getName ( ) )
. beforeInvestmentManagerUsername ( userDOMap . getOrDefault ( hyPartnerLineInfoDO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getName ( ) )
. beforeInvestmentManagerUsername ( userDOMap . getOrDefault ( hyPartnerLineInfoDO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getName ( ) )
. beforeInvestmentManagerMobile ( userDOMap . getOrDefault ( hyPartnerLineInfoDO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) )
. beforeInvestmentManagerMobile ( userDOMap . getOrDefault ( hyPartnerLineInfoDO . getInvestmentManager ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) )
. afterInvestmentManagerMobile ( userDOMap . getOrDefault ( request . getUserId ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) )
. afterInvestmentManagerMobile ( userDOMap . getOrDefault ( request . getUserId ( ) , new EnterpriseUserDO ( ) ) . getMobile ( ) )
. afterInvestmentManagerUsername ( userDOMap . getOrDefault ( request . getUserId ( ) , new EnterpriseUserDO ( ) ) . getName ( ) )
. afterInvestmentManagerUsername ( userDOMap . getOrDefault ( request . getUserId ( ) , new EnterpriseUserDO ( ) ) . getName ( ) )
. mobile ( user . getMobile ( ) ) . operateTime ( DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) . build ( ) ;
. mobile ( user . getMobile ( ) ) . operateTime ( DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) . build ( ) ;
lineLogInfo . setData ( logDTO ) ;
lineLogInfo . setData ( logDTO ) ;
hyPartnerTaskInfoLogDAO . addOperateLog ( lineLogInfo ) ;
hyPartnerTaskInfoLogDAO . addOperateLog ( lineLogInfo ) ;
@@ -245,31 +247,31 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public List < BatchTransferVO > batchTransferInvestmentManager ( LoginUserInfo user , BatchTransferInvestmentManagerRequest request ) throws ApiException {
public List < BatchTransferVO > batchTransferInvestmentManager ( LoginUserInfo user , BatchTransferInvestmentManagerRequest request ) throws ApiException {
if ( CollectionUtils . isEmpty ( request . getLineIds ( ) ) | | StringUtils . isEmpty ( request . getUserId ( ) ) ) {
if ( CollectionUtils . isEmpty ( request . getLineIds ( ) ) | | StringUtils . isEmpty ( request . getUserId ( ) ) ) {
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
}
}
List < BatchTransferVO > result = new ArrayList < > ( ) ;
List < BatchTransferVO > result = new ArrayList < > ( ) ;
List < HyPartnerLineInfoDO > hyPartnerLineInfoList = hyPartnerLineInfoDAO . getHyPartnerLineInfoList ( request . getLineIds ( ) , null ) ;
List < HyPartnerLineInfoDO > hyPartnerLineInfoList = hyPartnerLineInfoDAO . getHyPartnerLineInfoList ( request . getLineIds ( ) , null ) ;
Map < Long , String > partnerMap = hyPartnerLineInfoList . stream ( ) . collect ( Collectors . toMap ( HyPartnerLineInfoDO : : getId , HyPartnerLineInfoDO : : getPartnerId ) ) ;
Map < Long , String > partnerMap = hyPartnerLineInfoList . stream ( ) . collect ( Collectors . toMap ( HyPartnerLineInfoDO : : getId , HyPartnerLineInfoDO : : getPartnerId ) ) ;
List < String > partnerIdList = hyPartnerLineInfoList . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getPartnerId ( ) ) )
List < String > partnerIdList = hyPartnerLineInfoList . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getPartnerId ( ) ) )
. map ( HyPartnerLineInfoDO : : getPartnerId ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
. map ( HyPartnerLineInfoDO : : getPartnerId ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
List < HyPartnerUserInfoDO > hyPartnerUserInfoDOS = hyPartnerUserInfoDAO . selectByPartnerIds ( partnerIdList ) ;
List < HyPartnerUserInfoDO > hyPartnerUserInfoDOS = hyPartnerUserInfoDAO . selectByPartnerIds ( partnerIdList ) ;
Map < String , HyPartnerUserInfoDO > partnerUserInfoDOMap = hyPartnerUserInfoDOS . stream ( ) . collect ( Collectors . toMap ( HyPartnerUserInfoDO : : getPartnerId , x - > x ) ) ;
Map < String , HyPartnerUserInfoDO > partnerUserInfoDOMap = hyPartnerUserInfoDOS . stream ( ) . collect ( Collectors . toMap ( HyPartnerUserInfoDO : : getPartnerId , x - > x ) ) ;
List < Long > successLineIds = new ArrayList < > ( ) ;
List < Long > successLineIds = new ArrayList < > ( ) ;
for ( Long lineId : request . getLineIds ( ) ) {
for ( Long lineId : request . getLineIds ( ) ) {
TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest ( ) ;
TransferInvestmentManagerRequest transferInvestmentManagerRequest = new TransferInvestmentManagerRequest ( ) ;
transferInvestmentManagerRequest . setUserId ( request . getUserId ( ) ) ;
transferInvestmentManagerRequest . setUserId ( request . getUserId ( ) ) ;
transferInvestmentManagerRequest . setLineId ( lineId ) ;
transferInvestmentManagerRequest . setLineId ( lineId ) ;
try {
try {
this . transferInvestmentManager ( user , transferInvestmentManagerRequest , Boolean . FALSE ) ;
this . transferInvestmentManager ( user , transferInvestmentManagerRequest , Boolean . FALSE ) ;
successLineIds . add ( lineId ) ;
successLineIds . add ( lineId ) ;
} catch ( Exception e ) {
} catch ( Exception e ) {
log . info ( " transferInvestmentManager_success Transfer_interview_management_failed,lineId:{}, e:{} " , lineId , e . getMessage ( ) ) ;
log . info ( " transferInvestmentManager_success Transfer_interview_management_failed,lineId:{}, e:{} " , lineId , e . getMessage ( ) ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap . get ( partnerMap . get ( lineId ) ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap . get ( partnerMap . get ( lineId ) ) ;
BatchTransferVO batchTransferVO = new BatchTransferVO ( ) ;
BatchTransferVO batchTransferVO = new BatchTransferVO ( ) ;
batchTransferVO . setErrorMessage ( e . getMessage ( ) ) ;
batchTransferVO . setErrorMessage ( e . getMessage ( ) ) ;
if ( e instanceof ServiceException ) {
if ( e instanceof ServiceException ) {
batchTransferVO . setErrorMessage ( ( ( ServiceException ) e ) . getErrorMessage ( ) ) ;
batchTransferVO . setErrorMessage ( ( ( ServiceException ) e ) . getErrorMessage ( ) ) ;
}
}
batchTransferVO . setPartnerMobile ( hyPartnerUserInfoDO . getMobile ( ) ) ;
batchTransferVO . setPartnerMobile ( hyPartnerUserInfoDO . getMobile ( ) ) ;
batchTransferVO . setPartnerUserName ( hyPartnerUserInfoDO . getUsername ( ) ) ;
batchTransferVO . setPartnerUserName ( hyPartnerUserInfoDO . getUsername ( ) ) ;
@@ -279,37 +281,37 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( Arrays . asList ( request . getUserId ( ) ) ) ;
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( Arrays . asList ( request . getUserId ( ) ) ) ;
ArrayList < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
ArrayList < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
try {
try {
if ( successLineIds . size ( ) > 1 ) {
if ( successLineIds . size ( ) > 1 ) {
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . BATCH_TRANS_INVESTMENT_MANAGER , feishuUserIds , successLineIds . size ( ) , DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . BATCH_TRANS_INVESTMENT_MANAGER , feishuUserIds , successLineIds . size ( ) , DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ) ;
} else if ( successLineIds . size ( ) = = 1 ) {
} else if ( successLineIds . size ( ) = = 1 ) {
String dateTime = DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
String dateTime = DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap . get ( partnerMap . get ( successLineIds . get ( 0 ) ) ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = partnerUserInfoDOMap . get ( partnerMap . get ( successLineIds . get ( 0 ) ) ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . TRANS_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . TRANS_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
}
}
} catch ( Exception e ) {
} catch ( Exception e ) {
log . info ( " batchTransferInvestmentManager_error:{} " , e . getMessage ( ) ) ;
log . info ( " batchTransferInvestmentManager_error:{} " , e . getMessage ( ) ) ;
}
}
return result ;
return result ;
}
}
@Override
@Override
public Boolean allocationInvestmentManager ( LoginUserInfo operateUser , String userId , List < Long > lineIdList ) {
public Boolean allocationInvestmentManager ( LoginUserInfo operateUser , String userId , List < Long > lineIdList ) {
if ( StringUtils . isEmpty ( userId ) | | CollectionUtils . isEmpty ( lineIdList ) ) {
if ( StringUtils . isEmpty ( userId ) | | CollectionUtils . isEmpty ( lineIdList ) ) {
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
}
}
EnterpriseUserDO user = enterpriseUserDAO . getUserInfoById ( userId ) ;
EnterpriseUserDO user = enterpriseUserDAO . getUserInfoById ( userId ) ;
if ( user = = null ) {
if ( user = = null ) {
throw new ServiceException ( ErrorCodeEnum . INVESTMENT_MANAGER_NOT_EXIST ) ;
throw new ServiceException ( ErrorCodeEnum . INVESTMENT_MANAGER_NOT_EXIST ) ;
}
}
//加盟上线索集合
//加盟上线索集合
List < HyPartnerLineInfoDO > partnerLineInfoList = hyPartnerLineInfoDAO . getLineListByLineIds ( lineIdList ) ;
List < HyPartnerLineInfoDO > partnerLineInfoList = hyPartnerLineInfoDAO . getLineListByLineIds ( lineIdList ) ;
//过滤出已结束的线索 这块线索需要重新生成新的线索
//过滤出已结束的线索 这块线索需要重新生成新的线索
List < HyPartnerLineInfoDO > closeLineList = partnerLineInfoList . stream ( ) . filter ( x - > x . getCloseTime ( ) ! = null ) . collect ( Collectors . toList ( ) ) ;
List < HyPartnerLineInfoDO > closeLineList = partnerLineInfoList . stream ( ) . filter ( x - > x . getCloseTime ( ) ! = null ) . collect ( Collectors . toList ( ) ) ;
List < Long > closeLineIdList = closeLineList . stream ( ) . map ( HyPartnerLineInfoDO : : getId ) . collect ( Collectors . toList ( ) ) ;
List < Long > closeLineIdList = closeLineList . stream ( ) . map ( HyPartnerLineInfoDO : : getId ) . collect ( Collectors . toList ( ) ) ;
//已结束的线索 需要重新生成一条新的线索
//已结束的线索 需要重新生成一条新的线索
List < HyPartnerLineInfoDO > list = new ArrayList < > ( ) ;
List < HyPartnerLineInfoDO > list = new ArrayList < > ( ) ;
closeLineList . stream ( ) . forEach ( x - > {
closeLineList . stream ( ) . forEach ( x - > {
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO ( ) ;
HyPartnerLineInfoDO hyPartnerLineInfoDO = new HyPartnerLineInfoDO ( ) ;
hyPartnerLineInfoDO . setPartnerId ( x . getPartnerId ( ) ) ;
hyPartnerLineInfoDO . setPartnerId ( x . getPartnerId ( ) ) ;
hyPartnerLineInfoDO . setInvestmentManager ( userId ) ;
hyPartnerLineInfoDO . setInvestmentManager ( userId ) ;
@@ -320,7 +322,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
} ) ;
} ) ;
hyPartnerLineInfoDAO . batchInsert ( list ) ;
hyPartnerLineInfoDAO . batchInsert ( list ) ;
List < HyPartnerBaseInfoDO > hyPartnerBaseInfoDOS = new ArrayList < > ( ) ;
List < HyPartnerBaseInfoDO > hyPartnerBaseInfoDOS = new ArrayList < > ( ) ;
list . forEach ( x - > {
list . forEach ( x - > {
HyPartnerBaseInfoDO newHyPartnerBaseInfoDO = new HyPartnerBaseInfoDO ( ) ;
HyPartnerBaseInfoDO newHyPartnerBaseInfoDO = new HyPartnerBaseInfoDO ( ) ;
newHyPartnerBaseInfoDO . setPartnerId ( x . getPartnerId ( ) ) ;
newHyPartnerBaseInfoDO . setPartnerId ( x . getPartnerId ( ) ) ;
newHyPartnerBaseInfoDO . setPartnerLineId ( x . getId ( ) ) ;
newHyPartnerBaseInfoDO . setPartnerLineId ( x . getId ( ) ) ;
@@ -330,7 +332,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
//将老的线索置为删除状态
//将老的线索置为删除状态
hyPartnerLineInfoDAO . batchDeleted ( closeLineIdList ) ;
hyPartnerLineInfoDAO . batchDeleted ( closeLineIdList ) ;
//没有结束的线索直接分配招商经理
//没有结束的线索直接分配招商经理
List < HyPartnerLineInfoDO > otherLineList = partnerLineInfoList . stream ( ) . filter ( x - > x . getCloseTime ( ) = = null ) . collect ( Collectors . toList ( ) ) ;
List < HyPartnerLineInfoDO > otherLineList = partnerLineInfoList . stream ( ) . filter ( x - > x . getCloseTime ( ) = = null ) . collect ( Collectors . toList ( ) ) ;
List < Long > otherLineIdList = otherLineList . stream ( ) . map ( HyPartnerLineInfoDO : : getId ) . collect ( Collectors . toList ( ) ) ;
List < Long > otherLineIdList = otherLineList . stream ( ) . map ( HyPartnerLineInfoDO : : getId ) . collect ( Collectors . toList ( ) ) ;
hyPartnerLineInfoDAO . updateInvestmentManager ( userId , otherLineIdList ) ;
hyPartnerLineInfoDAO . updateInvestmentManager ( userId , otherLineIdList ) ;
//添加日志
//添加日志
@@ -359,13 +361,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public PageInfo < BlackListVO > getBlackList ( LineRequest LineRequest ) {
public PageInfo < BlackListVO > getBlackList ( LineRequest LineRequest ) {
String intentAreaName = getIntentAreaName ( LineRequest . getIntentArea ( ) ) ;
String intentAreaName = getIntentAreaName ( LineRequest . getIntentArea ( ) ) ;
PageHelper . startPage ( LineRequest . getPageNum ( ) , LineRequest . getPageSize ( ) ) ;
PageHelper . startPage ( LineRequest . getPageNum ( ) , LineRequest . getPageSize ( ) ) ;
PageInfo blackListDTOPageInfo = new PageInfo ( hyPartnerLineInfoDAO . getBlackList ( LineRequest . getUserNameKeyword ( ) , LineRequest . getPhoneKeyword ( ) , intentAreaName , LineRequest . getAcceptAdjustType ( ) ) ) ;
PageInfo blackListDTOPageInfo = new PageInfo ( hyPartnerLineInfoDAO . getBlackList ( LineRequest . getUserNameKeyword ( ) , LineRequest . getPhoneKeyword ( ) , intentAreaName , LineRequest . getAcceptAdjustType ( ) ) ) ;
List < PartnerBlackListDTO > list = blackListDTOPageInfo . getList ( ) ;
List < PartnerBlackListDTO > list = blackListDTOPageInfo . getList ( ) ;
List < String > closeUserIdList = list . stream ( ) . map ( PartnerBlackListDTO : : getCloseUserId ) . collect ( Collectors . toList ( ) ) ;
List < String > closeUserIdList = list . stream ( ) . map ( PartnerBlackListDTO : : getCloseUserId ) . collect ( Collectors . toList ( ) ) ;
Map < String , String > userPhoneMap = enterpriseUserDAO . getUserNameAndMobile ( closeUserIdList ) ;
Map < String , String > userPhoneMap = enterpriseUserDAO . getUserNameAndMobile ( closeUserIdList ) ;
List < BlackListVO > result = new ArrayList < > ( ) ;
List < BlackListVO > result = new ArrayList < > ( ) ;
list . stream ( ) . forEach ( x - > {
list . stream ( ) . forEach ( x - > {
BlackListVO blackListVO = convertPartnerBlackListDTOToVo ( x ) ;
BlackListVO blackListVO = convertPartnerBlackListDTOToVo ( x ) ;
blackListVO . setCloseUserPhone ( userPhoneMap . get ( x . getCloseUserId ( ) ) ) ;
blackListVO . setCloseUserPhone ( userPhoneMap . get ( x . getCloseUserId ( ) ) ) ;
blackListVO . setCloseUserName ( userPhoneMap . get ( x . getCloseUserId ( ) ) ) ;
blackListVO . setCloseUserName ( userPhoneMap . get ( x . getCloseUserId ( ) ) ) ;
@@ -377,7 +379,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public Boolean joinBlackList ( LoginUserInfo user , Long lineId , Integer status , String joinReason ) throws ApiException {
public Boolean joinBlackList ( LoginUserInfo user , Long lineId , Integer status , String joinReason ) throws ApiException {
if ( lineId = = null ) {
if ( lineId = = null ) {
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
}
}
HyPartnerLineInfoDO line = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
HyPartnerLineInfoDO line = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
@@ -395,11 +397,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyFollowTaskDAO . cancelUndoFollowTask ( lineId ) ;
hyFollowTaskDAO . cancelUndoFollowTask ( lineId ) ;
//公海线索不需要处理子流程线索
//公海线索不需要处理子流程线索
if ( ! LineStatusEnum . PUBLIC_SEAS . getCode ( ) . equals ( lineStatus ) ) {
if ( ! LineStatusEnum . PUBLIC_SEAS . getCode ( ) . equals ( lineStatus ) ) {
CloseFollowRequest closeFollowRequest = new CloseFollowRequest ( ) ;
CloseFollowRequest closeFollowRequest = new CloseFollowRequest ( ) ;
closeFollowRequest . setLineId ( lineId ) ;
closeFollowRequest . setLineId ( lineId ) ;
closeFollowRequest . setRejectRealReason ( joinReason ) ;
closeFollowRequest . setRejectRealReason ( joinReason ) ;
workFlowService . endProcess ( WorkflowStageEnum . getWorkflowStageByCode ( line . getWorkflowStage ( ) ) , closeFollowRequest ) ;
workFlowService . endProcess ( WorkflowStageEnum . getWorkflowStageByCode ( line . getWorkflowStage ( ) ) , closeFollowRequest ) ;
}
}
//添加日志
//添加日志
@@ -412,13 +414,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
lineLogInfo . setData ( logDTO ) ;
lineLogInfo . setData ( logDTO ) ;
hyPartnerTaskInfoLogDAO . addOperateLog ( lineLogInfo ) ;
hyPartnerTaskInfoLogDAO . addOperateLog ( lineLogInfo ) ;
return Boolean . TRUE ;
return Boolean . TRUE ;
}
}
@Override
@Override
public Boolean removeBlackList ( LoginUserInfo user , Long lineId , Integer status , String removeReason ) {
public Boolean removeBlackList ( LoginUserInfo user , Long lineId , Integer status , String removeReason ) {
//移除黑名单 黑名单线索置为删除状态 新增一条线索
//移除黑名单 黑名单线索置为删除状态 新增一条线索
if ( lineId = = null ) {
if ( lineId = = null ) {
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
throw new ServiceException ( ErrorCodeEnum . PARAMS_REQUIRED ) ;
}
}
HyPartnerLineInfoDO hyPartnerLineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
HyPartnerLineInfoDO hyPartnerLineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
@@ -458,53 +460,53 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
@Transactional ( rollbackFor = Exception . class )
@Transactional ( rollbackFor = Exception . class )
public Boolean closeOrPassFollow ( LoginUserInfo user , CloseFollowRequest closeFollowRequest ) throws ApiException {
public Boolean closeOrPassFollow ( LoginUserInfo user , CloseFollowRequest closeFollowRequest ) throws ApiException {
//该方法中user可能为空, 注意处理空指针的情况
//该方法中user可能为空, 注意处理空指针的情况
if ( user = = null ) {
if ( user = = null ) {
user = new LoginUserInfo ( ) ;
user = new LoginUserInfo ( ) ;
}
}
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( closeFollowRequest . getLineId ( ) ) ;
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( closeFollowRequest . getLineId ( ) ) ;
if ( hyPartnerLineInfoDO = = null ) {
if ( hyPartnerLineInfoDO = = null ) {
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
}
}
if ( hyPartnerLineInfoDO . getLineStatus ( ) = = 0 ) {
if ( hyPartnerLineInfoDO . getLineStatus ( ) = = 0 ) {
throw new ServiceException ( ErrorCodeEnum . PUBLIC_LINE_NOT_OPERATE ) ;
throw new ServiceException ( ErrorCodeEnum . PUBLIC_LINE_NOT_OPERATE ) ;
}
}
String oldWorkflowStage = hyPartnerLineInfoDO . getWorkflowStage ( ) ;
String oldWorkflowStage = hyPartnerLineInfoDO . getWorkflowStage ( ) ;
String oldWorkflowStatus = hyPartnerLineInfoDO . getWorkflowStatus ( ) ;
String oldWorkflowStatus = hyPartnerLineInfoDO . getWorkflowStatus ( ) ;
//通过
//通过
if ( " pass " . equals ( closeFollowRequest . getType ( ) ) ) {
if ( " pass " . equals ( closeFollowRequest . getType ( ) ) ) {
hyPartnerLineInfoDO . setWorkflowStage ( WorkflowStageEnum . RESERVATION . getCode ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStage ( WorkflowStageEnum . RESERVATION . getCode ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStatus ( WorkflowStatusEnum . RESERVATION_0 . getCode ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStatus ( WorkflowStatusEnum . RESERVATION_0 . getCode ( ) ) ;
hyPartnerLineInfoDO . setDeadline ( CoolDateUtils . getDateFormatDay ( new Date ( ) , 2 ) ) ;
hyPartnerLineInfoDO . setDeadline ( CoolDateUtils . getDateFormatDay ( new Date ( ) , 2 ) ) ;
hyPartnerLineInfoDO . setPassReason ( closeFollowRequest . getPassReason ( ) ) ;
hyPartnerLineInfoDO . setPassReason ( closeFollowRequest . getPassReason ( ) ) ;
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
hyPartnerLineInfoDO . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
hyPartnerLineInfoDO . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
}
}
HyPartnerBaseInfoDO hy = hyPartnerBaseInfoDAO . getByPartnerLineId ( hyPartnerLineInfoDO . getId ( ) ) ;
HyPartnerBaseInfoDO hy = hyPartnerBaseInfoDAO . getByPartnerLineId ( hyPartnerLineInfoDO . getId ( ) ) ;
hy . setPassReason ( closeFollowRequest . getPassReason ( ) ) ;
hy . setPassReason ( closeFollowRequest . getPassReason ( ) ) ;
hy . setPassTime ( new Date ( ) ) ;
hy . setPassTime ( new Date ( ) ) ;
hy . setPassUserId ( user . getUserId ( ) ) ;
hy . setPassUserId ( user . getUserId ( ) ) ;
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
hy . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
hy . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
}
}
hyPartnerBaseInfoDAO . updateByPrimaryKeySelective ( hy ) ;
hyPartnerBaseInfoDAO . updateByPrimaryKeySelective ( hy ) ;
eventCenterHttpRequest . sendSmsVariable ( hy . getMobile ( ) , SMSMsgEnum . INTENTION_APPLY_PASS , DateUtil . formatDateTime ( hyPartnerLineInfoDO . getDeadline ( ) ) , wechatMiniAppService . getMiniAppUrl ( ) ) ;
eventCenterHttpRequest . sendSmsVariable ( hy . getMobile ( ) , SMSMsgEnum . INTENTION_APPLY_PASS , DateUtil . formatDateTime ( hyPartnerLineInfoDO . getDeadline ( ) ) , wechatMiniAppService . getMiniAppUrl ( ) ) ;
}
}
//拒绝
//拒绝
if ( " reject " . equals ( closeFollowRequest . getType ( ) ) ) {
if ( " reject " . equals ( closeFollowRequest . getType ( ) ) ) {
//当前节点 拒绝的子状态
//当前节点 拒绝的子状态
String workflowStatus = WorkflowStageEnum . getWorkflowStageMap ( ) . get ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ;
String workflowStatus = WorkflowStageEnum . getWorkflowStageMap ( ) . get ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStatus ( workflowStatus ) ;
hyPartnerLineInfoDO . setWorkflowStatus ( workflowStatus ) ;
//15天 冷静期
//15天 冷静期
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 ) ) ;
hyPartnerLineInfoDO . setRejectPublicReason ( closeFollowRequest . getRejectPublicReason ( ) ) ;
hyPartnerLineInfoDO . setRejectPublicReason ( closeFollowRequest . getRejectPublicReason ( ) ) ;
hyPartnerLineInfoDO . setRejectRealReason ( closeFollowRequest . getRejectRealReason ( ) ) ;
hyPartnerLineInfoDO . setRejectRealReason ( closeFollowRequest . getRejectRealReason ( ) ) ;
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
if ( CollectionUtils . isNotEmpty ( closeFollowRequest . getCertifyFile ( ) ) ) {
hyPartnerLineInfoDO . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
hyPartnerLineInfoDO . setCertifyFile ( JSONObject . toJSONString ( closeFollowRequest . getCertifyFile ( ) ) ) ;
}
}
hyPartnerLineInfoDO . setLineStatus ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setLineStatus ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
@@ -513,17 +515,17 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
//作废待完成&已逾期的任务
//作废待完成&已逾期的任务
hyFollowTaskDAO . cancelUndoFollowTask ( closeFollowRequest . getLineId ( ) ) ;
hyFollowTaskDAO . cancelUndoFollowTask ( closeFollowRequest . getLineId ( ) ) ;
//各阶段单独的逻辑
//各阶段单独的逻辑
workFlowService . endProcess ( WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) , closeFollowRequest ) ;
workFlowService . endProcess ( WorkflowStageEnum . getWorkflowStageByCode ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) , closeFollowRequest ) ;
}
}
//面试超时
//面试超时
if ( " overtime_interview " . equals ( closeFollowRequest . getType ( ) ) ) {
if ( " overtime_interview " . equals ( closeFollowRequest . getType ( ) ) ) {
//面试超时未预约
//面试超时未预约
hyPartnerLineInfoDO . setWorkflowStatus ( WorkflowStatusEnum . RESERVATION_8 . getCode ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStatus ( WorkflowStatusEnum . RESERVATION_8 . getCode ( ) ) ;
//15天 冷静期
//15天 冷静期
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 ) ) ;
hyPartnerLineInfoDO . setRejectPublicReason ( closeFollowRequest . getRejectPublicReason ( ) ) ;
hyPartnerLineInfoDO . setRejectPublicReason ( closeFollowRequest . getRejectPublicReason ( ) ) ;
hyPartnerLineInfoDO . setRejectRealReason ( closeFollowRequest . getRejectRealReason ( ) ) ;
hyPartnerLineInfoDO . setRejectRealReason ( closeFollowRequest . getRejectRealReason ( ) ) ;
hyPartnerLineInfoDO . setLineStatus ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setLineStatus ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
@@ -535,7 +537,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
//通过 拒绝添加日志
//通过 拒绝添加日志
if ( WorkflowStageEnum . INTENT . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & " reject " . equals ( closeFollowRequest . getType ( ) ) ) {
if ( WorkflowStageEnum . INTENT . getCode ( ) . equals ( hyPartnerLineInfoDO . getWorkflowStage ( ) ) & & " reject " . equals ( closeFollowRequest . getType ( ) ) ) {
LineLogInfo lineLogInfo = new LineLogInfo ( hyPartnerLineInfoDO . getPartnerId ( ) , hyPartnerLineInfoDO . getId ( ) , user . getUserId ( ) ,
LineLogInfo lineLogInfo = new LineLogInfo ( hyPartnerLineInfoDO . getPartnerId ( ) , hyPartnerLineInfoDO . getId ( ) , user . getUserId ( ) ,
user . getName ( ) , OperateTypeEnum . CLOSE_FOLLOW ,
user . getName ( ) , OperateTypeEnum . CLOSE_FOLLOW ,
WorkflowStageEnum . getWorkflowStageByCode ( oldWorkflowStage ) ,
WorkflowStageEnum . getWorkflowStageByCode ( oldWorkflowStage ) ,
@@ -550,7 +552,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
@Override
@Override
public PageInfo < PublicSeaLineListVo > publicSeaLineList ( String userId , LineRequest lineRequest ) {
public PageInfo < PublicSeaLineListVo > publicSeaLineList ( String userId , LineRequest lineRequest ) {
//确认是招商经理还是部门负责人
//确认是招商经理还是部门负责人
@@ -566,12 +567,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
// userIds = Arrays.asList(userId);
// userIds = Arrays.asList(userId);
// }
// }
String intentAreaName = getIntentAreaName ( lineRequest . getIntentArea ( ) ) ;
String intentAreaName = getIntentAreaName ( lineRequest . getIntentArea ( ) ) ;
PageHelper . startPage ( lineRequest . getPageNum ( ) , lineRequest . getPageSize ( ) ) ;
PageHelper . startPage ( lineRequest . getPageNum ( ) , lineRequest . getPageSize ( ) ) ;
PageInfo publicSeaLineList = new PageInfo ( hyPartnerLineInfoDAO . getPublicSeaLineList ( lineRequest . getUserNameKeyword ( ) , lineRequest . getPhoneKeyword ( ) ,
PageInfo publicSeaLineList = new PageInfo ( hyPartnerLineInfoDAO . getPublicSeaLineList ( lineRequest . getUserNameKeyword ( ) , lineRequest . getPhoneKeyword ( ) ,
intentAreaName , lineRequest . getAcceptAdjustType ( ) , lineRequest . getUpdateStartTime ( ) , lineRequest . getUpdateEndTime ( ) , null , lineRequest . getCreateStartTime ( ) , lineRequest . getCreateEndTime ( ) ) ) ;
intentAreaName , lineRequest . getAcceptAdjustType ( ) , lineRequest . getUpdateStartTime ( ) , lineRequest . getUpdateEndTime ( ) , null , lineRequest . getCreateStartTime ( ) , lineRequest . getCreateEndTime ( ) ) ) ;
List < PublicSeaLineDTO > list = publicSeaLineList . getList ( ) ;
List < PublicSeaLineDTO > list = publicSeaLineList . getList ( ) ;
if ( CollectionUtils . isEmpty ( list ) ) {
if ( CollectionUtils . isEmpty ( list ) ) {
return new PageInfo < > ( ) ;
return new PageInfo < > ( ) ;
}
}
//上一次结束的线索
//上一次结束的线索
@@ -580,7 +581,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
List < String > investmentManagerIds = partnerLastLine . stream ( ) . map ( HyPartnerLineInfoDO : : getInvestmentManager ) . collect ( Collectors . toList ( ) ) ;
List < String > investmentManagerIds = partnerLastLine . stream ( ) . map ( HyPartnerLineInfoDO : : getInvestmentManager ) . collect ( Collectors . toList ( ) ) ;
List < EnterpriseUserDO > userInfoList = enterpriseUserDAO . getUserInfoByUserIds ( investmentManagerIds ) ;
List < EnterpriseUserDO > userInfoList = enterpriseUserDAO . getUserInfoByUserIds ( investmentManagerIds ) ;
Map < String , String > nameMobileMap = userInfoList . stream ( ) . filter ( x - >
Map < String , String > nameMobileMap = userInfoList . stream ( ) . filter ( x - >
StringUtil . isNotEmpty ( x . getMobile ( ) ) ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , v - > v . getName ( ) + " " + v . getMobile ( ) ) ) ;
StringUtil . isNotEmpty ( x . getMobile ( ) ) ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , v - > v . getName ( ) + " " + v . getMobile ( ) ) ) ;
Map < String , HyPartnerLineInfoDO > hyPartnerLineInfoDOMap = partnerLastLine . stream ( ) . collect ( Collectors . toMap ( HyPartnerLineInfoDO : : getPartnerId , data - > data ) ) ;
Map < String , HyPartnerLineInfoDO > hyPartnerLineInfoDOMap = partnerLastLine . stream ( ) . collect ( Collectors . toMap ( HyPartnerLineInfoDO : : getPartnerId , data - > data ) ) ;
List < LineCountDTO > followCountList = hyPartnerLineInfoDAO . getFollowCountList ( partnerIdList ) ;
List < LineCountDTO > followCountList = hyPartnerLineInfoDAO . getFollowCountList ( partnerIdList ) ;
@@ -592,26 +593,26 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
List < Integer > userChannelIds = list . stream ( ) . filter ( x - > x . getUserChannelId ( ) ! = null ) . map ( PublicSeaLineDTO : : getUserChannelId ) . collect ( Collectors . toList ( ) ) ;
List < Integer > userChannelIds = list . stream ( ) . filter ( x - > x . getUserChannelId ( ) ! = null ) . map ( PublicSeaLineDTO : : getUserChannelId ) . collect ( Collectors . toList ( ) ) ;
Map < Integer , String > channelMap = hyPartnerUserChannelDAO . getChannelMapByIds ( userChannelIds ) ;
Map < Integer , String > channelMap = hyPartnerUserChannelDAO . getChannelMapByIds ( userChannelIds ) ;
List < String > userPortraitList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getUserPortrait ( ) ) ) . map ( PublicSeaLineDTO : : getUserPortrait ) . collect ( Collectors . toList ( ) ) ;
List < String > userPortraitList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getUserPortrait ( ) ) ) . map ( PublicSeaLineDTO : : getUserPortrait ) . collect ( Collectors . toList ( ) ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( userPortraitList ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( userPortraitList ) ;
List < PublicSeaLineListVo > result = new ArrayList < > ( ) ;
List < PublicSeaLineListVo > result = new ArrayList < > ( ) ;
list . forEach ( x - > {
list . forEach ( x - > {
PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo ( ) ;
PublicSeaLineListVo publicSeaLineListVo = new PublicSeaLineListVo ( ) ;
publicSeaLineListVo . setPartnerId ( x . getPartnerId ( ) ) ;
publicSeaLineListVo . setPartnerId ( x . getPartnerId ( ) ) ;
publicSeaLineListVo . setCreateTime ( DateUtil . format ( x . getCreateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
publicSeaLineListVo . setCreateTime ( DateUtil . format ( x . getCreateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
publicSeaLineListVo . setPartnerUserName ( x . getUserName ( ) ) ;
publicSeaLineListVo . setPartnerUserName ( x . getUserName ( ) ) ;
publicSeaLineListVo . setPartnerUserPhone ( x . getMobile ( ) ) ;
publicSeaLineListVo . setPartnerUserPhone ( x . getMobile ( ) ) ;
String phoneAddress = x . getPhoneAddress ( ) ;
String phoneAddress = x . getPhoneAddress ( ) ;
if ( StringUtils . isEmpty ( phoneAddress ) ) {
if ( StringUtils . isEmpty ( phoneAddress ) ) {
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( x . getMobile ( ) ) ;
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( x . getMobile ( ) ) ;
}
}
publicSeaLineListVo . setPhoneAddress ( phoneAddress ) ;
publicSeaLineListVo . setPhoneAddress ( phoneAddress ) ;
publicSeaLineListVo . setWantShopArea ( x . getWantShopArea ( ) ) ;
publicSeaLineListVo . setWantShopArea ( x . getWantShopArea ( ) ) ;
publicSeaLineListVo . setEcWantShopArea ( x . getEcWantShopArea ( ) ) ;
publicSeaLineListVo . setEcWantShopArea ( x . getEcWantShopArea ( ) ) ;
publicSeaLineListVo . setUpdateTime ( DateUtil . format ( x . getUpdateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
publicSeaLineListVo . setUpdateTime ( DateUtil . format ( x . getUpdateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
publicSeaLineListVo . setId ( x . getLineId ( ) ) ;
publicSeaLineListVo . setId ( x . getLineId ( ) ) ;
publicSeaLineListVo . setAcceptAdjustType ( x . getAcceptAdjustType ( ) ) ;
publicSeaLineListVo . setAcceptAdjustType ( x . getAcceptAdjustType ( ) ) ;
publicSeaLineListVo . setFollowCount ( countMap . getOrDefault ( x . getPartnerId ( ) , 0 ) ) ;
publicSeaLineListVo . setFollowCount ( countMap . getOrDefault ( x . getPartnerId ( ) , 0 ) ) ;
HyPartnerLineInfoDO hy = hyPartnerLineInfoDOMap . getOrDefault ( x . getPartnerId ( ) , new HyPartnerLineInfoDO ( ) ) ;
HyPartnerLineInfoDO hy = hyPartnerLineInfoDOMap . getOrDefault ( x . getPartnerId ( ) , new HyPartnerLineInfoDO ( ) ) ;
publicSeaLineListVo . setRejectPublicReason ( hy . getRejectPublicReason ( ) ) ;
publicSeaLineListVo . setRejectPublicReason ( hy . getRejectPublicReason ( ) ) ;
publicSeaLineListVo . setRejectRealReason ( hy . getRejectRealReason ( ) ) ;
publicSeaLineListVo . setRejectRealReason ( hy . getRejectRealReason ( ) ) ;
@@ -629,8 +630,6 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
@Override
@Override
public PageInfo < PrivateSeaLineListVo > privateSeaLineList ( String userId , PrivateSeaLineListRequest request , Boolean allPrivateSeaFlag ) {
public PageInfo < PrivateSeaLineListVo > privateSeaLineList ( String userId , PrivateSeaLineListRequest request , Boolean allPrivateSeaFlag ) {
//allPrivateSeaFlag 为true的时候 查询全量私海
//allPrivateSeaFlag 为true的时候 查询全量私海
@@ -653,7 +652,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
request . getWorkflowStatus ( ) , request . getDeadlineStart ( ) , request . getDeadlineEnd ( ) , intentAreaName , request . getAcceptAdjustType ( ) , request . getStoreKeyword ( ) ,
request . getWorkflowStatus ( ) , request . getDeadlineStart ( ) , request . getDeadlineEnd ( ) , intentAreaName , request . getAcceptAdjustType ( ) , request . getStoreKeyword ( ) ,
request . getStoreKeywordType ( ) , userIdsByScope . getInvestmentUserIds ( ) , userIdsByScope . getDevelopmentUserIds ( ) , request . getUserPortraitIdList ( ) , request . getUserChannelIdList ( )
request . getStoreKeywordType ( ) , userIdsByScope . getInvestmentUserIds ( ) , userIdsByScope . getDevelopmentUserIds ( ) , request . getUserPortraitIdList ( ) , request . getUserChannelIdList ( )
, request . getUpdateStartTime ( ) , request . getUpdateEndTime ( ) , request . getPartnerName ( ) , request . getPartnerMobile ( ) , request . getInvestmentManagerId ( ) , request . getUserPortraitQueryType ( )
, request . getUpdateStartTime ( ) , request . getUpdateEndTime ( ) , request . getPartnerName ( ) , request . getPartnerMobile ( ) , request . getInvestmentManagerId ( ) , request . getUserPortraitQueryType ( )
, request . getIntentAreaQueryType ( ) , request . getLineStartTime ( ) , request . getLineEndTime ( ) , request . getUserChannelQueryType ( ) ) ) ;
, request . getIntentAreaQueryType ( ) , request . getLineStartTime ( ) , request . getLineEndTime ( ) , request . getUserChannelQueryType ( ) , request . getSortField ( ) , request . getSortOrder ( ) )) ;
List < PrivateSeaLineDTO > list = privateLineList . getList ( ) ;
List < PrivateSeaLineDTO > list = privateLineList . getList ( ) ;
if ( CollectionUtils . isEmpty ( list ) ) {
if ( CollectionUtils . isEmpty ( list ) ) {
return privateLineList ;
return privateLineList ;
@@ -664,20 +663,20 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
Map < String , String > devManagerMap = new HashMap < > ( ) ;
Map < String , String > devManagerMap = new HashMap < > ( ) ;
List < String > devManagerIdList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getDevelopmentManager ( ) ) ) . map ( PrivateSeaLineDTO : : getDevelopmentManager ) . collect ( Collectors . toList ( ) ) ;
List < String > devManagerIdList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getDevelopmentManager ( ) ) ) . map ( PrivateSeaLineDTO : : getDevelopmentManager ) . collect ( Collectors . toList ( ) ) ;
if ( CollectionUtils . isNotEmpty ( devManagerIdList ) ) {
if ( CollectionUtils . isNotEmpty ( devManagerIdList ) ) {
List < EnterpriseUserDO > devManagerList = enterpriseUserDAO . getUserInfoByUserIds ( devManagerIdList ) ;
List < EnterpriseUserDO > devManagerList = enterpriseUserDAO . getUserInfoByUserIds ( devManagerIdList ) ;
devManagerMap = devManagerList . stream ( ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , EnterpriseUserDO : : getName ) ) ;
devManagerMap = devManagerList . stream ( ) . collect ( Collectors . toMap ( EnterpriseUserDO : : getUserId , EnterpriseUserDO : : getName ) ) ;
}
}
List < Long > wantShopAreaList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getWantShopArea ( ) ) ) . map ( PrivateSeaLineDTO : : getWantShopArea ) . map ( Long : : parseLong ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
List < Long > wantShopAreaList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getWantShopArea ( ) ) ) . map ( PrivateSeaLineDTO : : getWantShopArea ) . map ( Long : : parseLong ) . distinct ( ) . collect ( Collectors . toList ( ) ) ;
Map < String , String > wantShopAreaNameMap = hyOpenAreaInfoDAO . selectNameMapByIds ( wantShopAreaList ) ;
Map < String , String > wantShopAreaNameMap = hyOpenAreaInfoDAO . selectNameMapByIds ( wantShopAreaList ) ;
List < Integer > userChannelIds = list . stream ( ) . filter ( x - > x . getUserChannelId ( ) ! = null ) . map ( PrivateSeaLineDTO : : getUserChannelId ) . collect ( Collectors . toList ( ) ) ;
List < Integer > userChannelIds = list . stream ( ) . filter ( x - > x . getUserChannelId ( ) ! = null ) . map ( PrivateSeaLineDTO : : getUserChannelId ) . collect ( Collectors . toList ( ) ) ;
Map < Integer , String > channelMap = hyPartnerUserChannelDAO . getChannelMapByIds ( userChannelIds ) ;
Map < Integer , String > channelMap = hyPartnerUserChannelDAO . getChannelMapByIds ( userChannelIds ) ;
List < String > userPortraitList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getUserPortrait ( ) ) ) . map ( PrivateSeaLineDTO : : getUserPortrait ) . collect ( Collectors . toList ( ) ) ;
List < String > userPortraitList = list . stream ( ) . filter ( x - > StringUtils . isNotEmpty ( x . getUserPortrait ( ) ) ) . map ( PrivateSeaLineDTO : : getUserPortrait ) . collect ( Collectors . toList ( ) ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( userPortraitList ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( userPortraitList ) ;
List < PrivateSeaLineListVo > result = PrivateSeaLineListVo . convertList ( list , devManagerMap , wantShopAreaNameMap , hyPartnerInterviewPlanDOMap , channelMap , userPortraitMap ) ;
List < PrivateSeaLineListVo > result = PrivateSeaLineListVo . convertList ( list , devManagerMap , wantShopAreaNameMap , hyPartnerInterviewPlanDOMap , channelMap , userPortraitMap ) ;
privateLineList . setList ( result ) ;
privateLineList . setList ( result ) ;
return privateLineList ;
return privateLineList ;
}
}
@@ -709,14 +708,14 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public List < LineFollowHistoryVO > getLineFollowHistory ( String partnerId ) {
public List < LineFollowHistoryVO > getLineFollowHistory ( String partnerId ) {
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
if ( CollectionUtils . isEmpty ( lineFollowHistoryList ) ) {
if ( CollectionUtils . isEmpty ( lineFollowHistoryList ) ) {
return new ArrayList < > ( ) ;
return new ArrayList < > ( ) ;
}
}
List < LineFollowHistoryVO > result = new ArrayList < > ( ) ;
List < LineFollowHistoryVO > result = new ArrayList < > ( ) ;
lineFollowHistoryList . forEach ( x - > {
lineFollowHistoryList . forEach ( x - > {
LineFollowHistoryVO lineFollowHistoryVO = new LineFollowHistoryVO ( ) ;
LineFollowHistoryVO lineFollowHistoryVO = new LineFollowHistoryVO ( ) ;
lineFollowHistoryVO . setCloseCause ( x . getRejectRealReason ( ) ) ;
lineFollowHistoryVO . setCloseCause ( x . getRejectRealReason ( ) ) ;
lineFollowHistoryVO . setCloseTime ( DateUtil . format ( x . getCloseTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
lineFollowHistoryVO . setCloseTime ( DateUtil . format ( x . getCloseTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
lineFollowHistoryVO . setStartTime ( DateUtil . format ( x . getCreateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
lineFollowHistoryVO . setStartTime ( DateUtil . format ( x . getCreateTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
result . add ( lineFollowHistoryVO ) ;
result . add ( lineFollowHistoryVO ) ;
} ) ;
} ) ;
@@ -724,93 +723,94 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
@Override
@Override
public Boolean assignFollowUser ( String partnerId , String wantShopArea , Integer acceptAdjustType , Boolean flag ) {
public Boolean assignFollowUser ( String partnerId , String wantShopArea , Integer acceptAdjustType , Boolean flag ) {
log . info ( " assignFollowUser partnerId:{}, wantShopArea: {}, acceptAdjustType: {} " , partnerId , wantShopArea , acceptAdjustType ) ;
log . info ( " assignFollowUser partnerId:{}, wantShopArea: {}, acceptAdjustType: {} " , partnerId , wantShopArea , acceptAdjustType ) ;
if ( ! flag ) {
if ( ! flag ) {
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
//如果跟进次数大于1 直接使用上一次的招商经理
//如果跟进次数大于1 直接使用上一次的招商经理
if ( CollectionUtils . isNotEmpty ( lineFollowHistoryList ) ) {
if ( CollectionUtils . isNotEmpty ( lineFollowHistoryList ) ) {
return Boolean . TRUE ;
return Boolean . TRUE ;
}
}
//当前加盟商线索
//当前加盟商线索
HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO . getByPartnerId ( partnerId ) ;
HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO . getByPartnerId ( partnerId ) ;
//如果意向区域没有绑定战区 不分配招商经理
//如果意向区域没有绑定战区 不分配招商经理
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO . selectByOpenAreaMappingId ( Long . valueOf ( wantShopArea ) , " intent " ) ;
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO . selectByOpenAreaMappingId ( Long . valueOf ( wantShopArea ) , " intent " ) ;
if ( hyIntendDevelopementMappingDO = = null ) {
if ( hyIntendDevelopementMappingDO = = null ) {
log . info ( " 如果意向区域没有绑定战区 不分配招商经理 " ) ;
log . info ( " 如果意向区域没有绑定战区 不分配招商经理 " ) ;
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
List < String > result = new ArrayList < > ( ) ;
List < String > result = new ArrayList < > ( ) ;
if ( hyIntendDevelopementMappingDO ! = null ) {
if ( hyIntendDevelopementMappingDO ! = null ) {
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
if ( hyIntendDevZoneInfoDO ! = null & & StringUtil . isNotEmpty ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) ) ) {
if ( hyIntendDevZoneInfoDO ! = null & & StringUtil . isNotEmpty ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) ) ) {
List < String > list = JSONObject . parseArray ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) , String . class ) ;
List < String > list = JSONObject . parseArray ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) , String . class ) ;
result . addAll ( list ) ;
result . addAll ( list ) ;
}
}
}
}
List < EnterpriseUserDO > userListByRegionIds = enterpriseUserDAO . getUserListByRegionIds ( result ) ;
List < EnterpriseUserDO > userListByRegionIds = enterpriseUserDAO . getUserListByRegionIds ( result ) ;
if ( CollectionUtils . isEmpty ( userListByRegionIds ) ) {
if ( CollectionUtils . isEmpty ( userListByRegionIds ) ) {
log . info ( " 意向区域绑定战区 但是战区绑定的组织机构下没人 不分配 " ) ;
log . info ( " 意向区域绑定战区 但是战区绑定的组织机构下没人 不分配 " ) ;
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
//如果是私海线索 不需要重新分配招商经理
//如果是私海线索 不需要重新分配招商经理
if ( ( HyPartnerLineInfo ! = null & & HyPartnerLineInfo . getLineStatus ( ) = = 1 ) ) {
if ( ( HyPartnerLineInfo ! = null & & HyPartnerLineInfo . getLineStatus ( ) = = 1 ) ) {
log . info ( " 如果是私海线索 不需要重新分配招商经理 或者跟进次数大于等于1 lineStatus:{} " , HyPartnerLineInfo . getLineStatus ( ) ) ;
log . info ( " 如果是私海线索 不需要重新分配招商经理 或者跟进次数大于等于1 lineStatus:{} " , HyPartnerLineInfo . getLineStatus ( ) ) ;
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
if ( HyPartnerLineInfo = = null ) {
if ( HyPartnerLineInfo = = null ) {
Boolean lineStatus = getLineStatus ( Long . valueOf ( wantShopArea ) , acceptAdjustType ) ;
Boolean lineStatus = getLineStatus ( Long . valueOf ( wantShopArea ) , acceptAdjustType ) ;
return lineStatus ;
return lineStatus ;
}
}
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
Boolean lineStatus = getLineStatus ( Long . valueOf ( hyPartnerUserInfoDO . getWantShopArea ( ) ) , hyPartnerUserInfoDO . getAcceptAdjustType ( ) ) ;
Boolean lineStatus = getLineStatus ( Long . valueOf ( hyPartnerUserInfoDO . getWantShopArea ( ) ) , hyPartnerUserInfoDO . getAcceptAdjustType ( ) ) ;
log . info ( " lineStatus:{} " , lineStatus ) ;
log . info ( " lineStatus:{} " , lineStatus ) ;
return lineStatus ;
return lineStatus ;
}
}
/**
/**
* 线索状态
* 线索状态
*
* @param wantShopAreaId
* @param wantShopAreaId
* @param acceptAdjustType
* @param acceptAdjustType
* @return
* @return
*/
*/
@Override
@Override
public Boolean getLineStatus ( Long wantShopAreaId , Integer acceptAdjustType ) {
public Boolean getLineStatus ( Long wantShopAreaId , Integer acceptAdjustType ) {
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( wantShopAreaId ) ;
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( wantShopAreaId ) ;
if ( AreaStatusEnum . OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) | | AreaStatusEnum . KEY_OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) ) {
if ( AreaStatusEnum . OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) | | AreaStatusEnum . KEY_OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) ) {
return Boolean . TRUE ;
return Boolean . TRUE ;
}
}
if ( AreaStatusEnum . NOT_OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) | | AreaStatusEnum . SATURATED . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) ) {
if ( AreaStatusEnum . NOT_OPEN . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) | | AreaStatusEnum . SATURATED . getCode ( ) . equals ( hyOpenAreaInfoDO . getAreaStatus ( ) ) ) {
if ( AcceptAdjustTypeEnum . NOT_ACCEPT . getCode ( ) . equals ( acceptAdjustType ) ) {
if ( AcceptAdjustTypeEnum . NOT_ACCEPT . getCode ( ) . equals ( acceptAdjustType ) ) {
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
//全国调剂 默认分配呗 有啥好说的
//全国调剂 默认分配呗 有啥好说的
if ( AcceptAdjustTypeEnum . NATIONAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
if ( AcceptAdjustTypeEnum . NATIONAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
return Boolean . TRUE ;
return Boolean . TRUE ;
}
}
//省内调剂 有重点或者开放的 分配
//省内调剂 有重点或者开放的 分配
if ( AcceptAdjustTypeEnum . PROVINCIAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
if ( AcceptAdjustTypeEnum . PROVINCIAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
List < HyOpenAreaInfoDO > hyOpenAreaInfoDOList = new ArrayList < > ( ) ;
List < HyOpenAreaInfoDO > hyOpenAreaInfoDOList = new ArrayList < > ( ) ;
if ( hyOpenAreaInfoDO ! = null ) {
if ( hyOpenAreaInfoDO ! = null ) {
String areaPath = hyOpenAreaInfoDO . getAreaPath ( ) ;
String areaPath = hyOpenAreaInfoDO . getAreaPath ( ) ;
String province = areaPath . substring ( 0 , areaPath . indexOf ( " / " , areaPath . indexOf ( " / " ) + 1 ) ) ;
String province = areaPath . substring ( 0 , areaPath . indexOf ( " / " , areaPath . indexOf ( " / " ) + 1 ) ) ;
hyOpenAreaInfoDOList = hyOpenAreaInfoDAO . queryByKeyword ( province , true , null , true ) ;
hyOpenAreaInfoDOList = hyOpenAreaInfoDAO . queryByKeyword ( province , true , null , true ) ;
//过滤一级目录
//过滤一级目录
hyOpenAreaInfoDOList = hyOpenAreaInfoDOList . stream ( ) . filter ( x - > x . getParentId ( ) ! = null ) . collect ( Collectors . toList ( ) ) ;
hyOpenAreaInfoDOList = hyOpenAreaInfoDOList . stream ( ) . filter ( x - > x . getParentId ( ) ! = null ) . collect ( Collectors . toList ( ) ) ;
}
}
if ( hyOpenAreaInfoDOList . size ( ) > CommonConstants . ZERO ) {
if ( hyOpenAreaInfoDOList . size ( ) > CommonConstants . ZERO ) {
return Boolean . TRUE ;
return Boolean . TRUE ;
}
}
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
//市内调剂 不分配
//市内调剂 不分配
if ( AcceptAdjustTypeEnum . LOCAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
if ( AcceptAdjustTypeEnum . LOCAL_ADJUSTMENT . getCode ( ) . equals ( acceptAdjustType ) ) {
return Boolean . FALSE ;
return Boolean . FALSE ;
}
}
}
}
@@ -819,22 +819,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public String getAssignFollowUser ( String partnerId , String type ) {
public String getAssignFollowUser ( String partnerId , String type ) {
//查询意向区域
//查询意向区域
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
List < HyPartnerLineInfoDO > lineFollowHistoryList = hyPartnerLineInfoDAO . getLineFollowHistoryList ( partnerId ) ;
//如果跟进次数大于1 直接使用上一次的招商经理
//如果跟进次数大于1 直接使用上一次的招商经理
if ( CollectionUtils . isNotEmpty ( lineFollowHistoryList ) ) {
if ( CollectionUtils . isNotEmpty ( lineFollowHistoryList ) ) {
return lineFollowHistoryList . get ( 0 ) . getInvestmentManager ( ) ;
return lineFollowHistoryList . get ( 0 ) . getInvestmentManager ( ) ;
}
}
//意向区域
//意向区域
String wantShopArea = hyPartnerUserInfoDO . getWantShopArea ( ) ;
String wantShopArea = hyPartnerUserInfoDO . getWantShopArea ( ) ;
//查询意向区域绑定的组织架构 没有绑定战区 分配空
//查询意向区域绑定的组织架构 没有绑定战区 分配空
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO . selectByOpenAreaMappingId ( Long . valueOf ( wantShopArea ) , type ) ;
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO . selectByOpenAreaMappingId ( Long . valueOf ( wantShopArea ) , type ) ;
List < String > result = new ArrayList < > ( ) ;
List < String > result = new ArrayList < > ( ) ;
if ( hyIntendDevelopementMappingDO ! = null ) {
if ( hyIntendDevelopementMappingDO ! = null ) {
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
if ( hyIntendDevZoneInfoDO ! = null & & StringUtil . isNotEmpty ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) ) ) {
if ( hyIntendDevZoneInfoDO ! = null & & StringUtil . isNotEmpty ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) ) ) {
List < String > list = JSONObject . parseArray ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) , String . class ) ;
List < String > list = JSONObject . parseArray ( hyIntendDevZoneInfoDO . getAssociatedRegionId ( ) , String . class ) ;
result . addAll ( list ) ;
result . addAll ( list ) ;
}
}
@@ -842,16 +842,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
String userId = " " ;
String userId = " " ;
List < EnterpriseUserDO > userListByRegionIds = enterpriseUserDAO . getUserListByRegionIds ( result ) ;
List < EnterpriseUserDO > userListByRegionIds = enterpriseUserDAO . getUserListByRegionIds ( result ) ;
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO . selectById ( hyIntendDevelopementMappingDO . getMappingId ( ) ) ;
if ( CollectionUtils . isNotEmpty ( userListByRegionIds ) ) {
if ( CollectionUtils . isNotEmpty ( userListByRegionIds ) ) {
List < String > userIdList = userListByRegionIds . stream ( ) . map ( EnterpriseUserDO : : getUserId ) . collect ( Collectors . toList ( ) ) ;
List < String > userIdList = userListByRegionIds . stream ( ) . map ( EnterpriseUserDO : : getUserId ) . collect ( Collectors . toList ( ) ) ;
int i = userIdList . indexOf ( hyIntendDevZoneInfoDO . getLastAllotUserId ( ) ) ;
int i = userIdList . indexOf ( hyIntendDevZoneInfoDO . getLastAllotUserId ( ) ) ;
if ( i = = ( userListByRegionIds . size ( ) - 1 ) ) {
if ( i = = ( userListByRegionIds . size ( ) - 1 ) ) {
i = - 1 ;
i = - 1 ;
}
}
userId = userIdList . get ( + + i ) ;
userId = userIdList . get ( + + i ) ;
}
}
//上次分配的招商经理 记录
//上次分配的招商经理 记录
if ( " intent " . equals ( type ) ) {
if ( " intent " . equals ( type ) ) {
hyIntendDevZoneInfoDO . setLastAllotUserId ( userId ) ;
hyIntendDevZoneInfoDO . setLastAllotUserId ( userId ) ;
hyIntendDevZoneInfoDAO . updateByPrimaryKeySelective ( hyIntendDevZoneInfoDO ) ;
hyIntendDevZoneInfoDAO . updateByPrimaryKeySelective ( hyIntendDevZoneInfoDO ) ;
}
}
@@ -859,33 +859,34 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
@Override
@Override
public InterviewVO getInterviewInfo ( Long lineId , Boolean needDevelopmentDirector ) throws ApiException {
public InterviewVO getInterviewInfo ( Long lineId , Boolean needDevelopmentDirector ) 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 ) {
queryByInterviewPlanIdReq . setInterviewPlanId ( String . valueOf ( interviewId ) ) ;
queryByInterviewPlanIdReq . setInterviewPlanId ( String . valueOf ( interviewId ) ) ;
queryByInterviewPlanIdReq . setNeedDevelopmentDirector ( needDevelopmentDirector ) ;
queryByInterviewPlanIdReq . setNeedDevelopmentDirector ( needDevelopmentDirector ) ;
return interviewService . getInterviewInfo ( queryByInterviewPlanIdReq ) ;
return interviewService . getInterviewInfo ( queryByInterviewPlanIdReq ) ;
}
}
return null ;
return null ;
}
}
@Override
@Override
public HyPartnerLineInfoDO generateDefaultLineInfo ( String partnerId , String wantShopArea , Integer acceptAdjustType , Boolean assignFlag , String investmentManagerId ) throws ApiException {
public HyPartnerLineInfoDO generateDefaultLineInfo ( String partnerId , String wantShopArea , Integer acceptAdjustType , Boolean assignFlag , String investmentManagerId ) throws ApiException {
// 生成一条线索
// 生成一条线索
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . getByPartnerId ( partnerId ) ;
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . getByPartnerId ( partnerId ) ;
//短信拼接了招商经理 直接使用 不需要走自动分配的逻辑 其他方式 走自动分配
//短信拼接了招商经理 直接使用 不需要走自动分配的逻辑 其他方式 走自动分配
String investmentManager = null ;
String investmentManager = null ;
Boolean flag = Boolean . FALSE ;
Boolean flag = Boolean . FALSE ;
if ( StringUtils . isNotEmpty ( investmentManagerId ) ) {
if ( StringUtils . isNotEmpty ( investmentManagerId ) ) {
investmentManager = investmentManagerId ;
investmentManager = investmentManagerId ;
flag = Boolean . TRUE ;
flag = Boolean . TRUE ;
} else {
} else {
flag = this . assignFollowUser ( partnerId , wantShopArea , acceptAdjustType , assignFlag ) ;
flag = this . assignFollowUser ( partnerId , wantShopArea , acceptAdjustType , assignFlag ) ;
if ( flag ) {
if ( flag ) {
investmentManager = getAssignFollowUser ( partnerId , " intent " ) ;
investmentManager = getAssignFollowUser ( partnerId , " intent " ) ;
}
}
}
}
if ( hyPartnerLineInfoDO = = null ) {
if ( hyPartnerLineInfoDO = = null ) {
hyPartnerLineInfoDO = new HyPartnerLineInfoDO ( ) ;
hyPartnerLineInfoDO = new HyPartnerLineInfoDO ( ) ;
hyPartnerLineInfoDO . setPartnerId ( partnerId ) ;
hyPartnerLineInfoDO . setPartnerId ( partnerId ) ;
hyPartnerLineInfoDO . setWorkflowStage ( WorkflowStageEnum . INTENT . getCode ( ) ) ;
hyPartnerLineInfoDO . setWorkflowStage ( WorkflowStageEnum . INTENT . getCode ( ) ) ;
@@ -893,22 +894,22 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
hyPartnerLineInfoDO . setLineStatus ( flag ? LineStatusEnum . PRIVATE_SEAS . getCode ( ) : LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setLineStatus ( flag ? LineStatusEnum . PRIVATE_SEAS . getCode ( ) : LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setInvestmentManager ( investmentManager ) ;
hyPartnerLineInfoDO . setInvestmentManager ( investmentManager ) ;
hyPartnerLineInfoDAO . insertSelective ( hyPartnerLineInfoDO ) ;
hyPartnerLineInfoDAO . insertSelective ( hyPartnerLineInfoDO ) ;
} else {
} else {
if ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) . equals ( hyPartnerLineInfoDO . getLineStatus ( ) ) ) {
if ( LineStatusEnum . PUBLIC_SEAS . getCode ( ) . equals ( hyPartnerLineInfoDO . getLineStatus ( ) ) ) {
hyPartnerLineInfoDO . setLineStatus ( flag ? LineStatusEnum . PRIVATE_SEAS . getCode ( ) : LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setLineStatus ( flag ? LineStatusEnum . PRIVATE_SEAS . getCode ( ) : LineStatusEnum . PUBLIC_SEAS . getCode ( ) ) ;
hyPartnerLineInfoDO . setInvestmentManager ( investmentManager ) ;
hyPartnerLineInfoDO . setInvestmentManager ( investmentManager ) ;
hyPartnerLineInfoDAO . updateByPrimaryKeySelective ( hyPartnerLineInfoDO ) ;
hyPartnerLineInfoDAO . updateByPrimaryKeySelective ( hyPartnerLineInfoDO ) ;
}
}
}
}
//发送飞书工作通知
//发送飞书工作通知
if ( flag ) {
if ( flag ) {
List < String > userIdList = new ArrayList < > ( ) ;
List < String > userIdList = new ArrayList < > ( ) ;
userIdList . add ( investmentManager ) ;
userIdList . add ( investmentManager ) ;
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( userIdList ) ;
Map < String , String > feishuUserIdsByUserIds = enterpriseUserDAO . getFeishuUserIdsByUserIds ( userIdList ) ;
ArrayList < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
ArrayList < String > feishuUserIds = new ArrayList < > ( feishuUserIdsByUserIds . values ( ) ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO . selectByPartnerId ( partnerId ) ;
String dateTime = DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
String dateTime = DateUtil . format ( new Date ( ) , CoolDateUtils . DATE_FORMAT_SEC_7 ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . ALLOCATION_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
eventCenterHttpRequest . sendFeiShuNotice ( FeiShuNoticeMsgEnum . ALLOCATION_INVESTMENT_MANAGER , feishuUserIds , dateTime , hyPartnerUserInfoDO . getUsername ( ) , hyPartnerUserInfoDO . getMobile ( ) ) ;
}
}
return hyPartnerLineInfoDO ;
return hyPartnerLineInfoDO ;
}
}
@@ -917,13 +918,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
public Long checkGenerateNewLineId ( Long lineId ) throws ApiException {
public Long checkGenerateNewLineId ( Long lineId ) throws ApiException {
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( lineId ) ;
// 15天之后可以继续填写意向信息, 把之前的线索删除
// 15天之后可以继续填写意向信息, 把之前的线索删除
if ( hyPartnerLineInfoDO ! = null & & hyPartnerLineInfoDO . getDeadline ( ) ! = null & &
if ( hyPartnerLineInfoDO ! = null & & hyPartnerLineInfoDO . getDeadline ( ) ! = null & &
DateUtil . offsetSecond ( hyPartnerLineInfoDO . getDeadline ( ) , - 2 ) . before ( new Date ( ) ) ) {
DateUtil . offsetSecond ( hyPartnerLineInfoDO . getDeadline ( ) , - 2 ) . 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 ( ) ) ;
// 生成一条新线索 生成新线索的时候不需要公海到私海
// 生成一条新线索 生成新线索的时候不需要公海到私海
HyPartnerLineInfoDO newLineInfoDO = this . generateDefaultLineInfo ( hyPartnerLineInfoDO . getPartnerId ( ) , hyPartnerUserInfoDO . getWantShopArea ( ) , hyPartnerUserInfoDO . getAcceptAdjustType ( ) , Boolean . FALSE , null ) ;
HyPartnerLineInfoDO newLineInfoDO = this . generateDefaultLineInfo ( hyPartnerLineInfoDO . getPartnerId ( ) , hyPartnerUserInfoDO . getWantShopArea ( ) , hyPartnerUserInfoDO . getAcceptAdjustType ( ) , Boolean . FALSE , null ) ;
// 生成一条意向基本信息
// 生成一条意向基本信息
HyPartnerBaseInfoDO oldBaseInfoDO = hyPartnerBaseInfoDAO . getByPartnerIdAndLineId ( hyPartnerUserInfoDO . getPartnerId ( ) , lineId ) ;
HyPartnerBaseInfoDO oldBaseInfoDO = hyPartnerBaseInfoDAO . getByPartnerIdAndLineId ( hyPartnerUserInfoDO . getPartnerId ( ) , lineId ) ;
hyPartnerBaseInfoService . generateBaseInfo ( hyPartnerUserInfoDO , newLineInfoDO . getId ( ) , oldBaseInfoDO . getUserPortrait ( ) ) ;
hyPartnerBaseInfoService . generateBaseInfo ( hyPartnerUserInfoDO , newLineInfoDO . getId ( ) , oldBaseInfoDO . getUserPortrait ( ) ) ;
@@ -936,11 +937,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Transactional ( rollbackFor = Exception . class )
@Transactional ( rollbackFor = Exception . class )
public Integer editBaseInfo ( EditBaseInfoRequest request ) {
public Integer editBaseInfo ( EditBaseInfoRequest request ) {
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( request . getPartnerLineId ( ) ) ;
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( request . getPartnerLineId ( ) ) ;
if ( Objects . isNull ( lineInfo ) ) {
if ( Objects . isNull ( lineInfo ) ) {
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
throw new ServiceException ( ErrorCodeEnum . LINE_ID_IS_NOT_EXIST ) ;
}
}
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO . selectByMobile ( request . getMobile ( ) ) ;
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO . selectByMobile ( request . getMobile ( ) ) ;
if ( Objects . nonNull ( partnerUserInfo ) & & ! lineInfo . getPartnerId ( ) . equals ( partnerUserInfo . getPartnerId ( ) ) ) {
if ( Objects . nonNull ( partnerUserInfo ) & & ! lineInfo . getPartnerId ( ) . equals ( partnerUserInfo . getPartnerId ( ) ) ) {
throw new ServiceException ( ErrorCodeEnum . PARTNER_MOBILE_EXIST_0 ) ;
throw new ServiceException ( ErrorCodeEnum . PARTNER_MOBILE_EXIST_0 ) ;
}
}
HyPartnerUserInfoDO update = new HyPartnerUserInfoDO ( ) ;
HyPartnerUserInfoDO update = new HyPartnerUserInfoDO ( ) ;
@@ -962,16 +963,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
@Override
@Override
public PartnerSimpleBaseInfoVO queryBaseInfo ( Long partnerLineId ) {
public PartnerSimpleBaseInfoVO queryBaseInfo ( Long partnerLineId ) {
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( partnerLineId ) ;
HyPartnerLineInfoDO lineInfo = hyPartnerLineInfoDAO . selectByPrimaryKeySelective ( partnerLineId ) ;
if ( Objects . isNull ( lineInfo ) ) {
if ( Objects . isNull ( lineInfo ) ) {
return null ;
return null ;
}
}
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO . selectByPartnerId ( lineInfo . getPartnerId ( ) ) ;
HyPartnerUserInfoDO partnerUserInfo = hyPartnerUserInfoDAO . selectByPartnerId ( lineInfo . getPartnerId ( ) ) ;
HyPartnerBaseInfoDO partnerBaseInfo = hyPartnerBaseInfoDAO . getByPartnerLineId ( partnerLineId ) ;
HyPartnerBaseInfoDO partnerBaseInfo = hyPartnerBaseInfoDAO . getByPartnerLineId ( partnerLineId ) ;
PartnerSimpleBaseInfoVO result = PartnerSimpleBaseInfoVO . convertVO ( partnerLineId , partnerUserInfo ) ;
PartnerSimpleBaseInfoVO result = PartnerSimpleBaseInfoVO . convertVO ( partnerLineId , partnerUserInfo ) ;
String userPortrait = Optional . ofNullable ( partnerBaseInfo ) . map ( o - > o . getUserPortrait ( ) ) . orElse ( null ) ;
String userPortrait = Optional . ofNullable ( partnerBaseInfo ) . map ( o - > o . getUserPortrait ( ) ) . orElse ( null ) ;
Long partnerBaseInfoId = Optional . ofNullable ( partnerBaseInfo ) . map ( o - > o . getId ( ) ) . orElse ( null ) ;
Long partnerBaseInfoId = Optional . ofNullable ( partnerBaseInfo ) . map ( o - > o . getId ( ) ) . orElse ( null ) ;
result . setPartnerBaseInfoId ( partnerBaseInfoId ) ;
result . setPartnerBaseInfoId ( partnerBaseInfoId ) ;
if ( StringUtils . isNotEmpty ( userPortrait ) & & Objects . nonNull ( result ) ) {
if ( StringUtils . isNotEmpty ( userPortrait ) & & Objects . nonNull ( result ) ) {
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( Arrays . asList ( userPortrait ) ) ;
Map < Long , String > userPortraitMap = labelService . getUserPortraitMap ( Arrays . asList ( userPortrait ) ) ;
List < UserPortraitDTO > userPortraitList = userPortraitMap . entrySet ( ) . stream ( )
List < UserPortraitDTO > userPortraitList = userPortraitMap . entrySet ( ) . stream ( )
. map ( entry - > new UserPortraitDTO ( entry . getKey ( ) , entry . getValue ( ) ) )
. map ( entry - > new UserPortraitDTO ( entry . getKey ( ) , entry . getValue ( ) ) )
@@ -981,13 +982,70 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return result ;
return result ;
}
}
@Override
public LinePageInfoVo privateSeaPageDetailNext ( String userId , PrivateSeaLineListRequest request , Boolean allPrivateSeaFlag ) {
request . setPageNum ( ( int ) Math . ceil ( ( double ) request . getPageNum ( ) / request . getPageSize ( ) ) ) ;
//allPrivateSeaFlag 为true的时候 查询全量私海
UserPositionAndUserScopeDTO userIdsByScope = new UserPositionAndUserScopeDTO ( ) ;
if ( ! allPrivateSeaFlag ) {
userIdsByScope = enterpriseUserService . getUserIdsByScope ( userId ) ;
}
String intentAreaName = getIntentAreaName ( request . getIntentAreaId ( ) ) ;
Integer pageNum = request . getPageNum ( ) ;
Integer pageSize = request . getPageSize ( ) ;
List < LinePageInfoVo > linePageInfoVo = hyPartnerLineInfoDAO . getPrivateSeaPageInfoNext ( request . getLineId ( ) , request . getKeyword ( ) , request . getKeywordType ( ) , request . getWorkflowStage ( ) ,
request . getWorkflowStatus ( ) , request . getDeadlineStart ( ) , request . getDeadlineEnd ( ) , intentAreaName , request . getAcceptAdjustType ( ) , request . getStoreKeyword ( ) ,
request . getStoreKeywordType ( ) , userIdsByScope . getInvestmentUserIds ( ) , userIdsByScope . getDevelopmentUserIds ( ) , request . getUserPortraitIdList ( ) , request . getUserChannelIdList ( )
, request . getUpdateStartTime ( ) , request . getUpdateEndTime ( ) , request . getPartnerName ( ) , request . getPartnerMobile ( ) , request . getInvestmentManagerId ( ) , request . getUserPortraitQueryType ( )
, request . getIntentAreaQueryType ( ) , request . getLineStartTime ( ) , request . getLineEndTime ( ) , request . getUserChannelQueryType ( ) , request . getSortField ( ) , request . getSortOrder ( ) , ( pageNum - 1 ) * pageSize = = 0 ? 0 : ( pageNum - 1 ) * pageSize - 1 , pageSize + 2 ) ;
Optional < Integer > first = Stream . iterate ( 0 , i - > i + 1 ) . limit ( linePageInfoVo . size ( ) ) . filter ( item - > request . getLineId ( ) . equals ( linePageInfoVo . get ( item ) . getLineId ( ) ) ) . findFirst ( ) ;
if ( ! first . isPresent ( ) ) {
return null ;
}
if ( PageTurnTypeEnum . NEXT . getText ( ) . equals ( request . getPageTurn ( ) ) ) {
//下一页
return first . get ( ) + 1 > linePageInfoVo . size ( ) ? null : linePageInfoVo . get ( first . get ( ) + 1 ) ;
}
if ( PageTurnTypeEnum . PREVIOUS . getText ( ) . equals ( request . getPageTurn ( ) ) ) {
//上一页
return first . get ( ) - 1 < 0 ? null : linePageInfoVo . get ( first . get ( ) - 1 ) ;
}
return null ;
}
@Override
public LinePageInfoVo publicSeaPageDetailNext ( String userId , LineRequest lineRequest ) {
lineRequest . setPageNum ( ( int ) Math . ceil ( ( double ) lineRequest . getPageNum ( ) / lineRequest . getPageSize ( ) ) ) ;
String intentAreaName = getIntentAreaName ( lineRequest . getIntentArea ( ) ) ;
Integer pageNum = lineRequest . getPageNum ( ) ;
Integer pageSize = lineRequest . getPageSize ( ) ;
List < LinePageInfoVo > linePageInfoVoList = hyPartnerLineInfoDAO . getPublicSeaPageInfoNext ( lineRequest . getLineId ( ) , lineRequest . getUserNameKeyword ( ) , lineRequest . getPhoneKeyword ( ) ,
intentAreaName , lineRequest . getAcceptAdjustType ( ) , lineRequest . getUpdateStartTime ( ) , lineRequest . getUpdateEndTime ( ) , null , lineRequest . getCreateStartTime ( ) , lineRequest . getCreateEndTime ( ) , lineRequest . getPageTurn ( )
, ( pageNum - 1 ) * pageSize = = 0 ? 0 : ( pageNum - 1 ) * pageSize - 1 , pageSize + 2 ) ;
Optional < Integer > first = Stream . iterate ( 0 , i - > i + 1 ) . limit ( linePageInfoVoList . size ( ) ) . filter ( item - > lineRequest . getLineId ( ) . equals ( linePageInfoVoList . get ( item ) . getLineId ( ) ) ) . findFirst ( ) ;
if ( ! first . isPresent ( ) ) {
return null ;
}
if ( PageTurnTypeEnum . NEXT . getText ( ) . equals ( lineRequest . getPageTurn ( ) ) ) {
//下一页
return first . get ( ) + 1 > linePageInfoVoList . size ( ) ? null : linePageInfoVoList . get ( first . get ( ) + 1 ) ;
}
if ( PageTurnTypeEnum . PREVIOUS . getText ( ) . equals ( lineRequest . getPageTurn ( ) ) ) {
//上一页
return first . get ( ) - 1 < 0 ? null : linePageInfoVoList . get ( first . get ( ) - 1 ) ;
}
return null ;
}
/**
/**
* convertPartnerBlackListDTOToVo
* convertPartnerBlackListDTOToVo
*
* @param partnerBlackListDTO
* @param partnerBlackListDTO
* @return
* @return
*/
*/
public BlackListVO convertPartnerBlackListDTOToVo ( PartnerBlackListDTO partnerBlackListDTO ) {
public BlackListVO convertPartnerBlackListDTOToVo ( PartnerBlackListDTO partnerBlackListDTO ) {
BlackListVO blackListVO = new BlackListVO ( ) ;
BlackListVO blackListVO = new BlackListVO ( ) ;
blackListVO . setId ( partnerBlackListDTO . getLineId ( ) ) ;
blackListVO . setId ( partnerBlackListDTO . getLineId ( ) ) ;
blackListVO . setPartnerId ( partnerBlackListDTO . getPartnerId ( ) ) ;
blackListVO . setPartnerId ( partnerBlackListDTO . getPartnerId ( ) ) ;
@@ -1000,7 +1058,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
blackListVO . setJoinBlackReason ( partnerBlackListDTO . getJoinBlackReason ( ) ) ;
blackListVO . setJoinBlackReason ( partnerBlackListDTO . getJoinBlackReason ( ) ) ;
blackListVO . setCloseUserId ( partnerBlackListDTO . getCloseUserId ( ) ) ;
blackListVO . setCloseUserId ( partnerBlackListDTO . getCloseUserId ( ) ) ;
String phoneAddress = partnerBlackListDTO . getPhoneAddress ( ) ;
String phoneAddress = partnerBlackListDTO . getPhoneAddress ( ) ;
if ( StringUtils . isEmpty ( phoneAddress ) ) {
if ( StringUtils . isEmpty ( phoneAddress ) ) {
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( partnerBlackListDTO . getMobile ( ) ) ;
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( partnerBlackListDTO . getMobile ( ) ) ;
}
}
blackListVO . setPhoneAddress ( phoneAddress ) ;
blackListVO . setPhoneAddress ( phoneAddress ) ;
@@ -1010,14 +1068,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
}
}
/**
/**
* convertPartnerLineInfoAndBaseInfoDTOToVo
* convertPartnerLineInfoAndBaseInfoDTOToVo
*
* @param partnerLineInfoAndBaseInfoDTO
* @param partnerLineInfoAndBaseInfoDTO
* @return
* @return
*/
*/
private PartnerLineInfoAndBaseInfoVO convertPartnerLineInfoAndBaseInfoDTOToVo ( PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO ) {
private PartnerLineInfoAndBaseInfoVO convertPartnerLineInfoAndBaseInfoDTOToVo ( PartnerLineInfoAndBaseInfoDTO partnerLineInfoAndBaseInfoDTO ) {
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = new PartnerLineInfoAndBaseInfoVO ( ) ;
PartnerLineInfoAndBaseInfoVO partnerLineInfoAndBaseInfoVO = new PartnerLineInfoAndBaseInfoVO ( ) ;
partnerLineInfoAndBaseInfoVO . setId ( partnerLineInfoAndBaseInfoDTO . getId ( ) ) ;
partnerLineInfoAndBaseInfoVO . setId ( partnerLineInfoAndBaseInfoDTO . getId ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPartnerUserId ( partnerLineInfoAndBaseInfoDTO . getPartnerId ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPartnerUserId ( partnerLineInfoAndBaseInfoDTO . getPartnerId ( ) ) ;
@@ -1027,7 +1084,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO . setWorkflowStatus ( partnerLineInfoAndBaseInfoDTO . getWorkflowStatus ( ) ) ;
partnerLineInfoAndBaseInfoVO . setWorkflowStatus ( partnerLineInfoAndBaseInfoDTO . getWorkflowStatus ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassCause ( partnerLineInfoAndBaseInfoDTO . getPassCause ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassCause ( partnerLineInfoAndBaseInfoDTO . getPassCause ( ) ) ;
String phoneAddress = partnerLineInfoAndBaseInfoDTO . getPhoneAddress ( ) ;
String phoneAddress = partnerLineInfoAndBaseInfoDTO . getPhoneAddress ( ) ;
if ( StringUtils . isEmpty ( phoneAddress ) ) {
if ( StringUtils . isEmpty ( phoneAddress ) ) {
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( partnerLineInfoAndBaseInfoDTO . getPartnerUserPhone ( ) ) ;
phoneAddress = hyPhoneLocationService . handleHyPhoneAddress ( partnerLineInfoAndBaseInfoDTO . getPartnerUserPhone ( ) ) ;
}
}
partnerLineInfoAndBaseInfoVO . setPhoneAddress ( phoneAddress ) ;
partnerLineInfoAndBaseInfoVO . setPhoneAddress ( phoneAddress ) ;
@@ -1037,29 +1094,30 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
partnerLineInfoAndBaseInfoVO . setPartnerUserName ( partnerLineInfoAndBaseInfoDTO . getPartnerUserName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPartnerUserName ( partnerLineInfoAndBaseInfoDTO . getPartnerUserName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setAcceptAdjustType ( partnerLineInfoAndBaseInfoDTO . getAcceptAdjustType ( ) ) ;
partnerLineInfoAndBaseInfoVO . setAcceptAdjustType ( partnerLineInfoAndBaseInfoDTO . getAcceptAdjustType ( ) ) ;
partnerLineInfoAndBaseInfoVO . setWantShopArea ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ;
partnerLineInfoAndBaseInfoVO . setWantShopArea ( partnerLineInfoAndBaseInfoDTO . getWantShopArea ( ) ) ;
partnerLineInfoAndBaseInfoVO . setEcWantShopAreaName ( partnerLineInfoAndBaseInfoDTO . getEcWantShopArea ( ) ) ;
partnerLineInfoAndBaseInfoVO . setLiveArea ( partnerLineInfoAndBaseInfoDTO . getLiveArea ( ) ) ;
partnerLineInfoAndBaseInfoVO . setLiveArea ( partnerLineInfoAndBaseInfoDTO . getLiveArea ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDetailedAddress ( partnerLineInfoAndBaseInfoDTO . getDetailedAddress ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDetailedAddress ( partnerLineInfoAndBaseInfoDTO . getDetailedAddress ( ) ) ;
partnerLineInfoAndBaseInfoVO . setEmail ( partnerLineInfoAndBaseInfoDTO . getEmail ( ) ) ;
partnerLineInfoAndBaseInfoVO . setEmail ( partnerLineInfoAndBaseInfoDTO . getEmail ( ) ) ;
partnerLineInfoAndBaseInfoVO . setIdCard ( partnerLineInfoAndBaseInfoDTO . getIdCard ( ) ) ;
partnerLineInfoAndBaseInfoVO . setIdCard ( partnerLineInfoAndBaseInfoDTO . getIdCard ( ) ) ;
partnerLineInfoAndBaseInfoVO . setChannelName ( partnerLineInfoAndBaseInfoDTO . getChannelName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setChannelName ( partnerLineInfoAndBaseInfoDTO . getChannelName ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirector ( partnerLineInfoAndBaseInfoDTO . getDevelopmentDirector ( ) ) ;
partnerLineInfoAndBaseInfoVO . setDevelopmentDirector ( partnerLineInfoAndBaseInfoDTO . getDevelopmentDirector ( ) ) ;
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 ) ) ;
}
}
partnerLineInfoAndBaseInfoVO . setPassUserId ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassUserId ( partnerLineInfoAndBaseInfoDTO . getPassUserId ( ) ) ;
partnerLineInfoAndBaseInfoVO . setEducation ( partnerLineInfoAndBaseInfoDTO . getEducation ( ) ) ;
partnerLineInfoAndBaseInfoVO . setEducation ( partnerLineInfoAndBaseInfoDTO . getEducation ( ) ) ;
partnerLineInfoAndBaseInfoVO . setPassTime ( DateUtil . format ( partnerLineInfoAndBaseInfoDTO . getPassTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
partnerLineInfoAndBaseInfoVO . setPassTime ( DateUtil . format ( partnerLineInfoAndBaseInfoDTO . getPassTime ( ) , CoolDateUtils . DATE_FORMAT_SEC_2 ) ) ;
return partnerLineInfoAndBaseInfoVO ;
return partnerLineInfoAndBaseInfoVO ;
}
}
/**
/**
* stageCountDTOToVo
* stageCountDTOToVo
*
* @param stageCountDTO
* @param stageCountDTO
* @return
* @return
*/
*/
private StageCountVO stageCountDTOToVo ( StageCountDTO stageCountDTO ) {
private StageCountVO stageCountDTOToVo ( StageCountDTO stageCountDTO ) {
StageCountVO stageCountVO = new StageCountVO ( ) ;
StageCountVO stageCountVO = new StageCountVO ( ) ;
stageCountVO . setQualifiedInterviewCount ( stageCountDTO . getQualifiedInterviewCount ( ) ) ;
stageCountVO . setQualifiedInterviewCount ( stageCountDTO . getQualifiedInterviewCount ( ) ) ;
stageCountVO . setIntentApplyApproveCount ( stageCountDTO . getIntentApplyApproveCount ( ) ) ;
stageCountVO . setIntentApplyApproveCount ( stageCountDTO . getIntentApplyApproveCount ( ) ) ;
@@ -1069,12 +1127,13 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
/**
/**
* getIntentAreaName
* getIntentAreaName
*
* @param intentArea
* @param intentArea
* @return
* @return
*/
*/
private String getIntentAreaName ( String intentArea ) {
private String getIntentAreaName ( String intentArea ) {
String intentAreaName = null ;
String intentAreaName = null ;
if ( StringUtils . isNotEmpty ( intentArea ) ) {
if ( StringUtils . isNotEmpty ( intentArea ) ) {
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( Long . valueOf ( intentArea ) ) ;
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO . selectById ( Long . valueOf ( intentArea ) ) ;
intentAreaName = hyOpenAreaInfoDO . getAreaName ( ) ;
intentAreaName = hyOpenAreaInfoDO . getAreaName ( ) ;
}
}