@ -5,7 +5,6 @@ import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil ;
import cn.hutool.core.util.RandomUtil ;
import cn.hutool.core.util.StrUtil ;
import cn.hutool.json.JSONUtil ;
import com.baiye.constant.DefaultNumberConstants ;
import com.baiye.exception.BadRequestException ;
import com.baiye.feign.SourceClueClient ;
@ -14,11 +13,9 @@ import com.baiye.model.enums.CallStatusEnum;
import com.baiye.modules.system.domain.Clue ;
import com.baiye.modules.telemarkting.dao.AllCallInfoRepository ;
import com.baiye.modules.telemarkting.dao.CallClueRepository ;
import com.baiye.modules.telemarkting.dao.ExtensionDisplayRepository ;
import com.baiye.modules.telemarkting.dao.ExtensionNumberRepository ;
import com.baiye.modules.telemarkting.entity.AllCallInfo ;
import com.baiye.modules.telemarkting.entity.CallClueInfo ;
import com.baiye.modules.telemarkting.entity.ClueMiddle ;
import com.baiye.modules.telemarkting.entity.ExtensionNumber ;
import com.baiye.modules.telemarkting.entity.* ;
import com.baiye.modules.telemarkting.entity.dto.* ;
import com.baiye.modules.telemarkting.httpRequest.AxbRequest ;
import com.baiye.modules.telemarkting.httpRequest.DoubleCallReq ;
@ -57,6 +54,8 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
private SourceClueClient sourceClueClient ;
@Resource
private ExtensionNumberRepository extensionNumberRepository ;
@Resource
private ExtensionDisplayRepository extensionDisplayRepository ;
@Override
public CommonResponse < String > doubleCallReq ( TelephoneCallReqDTO doubleCallReq , Long companyId ) {
@ -123,14 +122,10 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
callClueRepository . updateByStatus ( status , userDate ) ;
allCallInfoRepository . updateByStatus ( status , sessionId ) ;
//更新资源通话状态
CompletableFuture . runAsync ( ( ) - > {
updateSourceCallStatus ( userDate , DefaultNumberConstants . TWO_NUMBER ) ;
} ) ;
CompletableFuture . runAsync ( ( ) - > updateSourceCallStatus ( userDate , DefaultNumberConstants . TWO_NUMBER ) ) ;
} else {
//更新资源通话状态
CompletableFuture . runAsync ( ( ) - > {
updateSourceCallStatus ( userDate , DefaultNumberConstants . ONE_NUMBER ) ;
} ) ;
CompletableFuture . runAsync ( ( ) - > updateSourceCallStatus ( userDate , DefaultNumberConstants . ONE_NUMBER ) ) ;
}
}
@ -189,13 +184,29 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
telephoneCallReqDTO . setRequestId ( requestId ) ;
if ( telephoneCallReqDTO . getDisplay ( ) = = null | | telephoneCallReqDTO . getTelA ( ) = = null ) {
//获取分机号
//TODO 新需求,外显号多个
ExtensionNumber extensionNumber = extensionNumberRepository . selectByMemberId ( telephoneCallReqDTO . getMemberId ( ) ) ;
if ( extensionNumber = = null ) {
log . error ( "未配置分机号" ) ;
return CommonResponse . createByErrorMessage ( "未配置分机号" ) ;
}
ExtensionDisplay extensionDisplay = extensionDisplayRepository . findExtensionDisplayByCompanyId ( extensionNumber . getCompanyId ( ) ) ;
if ( ObjectUtil . isNull ( extensionDisplay ) ) {
return CommonResponse . createByErrorMessage ( "未配置去显号" ) ;
}
if ( extensionDisplay . getDisplay ( ) = = null & & extensionDisplay . getDyDisplay ( ) = = null ) {
return CommonResponse . createByErrorMessage ( "未配置去显号" ) ;
}
telephoneCallReqDTO . setTelA ( String . valueOf ( extensionNumber . getNumber ( ) ) ) ;
telephoneCallReqDTO . setDisplay ( extensionNumber . getDisplay ( ) ) ;
if ( extensionDisplay . getDisplay ( ) ! = null ) {
telephoneCallReqDTO . setDisplay ( extensionDisplay . getDisplay ( ) ) ;
}
if ( telephoneCallReqDTO . getClueType ( ) ! = null & & telephoneCallReqDTO . getClueType ( ) = = DefaultNumberConstants . ONE_NUMBER ) {
if ( extensionDisplay . getDyDisplay ( ) = = null ) {
return CommonResponse . createByErrorMessage ( "未配置抖音去显号" ) ;
}
telephoneCallReqDTO . setDisplay ( extensionDisplay . getDyDisplay ( ) ) ;
}
}
//获取线索号
Clue body ;
@ -213,24 +224,24 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
String reqId = rollCallReq . startReq ( telephoneCallReqDTO ) ;
log . info ( "=============================reqId {}" , reqId ) ;
// if (StrUtil.isNotBlank(reqId)) {
AllCallInfo allCallInfo = new AllCallInfo ( ) ;
allCallInfo . setSessionId ( requestId ) ;
allCallInfo . setRequestId ( requestId ) ;
allCallInfo . setClueId ( Long . parseLong ( telephoneCallReqDTO . getUserData ( ) ) ) ;
allCallInfo . setMemberId ( telephoneCallReqDTO . getMemberId ( ) ) ;
allCallInfo . setStatus ( DefaultNumberConstants . ONE_NUMBER ) ;
allCallInfo . setType ( DefaultNumberConstants . TWO_NUMBER ) ;
allCallInfo . setRecordFlag ( DefaultNumberConstants . ZERO_NUMBER ) ;
AllCallInfo allCallInfo = new AllCallInfo ( ) ;
allCallInfo . setSessionId ( requestId ) ;
allCallInfo . setRequestId ( requestId ) ;
allCallInfo . setClueId ( Long . parseLong ( telephoneCallReqDTO . getUserData ( ) ) ) ;
allCallInfo . setMemberId ( telephoneCallReqDTO . getMemberId ( ) ) ;
allCallInfo . setStatus ( DefaultNumberConstants . ONE_NUMBER ) ;
allCallInfo . setType ( DefaultNumberConstants . TWO_NUMBER ) ;
allCallInfo . setRecordFlag ( DefaultNumberConstants . ZERO_NUMBER ) ;
CallClueInfo clueInfo = new CallClueInfo ( ) ;
clueInfo . setClueId ( Long . parseLong ( telephoneCallReqDTO . getUserData ( ) ) ) ;
clueInfo . setTeamId ( telephoneCallReqDTO . getTeamId ( ) ) ;
clueInfo . setMemberId ( telephoneCallReqDTO . getMemberId ( ) ) ;
clueInfo . setStatus ( DefaultNumberConstants . ONE_NUMBER ) ;
clueInfo . setTaskId ( telephoneCallReqDTO . getTaskId ( ) ) ;
clueInfo . setCompanyId ( companyId ) ;
allCallInfoRepository . save ( allCallInfo ) ;
callClueRepository . save ( clueInfo ) ;
CallClueInfo clueInfo = new CallClueInfo ( ) ;
clueInfo . setClueId ( Long . parseLong ( telephoneCallReqDTO . getUserData ( ) ) ) ;
clueInfo . setTeamId ( telephoneCallReqDTO . getTeamId ( ) ) ;
clueInfo . setMemberId ( telephoneCallReqDTO . getMemberId ( ) ) ;
clueInfo . setStatus ( DefaultNumberConstants . ONE_NUMBER ) ;
clueInfo . setTaskId ( telephoneCallReqDTO . getTaskId ( ) ) ;
clueInfo . setCompanyId ( companyId ) ;
allCallInfoRepository . save ( allCallInfo ) ;
callClueRepository . save ( clueInfo ) ;
// } else {
// return CommonResponse.createByError();
// }
@ -261,14 +272,10 @@ public class TelephoneCallServiceImpl implements TelephoneCallService {
callClueRepository . updateByStatus ( DefaultNumberConstants . TWO_NUMBER , allCallInfo . getClueId ( ) ) ;
allCallInfoRepository . updateByDurationAndStatus ( DefaultNumberConstants . TWO_NUMBER , Integer . valueOf ( rollCallBackDTO . getDuration ( ) ) , allCallInfo . getId ( ) ) ;
//更新资源通话状态
CompletableFuture . runAsync ( ( ) - > {
updateSourceCallStatus ( allCallInfo . getClueId ( ) , DefaultNumberConstants . TWO_NUMBER ) ;
} ) ;
CompletableFuture . runAsync ( ( ) - > updateSourceCallStatus ( allCallInfo . getClueId ( ) , DefaultNumberConstants . TWO_NUMBER ) ) ;
} else {
//更新资源通话状态
CompletableFuture . runAsync ( ( ) - > {
updateSourceCallStatus ( allCallInfo . getClueId ( ) , DefaultNumberConstants . ONE_NUMBER ) ;
} ) ;
CompletableFuture . runAsync ( ( ) - > updateSourceCallStatus ( allCallInfo . getClueId ( ) , DefaultNumberConstants . ONE_NUMBER ) ) ;
}
}
}