package com.wisedu.mooc.app.log.bo;

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

/**
 * LogStudy entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "log_user_visit")
public class LogUserVisit implements java.io.Serializable {

    // Fields

    private String logId;
    private Long schoolId;
    private Long coeusUserId;
    private String visitKey;
    private String visitSession;
    private Date visitDate;
    private Long visitTime;
    private Integer visitYear;
    private Integer visitMonth;
    private Integer visitDay;
    private String ipAddress;
    private String country;
    private String province;
    private String city;
    private String userAgent;
    private String osName;
    private String osVer;
    private String displaySize;
    private String displayColor;
    private String browserName;
    private String browserVer;
    private String cookieSupported;
    private String jsSupported;
    private String flashSupported;
    private String flashVer;
    private String lang;
    private String refererUrl;
    private String visitUrl;
    private Integer visitDuration;
    private String lastPosId;
    private Integer visitPosCount;

    @Transient
    private String useTime;

    // Constructors

    /**
     * default constructor
     */
    public LogUserVisit() {
    }

    /**
     * minimal constructor
     */
    public LogUserVisit(String logId) {
        this.logId = logId;
    }

    /**
     * full constructor
     */
    public LogUserVisit(String logId, Long coeusUserId, String visitKey, String visitSession, Date visitDate,
                        Long visitTime, Integer visitYear, Integer visitMonth,
                        Integer visitDay, String ipAddress, String country,
                        String province, String city, String userAgent, String osName, String osVer,
                        String displaySize, String displayColor, String browserName,
                        String browserVer, String cookieSupported, String jsSupported,
                        String flashSupported, String flashVer, String lang,
                        String refererUrl, String visitUrl, Integer visitDuration, String lastPosId, Integer visitPosCount) {
        this.logId = logId;
        this.coeusUserId = coeusUserId;
        this.visitKey = visitKey;
        this.visitSession = visitSession;
        this.visitDate = visitDate;
        this.visitTime = visitTime;
        this.visitYear = visitYear;
        this.visitMonth = visitMonth;
        this.visitDay = visitDay;
        this.ipAddress = ipAddress;
        this.country = country;
        this.province = province;
        this.city = city;
        this.userAgent = userAgent;
        this.osName = osName;
        this.osVer = osVer;
        this.displaySize = displaySize;
        this.displayColor = displayColor;
        this.browserName = browserName;
        this.browserVer = browserVer;
        this.cookieSupported = cookieSupported;
        this.jsSupported = jsSupported;
        this.flashSupported = flashSupported;
        this.flashVer = flashVer;
        this.lang = lang;
        this.refererUrl = refererUrl;
        this.visitUrl = visitUrl;
        this.visitDuration = visitDuration;
        this.lastPosId = lastPosId;
        this.visitPosCount = visitPosCount;
    }

    // Property accessors
    @Id
    @Column(name = "log_id", unique = true, nullable = false, length = 64)
    public String getLogId() {
        return this.logId;
    }

    public void setLogId(String logId) {
        this.logId = logId;
    }

    @Column(name = "school_id")
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    @Column(name = "coeus_user_id")
    public Long getCoeusUserId() {
        return this.coeusUserId;
    }

    public void setCoeusUserId(Long coeusUserId) {
        this.coeusUserId = coeusUserId;
    }

    @Column(name = "visit_key", length = 128)
    public String getVisitKey() {
        return this.visitKey;
    }

    public void setVisitKey(String visitKey) {
        this.visitKey = visitKey;
    }

    @Column(name = "visit_session", length = 128)
    public String getVisitSession() {
        return this.visitSession;
    }

    public void setVisitSession(String visitSession) {
        this.visitSession = visitSession;
    }

    @Column(name = "visit_date", length = 19)
    public Date getVisitDate() {
        return this.visitDate;
    }

    public void setVisitDate(Date visitDate) {
        this.visitDate = visitDate;
    }

    @Column(name = "visit_time")
    public Long getVisitTime() {
        return this.visitTime;
    }

    public void setVisitTime(Long visitTime) {
        this.visitTime = visitTime;
    }

    @Column(name = "visit_year")
    public Integer getVisitYear() {
        return this.visitYear;
    }

    public void setVisitYear(Integer visitYear) {
        this.visitYear = visitYear;
    }

    @Column(name = "visit_month")
    public Integer getVisitMonth() {
        return this.visitMonth;
    }

    public void setVisitMonth(Integer visitMonth) {
        this.visitMonth = visitMonth;
    }

    @Column(name = "visit_day")
    public Integer getVisitDay() {
        return this.visitDay;
    }

    public void setVisitDay(Integer visitDay) {
        this.visitDay = visitDay;
    }

    @Column(name = "ip_address", length = 32)
    public String getIpAddress() {
        return this.ipAddress;
    }

    public void setIpAddress(String ipAddress) {
        this.ipAddress = ipAddress;
    }

    @Column(name = "country", length = 128)
    public String getCountry() {
        return this.country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    @Column(name = "province", length = 128)
    public String getProvince() {
        return this.province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    @Column(name = "city", length = 128)
    public String getCity() {
        return this.city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    @Column(name = "user_agent", length = 16)
    public String getUserAgent() {
        return this.userAgent;
    }

    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

    @Column(name = "os_name", length = 16)
    public String getOsName() {
        return this.osName;
    }

    public void setOsName(String osName) {
        this.osName = osName;
    }

    @Column(name = "os_ver", length = 16)
    public String getOsVer() {
        return this.osVer;
    }

    public void setOsVer(String osVer) {
        this.osVer = osVer;
    }

    @Column(name = "display_size", length = 16)
    public String getDisplaySize() {
        return this.displaySize;
    }

    public void setDisplaySize(String displaySize) {
        this.displaySize = displaySize;
    }

    @Column(name = "display_color", length = 16)
    public String getDisplayColor() {
        return this.displayColor;
    }

    public void setDisplayColor(String displayColor) {
        this.displayColor = displayColor;
    }

    @Column(name = "browser_name", length = 16)
    public String getBrowserName() {
        return this.browserName;
    }

    public void setBrowserName(String browserName) {
        this.browserName = browserName;
    }

    @Column(name = "browser_ver", length = 16)
    public String getBrowserVer() {
        return this.browserVer;
    }

    public void setBrowserVer(String browserVer) {
        this.browserVer = browserVer;
    }

    @Column(name = "cookie_supported", length = 16)
    public String getCookieSupported() {
        return this.cookieSupported;
    }

    public void setCookieSupported(String cookieSupported) {
        this.cookieSupported = cookieSupported;
    }

    @Column(name = "js_supported", length = 16)
    public String getJsSupported() {
        return this.jsSupported;
    }

    public void setJsSupported(String jsSupported) {
        this.jsSupported = jsSupported;
    }

    @Column(name = "flash_supported", length = 16)
    public String getFlashSupported() {
        return this.flashSupported;
    }

    public void setFlashSupported(String flashSupported) {
        this.flashSupported = flashSupported;
    }

    @Column(name = "flash_ver", length = 16)
    public String getFlashVer() {
        return this.flashVer;
    }

    public void setFlashVer(String flashVer) {
        this.flashVer = flashVer;
    }

    @Column(name = "lang", length = 32)
    public String getLang() {
        return this.lang;
    }

    public void setLang(String lang) {
        this.lang = lang;
    }

    @Column(name = "referer_url", length = 2048)
    public String getRefererUrl() {
        return this.refererUrl;
    }

    public void setRefererUrl(String refererUrl) {
        this.refererUrl = refererUrl;
    }

    @Column(name = "visit_url", length = 2048)
    public String getVisitUrl() {
        return this.visitUrl;
    }

    public void setVisitUrl(String visitUrl) {
        this.visitUrl = visitUrl;
    }

    @Column(name = "visit_duration")
    public Integer getVisitDuration() {
        return this.visitDuration;
    }

    public void setVisitDuration(Integer visitDuration) {
        this.visitDuration = visitDuration;
    }

    @Column(name = "last_pos_id", length = 64)
    public String getLastPosId() {
        return this.lastPosId;
    }

    public void setLastPosId(String lastPosId) {
        this.lastPosId = lastPosId;
    }

    @Column(name = "visit_pos_count")
    public Integer getVisitPosCount() {
        return this.visitPosCount;
    }

    public void setVisitPosCount(Integer visitPosCount) {
        this.visitPosCount = visitPosCount;
    }


    @Transient
    public String getUseTime() {
        return useTime;
    }

    @Transient
    public void setUseTime(String useTime) {
        this.useTime = useTime;
    }
}