package com.viettel.campaign.model.ccms_full;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "CONTACT_CUST_RESULT")
@Getter
@Setter
public class ContactCustResult implements Serializable {
    @Id
    @NotNull
    @GeneratedValue(generator = "CONTACT_CUST_RESULT_SEQ")
    @SequenceGenerator(name = "CONTACT_CUST_RESULT_SEQ", sequenceName = "CONTACT_CUST_RESULT_SEQ", allocationSize = 1)
    @Basic(optional = false)
    @Column(name = "CONTACT_CUST_RESULT_ID")
    private Long contactCustResultId;
    @Column(name = "COMPANY_SITE_ID")
    private Long companySiteId;
    @Column(name = "CALL_STATUS")
    private Short callStatus;
    @Column(name = "CONTACT_STATUS")
    @NotNull
    private Short contactStatus;
    @Column(name = "STATUS")
    private Short status;
    @Column(name = "SATISFACTION")
    private Integer satisfaction;
    @Column(name = "DESCRIPTION")
    private String description;
    @Column(name = "CREATE_TIME")
    @NotNull
    private Date createTime;
    @Column(name = "AGENT_ID")
    private Long agentId;
    @Column(name = "UPDATE_TIME")
    private Date updateTime;
    @Column(name = "UPDATE_BY")
    private Long updateBy;
    @Column(name = "CAMPAIGN_ID")
    @NotNull
    private Long campaignId;
    @Column(name = "OLD_CONTACT_CUST_RESULT_ID")
    private Long oldContactCustResultId;
    @Column(name = "CUSTOMER_ID")
    @NotNull
    private Long customerId;
    @Column(name = "DURATION_CALL")
    private Long durationCall;
    @Column(name = "START_CALL")
    private Date startCall;
    @Column(name = "RECEIVE_CUST_LOG_ID")
    @NotNull
    private Long receiveCustLogId;
    @Column(name = "IPCC_CALL_STATUS")
    private Short ipccCallStatus;
    @Column(name = "CALL_ID")
    private String callId;
    @Column(name = "PHONE_NUMBER")
    @NotNull
    private String phoneNumber;
    @Column(name = "RECEIVE_TIME")
    @NotNull
    private Date receiveTime;
    @Column(name = "PRE_END_TIME")
    private Date preEndTime;
    @Column(name = "URL_CALL")
    private String urlCall;
    @Column(name = "TRANSACTION_ID")
    private String transactionId;
    @Column(name = "RECALL_TIME")
    private Date recallTime;
    @Column(name = "IS_FINAL_RECALL")
    private Short isFinalRecall;
    @Column(name = "IS_SEND_EMAIL")
    private Short isSendEmail = 0;
    @Column(name = "SALED_ON_TPIN")
    private Long saledOnTpin;
    @Column(name = "END_TIME")
    private Date endTime;
    @Column(name = "WAIT_TIME")
    private Long waitTime;
    @Column(name = "DIAL_MODE")
    private String dialMode;
    @Column(name = "WRAPUP_TIME")
    private Long wrapupTime;
    @Column(name = "TIME_MAKE_CALL")
    private Long timeMakeCall = 0L;
    @Column(name = "TIME_RECEIVE_CUST")
    private Long timeReceiveCust = 0L;
}
