using Hotline.Share.Enums.CallCenter;
using SqlSugar;
using XF.Domain.Entities;
using XF.Domain.Repository;

namespace Hotline.CallCenter.Calls;

/// <summary>
/// 通话记录详情（通话流程更新记录）
/// </summary>
public class CallDetail : CreationEntity
{
    /// <summary>
    /// 通话记录编号（Call.Id）
    /// </summary>
    [SugarColumn(ColumnDescription = "通话记录编号（Call.Id）")]
    public string CallId { get; set; }

    /// <summary>
    /// 扩展内容（讯时设备产生的临时唯一标识：VisitorId 或 OuterId）
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription = "扩展内容（讯时设备产生的临时唯一标识：VisitorId 或 OuterId）")]
    public string ConversationId { get; set; }

    /// <summary>
    /// 扩展Id（讯时设备产生的CallId）
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription = "扩展Id（讯时设备产生的CallId）")]
    public string OMCallId { get; set; }

    /// <summary>
    /// 主叫
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription ="主叫")]
    public string FromNo { get; set; }

    /// <summary>
    /// 被叫
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription ="被叫")]
    public string ToNo { get; set; }

    /// <summary>
    /// 接听号码
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription ="接听号码")]
    public string AnswerNo { get; set; }

    /// <summary>
    /// 事件名称
    /// </summary>
    [SugarColumn(ColumnDescription ="事件名称")]
    public string EventName { get; set; }

    /// <summary>
    /// 通话状态
    /// </summary>
    [SugarColumn(ColumnDescription ="通话状态")]
    public ECallStatus CallStatus { get; set; }

    /// <summary>
    /// 备注
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription ="备注")]
    public string Remark { get; set; }

    /// <summary>
    /// 录音路径
    /// </summary>
    [SugarColumn(IsNullable = true,ColumnDescription ="录音路径")]
    public string Recording { get; set; }
}