package com.unis.detectionnum.server.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

@ApiModel(value="com.unis.detectionnum.server.entity.RobotCallRecord")
public class RobotCallRecordDO {
    @ApiModelProperty(value="recordId主键id")
    private Long recordId;

    @ApiModelProperty(value="dataType回调类型（始终为 ROBOT_CALL_RECORD ）")
    private String dataType;

    @ApiModelProperty(value="callRecordId通话记录id")
    private Long callRecordId;

    @ApiModelProperty(value="tenantId公司id")
    private Long tenantId;

    @ApiModelProperty(value="dialogFlowId话术id")
    private Long dialogFlowId;

    @ApiModelProperty(value="robotCallJobId任务id")
    private Long robotCallJobId;

    @ApiModelProperty(value="calledPhoneNumber电话号码")
    private String calledPhoneNumber;

    @ApiModelProperty(value="resultStatus通话结果 (ANSWERED, 已接听),(NO_ANSWER, 未接),(BUSY, 占线),(POWER_OFF, 关机),(OUT_OF_SERVICE, 被叫停机),(REFUSED, 拒接),(VACANT_NUMBER, 空号),(CAN_NOT_CONNECT, 无法接通), (FROM_PHONE_ERROR, 主叫号码不可用),(SYSTEM_ERROR, 外呼失败)")
    private String resultStatus;

    @ApiModelProperty(value="intentLevel意向等级, (A, A级(较强)),(B, B级(一般)),(C, C级(无法判断)),(D, D级(很少)),(E, E级别(需要再次跟进)),(F, F级别(无需再次跟进))")
    private String intentLevel;

    @ApiModelProperty(value="customerConcern用户关注点")
    private String customerConcern;

    @ApiModelProperty(value="fullAudioUrl用户和AI合成的录音")
    private String fullAudioUrl;

    @ApiModelProperty(value="customerAudioUrl用户的录音")
    private String customerAudioUrl;

    @ApiModelProperty(value="analysisBasis意向分析判断依据")
    private String analysisBasis;

    @ApiModelProperty(value="startTime拨打开始时间")
    private Date startTime;

    @ApiModelProperty(value="endTime拨打结束时间")
    private Date endTime;

    @ApiModelProperty(value="chatDuration通话时长(单位秒)")
    private Integer chatDuration;

    @ApiModelProperty(value="chatRound通话轮次")
    private Integer chatRound;

    @ApiModelProperty(value="attributes用户属性")
    private String attributes;

    @ApiModelProperty(value="properties自定义字段")
    private String properties;

    @ApiModelProperty(value="intentLevelTagId自定义标签分组id")
    private Long intentLevelTagId;

    @ApiModelProperty(value="intentLevelCode自定义标签组code")
    private Integer intentLevelCode;

    @ApiModelProperty(value="createTime创建时间")
    private Date createTime;

    public Long getRecordId() {
        return recordId;
    }

    public void setRecordId(Long recordId) {
        this.recordId = recordId;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType == null ? null : dataType.trim();
    }

    public Long getCallRecordId() {
        return callRecordId;
    }

    public void setCallRecordId(Long callRecordId) {
        this.callRecordId = callRecordId;
    }

    public Long getTenantId() {
        return tenantId;
    }

    public void setTenantId(Long tenantId) {
        this.tenantId = tenantId;
    }

    public Long getDialogFlowId() {
        return dialogFlowId;
    }

    public void setDialogFlowId(Long dialogFlowId) {
        this.dialogFlowId = dialogFlowId;
    }

    public Long getRobotCallJobId() {
        return robotCallJobId;
    }

    public void setRobotCallJobId(Long robotCallJobId) {
        this.robotCallJobId = robotCallJobId;
    }

    public String getCalledPhoneNumber() {
        return calledPhoneNumber;
    }

    public void setCalledPhoneNumber(String calledPhoneNumber) {
        this.calledPhoneNumber = calledPhoneNumber == null ? null : calledPhoneNumber.trim();
    }

    public String getResultStatus() {
        return resultStatus;
    }

    public void setResultStatus(String resultStatus) {
        this.resultStatus = resultStatus == null ? null : resultStatus.trim();
    }

    public String getIntentLevel() {
        return intentLevel;
    }

    public void setIntentLevel(String intentLevel) {
        this.intentLevel = intentLevel == null ? null : intentLevel.trim();
    }

    public String getCustomerConcern() {
        return customerConcern;
    }

    public void setCustomerConcern(String customerConcern) {
        this.customerConcern = customerConcern == null ? null : customerConcern.trim();
    }

    public String getFullAudioUrl() {
        return fullAudioUrl;
    }

    public void setFullAudioUrl(String fullAudioUrl) {
        this.fullAudioUrl = fullAudioUrl == null ? null : fullAudioUrl.trim();
    }

    public String getCustomerAudioUrl() {
        return customerAudioUrl;
    }

    public void setCustomerAudioUrl(String customerAudioUrl) {
        this.customerAudioUrl = customerAudioUrl == null ? null : customerAudioUrl.trim();
    }

    public String getAnalysisBasis() {
        return analysisBasis;
    }

    public void setAnalysisBasis(String analysisBasis) {
        this.analysisBasis = analysisBasis == null ? null : analysisBasis.trim();
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getChatDuration() {
        return chatDuration;
    }

    public void setChatDuration(Integer chatDuration) {
        this.chatDuration = chatDuration;
    }

    public Integer getChatRound() {
        return chatRound;
    }

    public void setChatRound(Integer chatRound) {
        this.chatRound = chatRound;
    }

    public String getAttributes() {
        return attributes;
    }

    public void setAttributes(String attributes) {
        this.attributes = attributes == null ? null : attributes.trim();
    }

    public String getProperties() {
        return properties;
    }

    public void setProperties(String properties) {
        this.properties = properties == null ? null : properties.trim();
    }

    public Long getIntentLevelTagId() {
        return intentLevelTagId;
    }

    public void setIntentLevelTagId(Long intentLevelTagId) {
        this.intentLevelTagId = intentLevelTagId;
    }

    public Integer getIntentLevelCode() {
        return intentLevelCode;
    }

    public void setIntentLevelCode(Integer intentLevelCode) {
        this.intentLevelCode = intentLevelCode;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}