/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.xrtygis.entity.callCenter;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;


/**
 * 通话记录(话单)坐席或分机之间呼叫只产生一条记录
 *
 * @author wangjieliu
 * @date Thu Jun 17 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "PLT_CALLLIST1000", resultMap = "pltCalllist1000Map")
@KeySequence("PLT_CALLLIST1000")
@ApiModel
public class PltCalllist1000 extends Model<PltCalllist1000> {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "id", type = IdType.INPUT)
    @ApiModelProperty(value = "")
    private Long id;
    /**
     * 流水号
     */
    @ApiModelProperty(value = "流水号")
    private String connectionid;
    /**
     * 类型 {1:呼入,2:呼出,3:内部呼叫}
     */
    @ApiModelProperty(value = "类型 {1:呼入,2:呼出,3:内部呼叫}")
    private Long callType;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String callTypeName ;
    /**
     * 被叫号码
     */
    @ApiModelProperty(value = "被叫号码")
    private String telephone;
    /**
     * 主叫号码
     */
    @ApiModelProperty(value = "主叫号码")
    private String sysphone;
    /**
     * 通道号
     */
    @ApiModelProperty(value = "通道号")
    private Long channel;
    /**
     * 呼叫时间
     */
    @ApiModelProperty(value = "呼叫时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date callTime;
    /**
     * 接通时间(计费开始时间)
     */
    @ApiModelProperty(value = "接通时间(计费开始时间)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date connectTime;
    /**
     * 排队开始时间
     */
    @ApiModelProperty(value = "排队开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date queueTime;
    /**
     * 获取到空闲坐席时间
     */
    @ApiModelProperty(value = "获取到空闲坐席时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date getfreeTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentFirstringTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentFirstconnectTime;
    /**
     * 挂机时间
     */
    @ApiModelProperty(value = "挂机时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date hangupTime;
    /**
     * 接通时长(秒)
     */
    @ApiModelProperty(value = "接通时长(秒)")
    private Long times;
    /**
     * 呼叫状态 {0:未呼叫,1:成功,2:无人接听,3:忙,4:空号,5:关机,6:停机,7:线路故障,8:网络错误
     * ,9:呼叫拒收,10:号码错误,11:硬件呼叫返回错误,12:其它情况,13:呼叫清除,
     * 21:坐席全忙,22:坐席无应答,23:坐席拒绝,24:坐席未登录,25:用户挂机}
     * 21-29:为呼入呼损
     */
//            @ApiModelProperty(value = "呼叫状态 {0:未呼叫,1:成功,2:无人接听,3:忙,4:空号,5:关机,6:停机,7:线路故障,8:网络错误
//,9:呼叫拒收,10:号码错误,11:硬件呼叫返回错误,12:其它情况,13:呼叫清除,
//21:坐席全忙,22:坐席无应答,23:坐席拒绝,24:坐席未登录,25:用户挂机}
//21-29:为呼入呼损")
    private Long callResult;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String callReasultName ;
    /**
     * 呼叫结果原因值
     */
    @ApiModelProperty(value = "呼叫结果原因值")
    private String causeValue;
    /**
     * 呼叫结果原因描述
     */
    @ApiModelProperty(value = "呼叫结果原因描述")
    private String causeDesc;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long transferResult;
    /**
     * 费用（分）
     */
    @ApiModelProperty(value = "费用（分）")
    private Long charge;
    /**
     * 录音文件
     */
    @ApiModelProperty(value = "录音文件")
    private String recordFile;
    /**
     * 录音服务器
     */
    @ApiModelProperty(value = "录音服务器")
    private String fileServer;
    /**
     * 转接次数
     */
    @ApiModelProperty(value = "转接次数")
    private Long transferCount;
    /**
     * 转接成功次数
     */
    @ApiModelProperty(value = "转接成功次数")
    private Long transferSuccess;
    /**
     * 省
     */
    @ApiModelProperty(value = "省")
    private String province;
    /**
     * 市
     */
    @ApiModelProperty(value = "市")
    private String city;
    /**
     * 区
     */
    @ApiModelProperty(value = "区")
    private String district;
    /**
     * 呼损服务员工id
     */
    @ApiModelProperty(value = "呼损服务员工id")
    private String empcode;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String empName;
    /**
     * 呼损服务员工部门id
     */
    @ApiModelProperty(value = "呼损服务员工部门id")
    private String deptid;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String deptName;
    /**
     * 原因
     */
    @ApiModelProperty(value = "原因")
    private String reason;
    /**
     * 转接技能组CODE
     */
    @ApiModelProperty(value = "转接技能组CODE")
    private String groupCode;
    /**
     * 用户转接按键值
     */
    @ApiModelProperty(value = "用户转接按键值")
    private String pressKey;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String pressKeyName;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date pressKeyTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long businessid;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String businessname;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Long hangupflag;

    /**
     * 满意度名称
     */
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String satisfactionName;

    /**
     * 是否已评分
     */
    @ApiModelProperty(value = "是否评分；1：已评分")
    private String isGrade;


}
