package com.jianshui.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jianshui.common.annotation.Excel;
import com.jianshui.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 服务管理对象 service_manage
 * 
 * @author Gong Quanlin
 * @date 2022-03-27
 */
public class ServiceManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 企业ID */
    private Long companyId;

    /** 服务类型 */
    private String serviceKey;

    /** 服务状态 */
    @Excel(name = "服务状态")
    private Integer state;

    /** 请求报文类型 */
    @Excel(name = "请求报文类型")
    private String requestMessageKey;

    /** 返回报文类型 字典key */
    @Excel(name = "返回报文类型 字典key")
    private String responseMessageKey;

    /** 服务模式 */
    @Excel(name = "服务模式")
    private String serviceMode;

    /** 服务公司 字典key service_manage_service_suppliers */
    @Excel(name = "服务公司 字典key service_manage_service_suppliers")
    private String serviceSupplierKey;

    /** 服务过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "服务过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expireTime;

    /** 剩余次数 */
    @Excel(name = "剩余次数")
    private Long surplus;

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

    public Long getId() 
    {
        return id;
    }
    public void setCompanyId(Long companyId) 
    {
        this.companyId = companyId;
    }

    public Long getCompanyId() 
    {
        return companyId;
    }
    public void setServiceKey(String serviceKey) 
    {
        this.serviceKey = serviceKey;
    }

    public String getServiceKey() 
    {
        return serviceKey;
    }
    public void setState(Integer state) 
    {
        this.state = state;
    }

    public Integer getState() 
    {
        return state;
    }
    public void setRequestMessageKey(String requestMessageKey) 
    {
        this.requestMessageKey = requestMessageKey;
    }

    public String getRequestMessageKey() 
    {
        return requestMessageKey;
    }
    public void setResponseMessageKey(String responseMessageKey) 
    {
        this.responseMessageKey = responseMessageKey;
    }

    public String getResponseMessageKey() 
    {
        return responseMessageKey;
    }
    public void setServiceMode(String serviceMode) 
    {
        this.serviceMode = serviceMode;
    }

    public String getServiceMode() 
    {
        return serviceMode;
    }
    public void setServiceSupplierKey(String serviceSupplierKey) 
    {
        this.serviceSupplierKey = serviceSupplierKey;
    }

    public String getServiceSupplierKey() 
    {
        return serviceSupplierKey;
    }
    public void setExpireTime(Date expireTime) 
    {
        this.expireTime = expireTime;
    }

    public Date getExpireTime() 
    {
        return expireTime;
    }
    public void setSurplus(Long surplus) 
    {
        this.surplus = surplus;
    }

    public Long getSurplus() 
    {
        return surplus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("companyId", getCompanyId())
            .append("serviceKey", getServiceKey())
            .append("state", getState())
            .append("requestMessageKey", getRequestMessageKey())
            .append("responseMessageKey", getResponseMessageKey())
            .append("serviceMode", getServiceMode())
            .append("serviceSupplierKey", getServiceSupplierKey())
            .append("expireTime", getExpireTime())
            .append("surplus", getSurplus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
