package com.dashitech.businessdata.entity;

import com.dashitech.utils.I18n;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * ITSM通话记录表
 */
@Entity
@Table(name = "itsm_call_record")
public class CallRecordEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id", length = 20)
    private Long id;

    @Version
    @Column(name = "VERSION")
    private Integer version;

    @I18n("通话流水")
    @Column(name = "call_accept")
    private String callAccept;

    @I18n("主叫名称")
    @Column(name = "caller_id_number")
    private String callerIdNumber;

    @I18n("被叫号码")
    @Column(name = "destination_number")
    private String destinationNumber;

    @I18n("话务发起时间")
    @Column(name = "created_time")
    private Date createdTime;

    @I18n("话务接听时间，如果电话未接，则为空")
    @Column(name = "answered_time")
    private Date answeredTime;

    @I18n("话务结束时间")
    @Column(name = "over_time")
    private Date overTime;

    @I18n("话务使用的线路")
    @Column(name = "gate_way")
    private String gateWay;

    @I18n("通话录音的绝对地址，如果未接通，则为空")
    @Column(name = "recording_file_name")
    private String recordingFileName;

    @I18n("自动外呼的任务id号，如果是点击拨号则为空")
    @Column(name = "batch_accept")
    private String batchAccept;

    @I18n("点击拨号客户自定义的标识，不传为空")
    @Column(name = "other_str")
    private String otherStr;

    @I18n("1,传入的phone作为主叫(呼出)，2，传入的phone作为被叫（呼入），3批量外呼流水号，不传查全部")
    @Column(name = "call_type")
    private String callType;

    @I18n("通话时长")
    @Column(name = "calltime")
    private String callTime;

    @I18n("线路或者系统返回的状态，无实际意义")
    @Column(name = "status")
    private String status;

    @I18n("挂断方")
    @Column(name = "hangup_side")
    private String hangupSide;


    @I18n("是否被接听，0未接、1已接")
    @Column(name = "is_answered")
    private Integer isAnswered;

    @I18n("用户id")
    @Column(name = "user_id")
    private Long userId;

    @I18n("院区id")
    @Column(name = "branch_id")
    private Long branch;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public Long getBranch() {
        return branch;
    }

    public void setBranch(Long branch) {
        this.branch = branch;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getCallAccept() {
        return callAccept;
    }

    public void setCallAccept(String callAccept) {
        this.callAccept = callAccept;
    }

    public String getCallerIdNumber() {
        return callerIdNumber;
    }

    public void setCallerIdNumber(String callerIdNumber) {
        this.callerIdNumber = callerIdNumber;
    }

    public String getDestinationNumber() {
        return destinationNumber;
    }

    public void setDestinationNumber(String destinationNumber) {
        this.destinationNumber = destinationNumber;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public Date getAnsweredTime() {
        return answeredTime;
    }

    public void setAnsweredTime(Date answeredTime) {
        this.answeredTime = answeredTime;
    }

    public Date getOverTime() {
        return overTime;
    }

    public void setOverTime(Date overTime) {
        this.overTime = overTime;
    }

    public String getGateWay() {
        return gateWay;
    }

    public void setGateWay(String gateWay) {
        this.gateWay = gateWay;
    }

    public String getRecordingFileName() {
        return recordingFileName;
    }

    public void setRecordingFileName(String recordingFileName) {
        this.recordingFileName = recordingFileName;
    }

    public String getBatchAccept() {
        return batchAccept;
    }

    public void setBatchAccept(String batchAccept) {
        this.batchAccept = batchAccept;
    }

    public String getOtherStr() {
        return otherStr;
    }

    public void setOtherStr(String otherStr) {
        this.otherStr = otherStr;
    }

    public String getCallType() {
        return callType;
    }

    public void setCallType(String callType) {
        this.callType = callType;
    }

    public String getCallTime() {
        return callTime;
    }

    public void setCallTime(String callTime) {
        this.callTime = callTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getHangupSide() {
        return hangupSide;
    }

    public void setHangupSide(String hangupSide) {
        this.hangupSide = hangupSide;
    }

    public Integer getIsAnswered() {
        return isAnswered;
    }

    public void setIsAnswered(Integer isAnswered) {
        this.isAnswered = isAnswered;
    }
}
