package com.fs.aiSipCall.domain;

import com.fs.common.annotation.Excel;
import lombok.Data;

import java.io.Serializable;

/**
 * aiSIP手动外呼通话记录对象 ai_sip_call_outbound_cdr
 *
 * @author fs
 * @date 2026-03-19
 */
@Data
public class AiSipCallOutboundCdr implements Serializable {

    /** $column.columnComment */
    private String id;

    /** 主叫 */
    @Excel(name = "主叫")
    private String caller;

    /** 工号 */
    @Excel(name = "工号")
    private String opnum;

    /** 被叫 */
    @Excel(name = "被叫")
    private String callee;

    /** 外呼开始时间 */
    @Excel(name = "外呼开始时间")
    private Long startTime;

    /** 被叫接听时间 */
    @Excel(name = "被叫接听时间")
    private Long answeredTime;

    /** 挂断时间 */
    @Excel(name = "挂断时间")
    private Long endTime;

    /** 通话UUID */
    @Excel(name = "通话UUID")
    private String uuid;

    /** 音频或视频通话 */
    @Excel(name = "音频或视频通话")
    private String callType;

    /** 通话时长 */
    @Excel(name = "通话时长")
    private Long timeLen;

    /** 有效通话时长 */
    @Excel(name = "有效通话时长")
    private Long timeLenValid;

    /** 录音文件名 */
    @Excel(name = "录音文件名")
    private String recordFilename;

    private String wavfile;

    /** 对话内容 */
    @Excel(name = "对话内容")
    private String chatContent;

    /** 挂断原因 */
    @Excel(name = "挂断原因")
    private String hangupCause;

    /** 外呼类型（0销售后台 1总后台） */
    @Excel(name = "外呼类型（0销售后台 1总后台）")
    private String sourceType;
    /** 销售公司ID */
    @Excel(name = "销售公司ID")
    private Long companyId;
    /** 销售ID */
    @Excel(name = "销售ID")
    private Long companyUserId;
    /** 销售公司名称 */
    @Excel(name = "销售公司名称")
    private String companyName;
    /** 销售账号 */
    @Excel(name = "销售账号")
    private String companyUserName;
    /** 总后台用户ID */
    @Excel(name = "总后台用户ID")
    private Long sysUserId;
    /** 总后台用户账号 */
    @Excel(name = "总后台用户账号")
    private String sysUserName;
    /** 状态（0正常1删除） */
    @Excel(name = "状态（0正常1删除）")
    private Integer status;

    /** 通话总时长起止 */
    private Long timeLenStart;
    private Long timeLenEnd;
    /** 外呼时间起止 */
    private String startTimeStart;
    private String startTimeEnd;
    private Long startTimeStartLong;
    private Long startTimeEndLong;

    /** 接听时间起止 */
    private String answeredTimeStart;
    private String answeredTimeEnd;
    private Long answeredTimeStartLong;
    private Long answeredTimeEndLong;
    /** 挂机时间起止 */
    private String endTimeStart;
    private String endTimeEnd;
    private Long endTimeStartLong;
    private Long endTimeEndLong;

    private String startTimeStr;
    private String answeredTimeStr;
    private String endTimeStr;
    private String timeLenSec;
    private String timeLenValidStr;
}
