TrCallRecord.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. 
  2. using Hotline.Orders;
  3. using Hotline.Share.Enums.CallCenter;
  4. using SqlSugar;
  5. using XF.Domain.Repository;
  6. namespace Hotline.CallCenter.Calls
  7. {
  8. public class TrCallRecord : CreationEntity
  9. {
  10. /// <summary>
  11. /// IPPBX用户名
  12. /// </summary>
  13. public string User { get; set; }
  14. /// <summary>
  15. /// 可直接访问的通话录音地址
  16. /// </summary>
  17. public string? RecordingFileUrl { get; set; }
  18. public string? RecordingBaseAddress { get; set; }
  19. public string? RecordingAbsolutePath { get; set; }
  20. /// <summary>
  21. /// 呼叫方向
  22. /// </summary>
  23. public ECallDirection CallDirection { get; set; }
  24. /// <summary>
  25. /// 挂断方
  26. /// </summary>
  27. public EEndBy? EndBy { get; set; }
  28. /// <summary>
  29. /// 转接分机号
  30. /// </summary>
  31. public string? AgentTransferNumber { get; set; }
  32. /// <summary>
  33. /// 坐席侧通话流水,无坐席参与则为手机侧通话流水
  34. /// </summary>
  35. public string CallAccept { get; set; }
  36. /// <summary>
  37. /// 主叫
  38. /// </summary>
  39. public string CPN { get; set; }
  40. /// <summary>
  41. /// 主叫名称
  42. /// </summary>
  43. public string CPNName { get; set; }
  44. /// <summary>
  45. /// 被叫
  46. /// </summary>
  47. public string CDPN { get; set; }
  48. /// <summary>
  49. /// 分机号
  50. /// </summary>
  51. public string? TelNo { get; set; }
  52. public string? UserId { get; set; }
  53. public string? UserName { get; set; }
  54. public string? StaffNo { get; set; }
  55. /// <summary>
  56. /// 通话录音绝对路径
  57. /// </summary>
  58. public string? RecordingFileName { get; set; }
  59. /// <summary>
  60. /// 通话创建时间
  61. /// </summary>
  62. public DateTime CreatedTime { get; set; }
  63. /// <summary>
  64. /// 接通时间
  65. /// </summary>
  66. public DateTime? AnsweredTime { get; set; }
  67. /// <summary>
  68. /// 挂机时间
  69. /// </summary>
  70. public DateTime OverTime { get; set; }
  71. /// <summary>
  72. /// 线路号
  73. /// </summary>
  74. public string Gateway { get; set; }
  75. /// <summary>
  76. /// 呼出时自定义的内容
  77. /// </summary>
  78. public string? OtherStr { get; set; }
  79. /// <summary>
  80. /// 手机侧通话流水,无坐席参与则为空
  81. /// </summary>
  82. public string? OtherAccept { get; set; }
  83. /// <summary>
  84. /// 状态码,语音信箱:999/其他:16
  85. /// </summary>
  86. public string Status { get; set; }
  87. /// <summary>
  88. /// IVR开始时间
  89. /// </summary>
  90. public DateTime? BeginIvrTime { get; set; }
  91. /// <summary>
  92. /// IVR结束时间
  93. /// </summary>
  94. public DateTime? EndIvrTime { get; set; }
  95. /// <summary>
  96. /// 开始等待时间
  97. /// </summary>
  98. public DateTime? BeginQueueTime { get; set; }
  99. /// <summary>
  100. /// 结束等待时间
  101. /// </summary>
  102. public DateTime? EndQueueTime { get; set; }
  103. /// <summary>
  104. /// 开始振铃时间
  105. /// </summary>
  106. public DateTime? BeginRingTime { get; set; }
  107. /// <summary>
  108. /// 结束振铃时间
  109. /// </summary>
  110. public DateTime? EndRingTimg { get; set; }
  111. /// <summary>
  112. /// 队列ID
  113. /// </summary>
  114. public string? OlaQueue { get; set; }
  115. /// <summary>
  116. /// 批量外呼流水
  117. /// </summary>
  118. public string? BatchAccept { get; set; }
  119. /// <summary>
  120. /// IVR按键信息
  121. /// </summary>
  122. public string? IvrDtmf { get; set; }
  123. /// <summary>
  124. /// IVR按键对应动作,需解码
  125. /// </summary>
  126. public string? DtmfType { get; set; }
  127. /// <summary>
  128. /// 通话状态
  129. /// </summary>
  130. public EOnState OnState { get; set; }
  131. #region 自定义字段
  132. /// <summary>
  133. /// 通话时长(挂机时间-接通时间)
  134. /// </summary>
  135. [SugarColumn(DefaultValue = "0")]
  136. public int Duration { get; set; }
  137. /// <summary>
  138. /// 振铃时长(振铃结束时间-振铃开始时间)
  139. /// </summary>
  140. [SugarColumn(DefaultValue = "0")]
  141. public int RingTimes { get; set; }
  142. /// <summary>
  143. /// 排队时长(排队结束时间-排队开始时间)
  144. /// </summary>
  145. [SugarColumn(DefaultValue = "0")]
  146. public int QueueTims { get; set; }
  147. public ECallOrderType? CallOrderType { get; set; }
  148. /// <summary>
  149. /// 外部ID
  150. /// </summary>
  151. public string? ExternalId { get; set; }
  152. /// <summary>
  153. /// 工单
  154. /// </summary>
  155. [Navigate(NavigateType.OneToOne, nameof(ExternalId))]
  156. public Order? Order { get; set; }
  157. /// <summary>
  158. /// 呼入号码类型
  159. /// </summary>
  160. public EPhoneTypes? PhoneTypes { get; set; }
  161. /// <summary>
  162. /// 归属地
  163. /// </summary>
  164. public string? MobileAreaName { get; set; }
  165. /// <summary>
  166. /// 运营商
  167. /// </summary>
  168. public string? OFlag { get; set; }
  169. /// <summary>
  170. /// 卡类型
  171. /// </summary>
  172. public string? OperatorName { get; set; }
  173. #endregion
  174. }
  175. }