Package com.bytedesk.call.cdr
Interface CallCdrRepository
- All Superinterfaces:
org.springframework.data.repository.CrudRepository<CallCdrEntity,,Long> org.springframework.data.jpa.repository.JpaRepository<CallCdrEntity,,Long> org.springframework.data.jpa.repository.JpaSpecificationExecutor<CallCdrEntity>,org.springframework.data.repository.ListCrudRepository<CallCdrEntity,,Long> org.springframework.data.repository.ListPagingAndSortingRepository<CallCdrEntity,,Long> org.springframework.data.repository.PagingAndSortingRepository<CallCdrEntity,,Long> org.springframework.data.repository.query.QueryByExampleExecutor<CallCdrEntity>,org.springframework.data.repository.Repository<CallCdrEntity,Long>
public interface CallCdrRepository
extends org.springframework.data.jpa.repository.JpaRepository<CallCdrEntity,Long>, org.springframework.data.jpa.repository.JpaSpecificationExecutor<CallCdrEntity>
Call CDR仓库接口
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
org.springframework.data.jpa.repository.JpaSpecificationExecutor.SpecificationFluentQuery<T extends Object> -
Method Summary
Modifier and TypeMethodDescriptionlongcountAnsweredCallsInTimeRange(ZonedDateTime startTime, ZonedDateTime endTime) 统计指定时间范围内成功接通的通话数量longcountByCallerNumber(String callerNumber) 根据主叫号码统计通话次数longcountByDestinationNumber(String destinationNumber) 根据被叫号码统计通话次数longcountCallsInTimeRange(ZonedDateTime startTime, ZonedDateTime endTime) 统计指定时间范围内的通话数量voiddeleteByStartStampBefore(ZonedDateTime cutoffDate) 删除指定日期之前的CDR记录booleanexistsByUid(String uid) 检查UUID是否存在findByAccountcode(String accountcode) 根据账户代码查找CDR记录查找成功接通的通话记录findByCallerIdNumber(String callerIdNumber) 根据主叫号码查找CDR记录findByCallerOrDestination(String number) 根据主叫或被叫号码查找CDR记录findByDestinationNumber(String destinationNumber) 根据被叫号码查找CDR记录findByDirection(String direction) 根据通话方向查找CDR记录findByHangupCause(String hangupCause) 根据挂断原因查找CDR记录findByOrgUid(String orgUid) 查找有录音文件的通话记录findByStartStampBetween(ZonedDateTime startTime, ZonedDateTime endTime) 查找指定时间范围内的CDR记录根据UID查找CDR记录org.springframework.data.domain.Page<CallCdrEntity>findCallHistory(String number, org.springframework.data.domain.Pageable pageable) 查找指定号码的通话历史(分页)org.springframework.data.domain.Page<CallCdrEntity>findRecentCalls(org.springframework.data.domain.Pageable pageable) 查找最近的通话记录longsumBillSecInTimeRange(ZonedDateTime startTime, ZonedDateTime endTime) 计算指定时间范围内的总通话时长Methods inherited from interface org.springframework.data.repository.CrudRepository
count, delete, deleteAll, deleteAll, deleteAllById, deleteById, existsById, findById, saveMethods inherited from interface org.springframework.data.jpa.repository.JpaRepository
deleteAllByIdInBatch, deleteAllInBatch, deleteAllInBatch, deleteInBatch, findAll, findAll, flush, getById, getOne, getReferenceById, saveAllAndFlush, saveAndFlushMethods inherited from interface org.springframework.data.jpa.repository.JpaSpecificationExecutor
count, delete, exists, findAll, findAll, findAll, findAll, findBy, findOneMethods inherited from interface org.springframework.data.repository.ListCrudRepository
findAll, findAllById, saveAllMethods inherited from interface org.springframework.data.repository.ListPagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.PagingAndSortingRepository
findAllMethods inherited from interface org.springframework.data.repository.query.QueryByExampleExecutor
count, exists, findAll, findBy, findOne
-
Method Details
-
findByUid
根据UID查找CDR记录 -
findByOrgUid
-
findByCallerIdNumber
根据主叫号码查找CDR记录 -
findByDestinationNumber
根据被叫号码查找CDR记录 -
findByAccountcode
根据账户代码查找CDR记录 -
findByDirection
根据通话方向查找CDR记录 -
findByHangupCause
根据挂断原因查找CDR记录 -
findByStartStampBetween
查找指定时间范围内的CDR记录 -
findByAnswerStampIsNotNull
List<CallCdrEntity> findByAnswerStampIsNotNull()查找成功接通的通话记录 -
findByRecordFileIsNotNull
List<CallCdrEntity> findByRecordFileIsNotNull()查找有录音文件的通话记录 -
findByCallerOrDestination
@Query("SELECT c FROM CallCdrEntity c WHERE c.callerIdNumber = :number OR c.destinationNumber = :number") List<CallCdrEntity> findByCallerOrDestination(@Param("number") String number) 根据主叫或被叫号码查找CDR记录 -
findCallHistory
@Query("SELECT c FROM CallCdrEntity c WHERE c.callerIdNumber = :number OR c.destinationNumber = :number ORDER BY c.startStamp DESC") org.springframework.data.domain.Page<CallCdrEntity> findCallHistory(@Param("number") String number, org.springframework.data.domain.Pageable pageable) 查找指定号码的通话历史(分页) -
countCallsInTimeRange
@Query("SELECT COUNT(c) FROM CallCdrEntity c WHERE c.startStamp BETWEEN :startTime AND :endTime") long countCallsInTimeRange(@Param("startTime") ZonedDateTime startTime, @Param("endTime") ZonedDateTime endTime) 统计指定时间范围内的通话数量 -
countAnsweredCallsInTimeRange
@Query("SELECT COUNT(c) FROM CallCdrEntity c WHERE c.startStamp BETWEEN :startTime AND :endTime AND c.answerStamp IS NOT NULL") long countAnsweredCallsInTimeRange(@Param("startTime") ZonedDateTime startTime, @Param("endTime") ZonedDateTime endTime) 统计指定时间范围内成功接通的通话数量 -
sumBillSecInTimeRange
@Query("SELECT COALESCE(SUM(c.billsec), 0) FROM CallCdrEntity c WHERE c.startStamp BETWEEN :startTime AND :endTime AND c.answerStamp IS NOT NULL") long sumBillSecInTimeRange(@Param("startTime") ZonedDateTime startTime, @Param("endTime") ZonedDateTime endTime) 计算指定时间范围内的总通话时长 -
findRecentCalls
@Query("SELECT c FROM CallCdrEntity c ORDER BY c.startStamp DESC") org.springframework.data.domain.Page<CallCdrEntity> findRecentCalls(org.springframework.data.domain.Pageable pageable) 查找最近的通话记录 -
countByCallerNumber
@Query("SELECT COUNT(c) FROM CallCdrEntity c WHERE c.callerIdNumber = :callerNumber") long countByCallerNumber(@Param("callerNumber") String callerNumber) 根据主叫号码统计通话次数 -
countByDestinationNumber
@Query("SELECT COUNT(c) FROM CallCdrEntity c WHERE c.destinationNumber = :destinationNumber") long countByDestinationNumber(@Param("destinationNumber") String destinationNumber) 根据被叫号码统计通话次数 -
existsByUid
检查UUID是否存在 -
deleteByStartStampBefore
删除指定日期之前的CDR记录
-