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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
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.math.BigDecimal;
import java.util.Date;


/**
 * 转接记录表1、保存呼入的转接全过程2、保存呼出的转接全过程3、预拨号数据不记录
 *
 * @author wangjieliu
 * @date Fri Jun 18 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "PLT_SERVICE_LIST1000", resultMap = "serviceList1000Map")
@KeySequence("PLT_SERVICE_LIST1000")
@ApiModel
public class ServiceList1000 extends Model<ServiceList1000> {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "")
    private BigDecimal id;
    /**
     * 2：任务营销预拨号，3：客户营销预拨号
     */
    @ApiModelProperty(value = "2：任务营销预拨号，3：客户营销预拨号")
    private String taskcalltype;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private String serviceconnectionid;
    /**
     * 话单流水号
     */
    @ApiModelProperty(value = "话单流水号")
    private String connectionid;
    /**
     * 客户ID
     */
    @ApiModelProperty(value = "客户ID")
    private String cusid;
    /**
     * 用户号码
     */
    @ApiModelProperty(value = "用户号码")
    private String telephone;
    /**
     * 系统号码
     */
    @ApiModelProperty(value = "系统号码")
    private String sysphone;
    /**
     * 呼叫类型{1:呼入,2:呼出}
     */
    @ApiModelProperty(value = "呼叫类型{1:呼入,2:呼出}")
    private Long callType;
    /**
     * 服务类型{1:转坐席,2:转外线,3：转分机}
     */
    @ApiModelProperty(value = "服务类型{1:转坐席,2:转外线,3：转分机}")
    private Long serviceType;
    /**
     * 呼叫时间（坐席振铃开始时间或外线呼叫时间）
     */
    @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 hangupTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentCallTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentAnswerTime;
    /**
     * 坐席话后处理时间
     */
    @ApiModelProperty(value = "坐席话后处理时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentEndProcessTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date agentHangupTime;
    /**
     * 通话时长(秒)
     */
    @ApiModelProperty(value = "通话时长(秒)")
    private Long times;
    /**
     * 呼叫结果{0：未呼叫，1：接通，2:无应答，3：用户忙，4：空关停，5：其它错误，99：外呼中}
     */
    @ApiModelProperty(value = "呼叫结果{0：未呼叫，1：接通，2:无应答，3：用户忙，4：空关停，5：其它错误，99：外呼中}")
    private Long callResult;
    /**
     * 转坐席结果{1:接通，2:坐席忙,3:无应答,4:坐席拒绝，5：坐席未登录，6：振铃中挂机，7：转接中挂机
     * 8：未转坐席挂机、9:其它错误}
     * 6  振铃中挂机：用户转人工且对空闲坐席振铃中用户主动挂机；
     * 7 转接中挂机：用户按人工键后，已获取到空闲坐席并转接，但未及振铃而产生的用户主动挂机；
     */
//    @ApiModelProperty(value = "转坐席结果{1:接通，2:坐席忙,3:无应答,4:坐席拒绝，5：坐席未登录，6：振铃中挂机，7：转接中挂机
//            8：未转坐席挂机、9:其它错误 }
//            6振铃中挂机：用户转人工且对空闲坐席振铃中用户主动挂机；
//                    7转接中挂机：用户按人工键后，已获取到空闲坐席并转接，但未及振铃而产生的用户主动挂机；
//                    ")
    private Long transferResult;
    /**
     * 呼叫结果{2:无应答，3：用户忙，4：空关停，5：其它错误，99：外呼中}
     */
    @ApiModelProperty(value = "呼叫结果{2:无应答，3：用户忙，4：空关停，5：其它错误，99：外呼中}")
    private Long callFailresult;
    /**
     * 呼叫结果原因值
     */
    @ApiModelProperty(value = "呼叫结果原因值")
    private String causeValue;
    /**
     * 呼叫结果原因描述
     */
    @ApiModelProperty(value = "呼叫结果原因描述")
    private String causeDesc;
    /**
     * 转接部门编号
     */
    @ApiModelProperty(value = "转接部门编号")
    private String deptid;
    /**
     * 转接工号
     */
    @ApiModelProperty(value = "转接工号")
    private String empcode;
    /**
     * 转接外线号码
     */
    @ApiModelProperty(value = "转接外线号码")
    private String transferNo;
    /**
     * 录音文件
     */
    @ApiModelProperty(value = "录音文件")
    private String recordFile;
    /**
     * 工单、订单的唯一识别标识--来源于busi_project_form_scheme表
     */
    @ApiModelProperty(value = "工单、订单的唯一识别标识--来源于busi_project_form_scheme表")
    private String datacode;
    /**
     * 工单、订单的ID
     */
    @ApiModelProperty(value = "工单、订单的ID")
    private String dataid;
    /**
     * 任务ID
     */
    @ApiModelProperty(value = "任务ID")
    private String taskid;
    /**
     * 任务数据ID
     */
    @ApiModelProperty(value = "任务数据ID")
    private String taskdataid;
    /**
     * 挂机标志：1-坐席挂机 2-客户挂机
     */
    @ApiModelProperty(value = "挂机标志：1-坐席挂机 2-客户挂机")
    private Long hangupflag;
    /**
     * 失败原因
     */
    @ApiModelProperty(value = "失败原因")
    private String reason;
    /**
     * 主叫呼出标志
     */
    @ApiModelProperty(value = "主叫呼出标志")
    private String callerFlag;
    /**
     * 主叫工号
     */
    @ApiModelProperty(value = "主叫工号")
    private String callerCode;
    /**
     * 满意度按键值
     */
    @ApiModelProperty(value = "满意度按键值")
    private String satisfactionScore;
    /**
     * HTTP接口数据查询ID
     */
    @ApiModelProperty(value = "HTTP接口数据查询ID")
    private String queryid;

}
