package com.tax.file.model;

import java.io.Serializable;

/**
 * tk_user_url
 * @author 
 */
public class TkUserUrl implements Serializable {
    private Integer id;

    /**
     * 客户端调用的accessKeyID
     */
    private String accessKeyId;

    /**
     * 传输给异步采集的用户名
     */
    private String username;

    /**
     *  异步采集请求URL
     */
    private String requestUrl;

    private String functionNo;


    private static final long serialVersionUID = 1L;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getAccessKeyId() {
        return accessKeyId;
    }

    public void setAccessKeyId(String accessKeyId) {
        this.accessKeyId = accessKeyId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }

    public String getFunctionNo() {
        return functionNo;
    }

    public void setFunctionNo(String functionNo) {
        this.functionNo = functionNo;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        TkUserUrl other = (TkUserUrl) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getAccessKeyId() == null ? other.getAccessKeyId() == null : this.getAccessKeyId().equals(other.getAccessKeyId()))
            && (this.getUsername() == null ? other.getUsername() == null : this.getUsername().equals(other.getUsername()))
            && (this.getRequestUrl() == null ? other.getRequestUrl() == null : this.getRequestUrl().equals(other.getRequestUrl()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getAccessKeyId() == null) ? 0 : getAccessKeyId().hashCode());
        result = prime * result + ((getUsername() == null) ? 0 : getUsername().hashCode());
        result = prime * result + ((getRequestUrl() == null) ? 0 : getRequestUrl().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", accessKeyId=").append(accessKeyId);
        sb.append(", username=").append(username);
        sb.append(", requestUrl=").append(requestUrl);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }

    //功能列表
    public static final String FUNCTION_NO_INVOICE_DOWNLOAD = "01";//发票下载
    public static final String FUNCTION_NO_INVOICE_COLLECT = "02";//发票采集
    public static final String FUNCTION_NO_INVOICE_NUMBER_COLLECT = "03";//发票数字采集
    public static final String FUNCTION_NO_INVOICE_TOKEN = "04";//发票token检测
    public static final String FUNCTION_NO_CLOUD_INVOICE_COLLECT = "05";//发票云发票采集
    public static final String FUNCTION_NO_CLOUD_INVOICE_NUMBER_COLLECT = "06";//发票云发票数字采集
    public static final String FUNCTION_NO_CLOUD_INVOICE_REAL_COLLECT = "07";//发票云实时服务
    public static final String FUNCTION_NO_INVOICE_DOWNLOAD_DATE = "20";//发票下载采集日期

}