Package com.bytedesk.call.cdr
Class CallCdrService
java.lang.Object
com.bytedesk.call.cdr.CallCdrService
@Service
@ConditionalOnProperty(prefix="bytedesk.call.freeswitch",
name="enabled",
havingValue="true",
matchIfMissing=false)
public class CallCdrService
extends Object
Call CDR服务类
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanupOldCdrs
(int daysToKeep) 清理过期的CDR记录createCdr
(CallCdrEntity cdr) 创建CDR记录void
删除CDR记录findByCallerNumber
(String callerNumber) 根据主叫号码查找CDR记录findByDestinationNumber
(String destinationNumber) 根据被叫号码查找CDR记录根据ID查找CDR记录findByTimeRange
(ZonedDateTime startTime, ZonedDateTime endTime) 根据时间范围查找CDR记录根据UUID查找CDR记录org.springframework.data.domain.Page<CallCdrEntity>
findCdrs
(org.springframework.data.domain.Pageable pageable) 分页查询CDR记录获取成功接通的通话记录org.springframework.data.domain.Page<CallCdrEntity>
getCallHistory
(String number, org.springframework.data.domain.Pageable pageable) 获取指定号码的通话历史getCallStatistics
(ZonedDateTime startTime, ZonedDateTime endTime) 获取通话统计信息org.springframework.data.domain.Page<CallCdrEntity>
getRecentCalls
(org.springframework.data.domain.Pageable pageable) 获取最近的通话记录获取有录音的通话记录void
processCdrEvent
(String uuid, String callerNumber, String destinationNumber, String context, ZonedDateTime startStamp, ZonedDateTime answerStamp, ZonedDateTime endStamp, Integer duration, Integer billsec, String hangupCause, String direction) 处理Call CDR事件updateCdr
(CallCdrEntity cdr) 更新CDR记录void
updateCdrAnswerTime
(String uuid, ZonedDateTime answerTime) 更新CDR应答时间void
updateCdrEndTime
(String uuid, ZonedDateTime endTime, String hangupCause) 更新CDR结束时间和挂断原因
-
Field Details
-
cdrRepository
-
-
Constructor Details
-
CallCdrService
public CallCdrService()
-
-
Method Details
-
createCdr
创建CDR记录 -
updateCdr
更新CDR记录 -
deleteCdr
删除CDR记录 -
findById
根据ID查找CDR记录 -
findByUid
根据UUID查找CDR记录 -
findByCallerNumber
根据主叫号码查找CDR记录 -
findByDestinationNumber
根据被叫号码查找CDR记录 -
getCallHistory
public org.springframework.data.domain.Page<CallCdrEntity> getCallHistory(String number, org.springframework.data.domain.Pageable pageable) 获取指定号码的通话历史 -
getRecentCalls
public org.springframework.data.domain.Page<CallCdrEntity> getRecentCalls(org.springframework.data.domain.Pageable pageable) 获取最近的通话记录 -
findByTimeRange
根据时间范围查找CDR记录 -
getAnsweredCalls
获取成功接通的通话记录 -
getRecordedCalls
获取有录音的通话记录 -
findCdrs
public org.springframework.data.domain.Page<CallCdrEntity> findCdrs(org.springframework.data.domain.Pageable pageable) 分页查询CDR记录 -
getCallStatistics
public CallCdrService.CallStatistics getCallStatistics(ZonedDateTime startTime, ZonedDateTime endTime) 获取通话统计信息 -
cleanupOldCdrs
@Transactional public void cleanupOldCdrs(int daysToKeep) 清理过期的CDR记录 -
processCdrEvent
@Transactional public void processCdrEvent(String uuid, String callerNumber, String destinationNumber, String context, ZonedDateTime startStamp, ZonedDateTime answerStamp, ZonedDateTime endStamp, Integer duration, Integer billsec, String hangupCause, String direction) 处理Call CDR事件 -
updateCdrAnswerTime
更新CDR应答时间 -
updateCdrEndTime
更新CDR结束时间和挂断原因
-