package com.pcloud.book.copyright.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @author lily
 * @date 2018/12/4 11:50
 */
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BookAuthInfoAndServesVO implements Serializable {

    @ApiModelProperty("图书授权信息标识")
    private Long id;

    @ApiModelProperty("图书标识")
    private Long bookId;

    @ApiModelProperty("运营标识")
    private Long channelId;

    @ApiModelProperty("编辑标识")
    private Long adviserId;

    @ApiModelProperty("价格")
    private BigDecimal price;

    @ApiModelProperty("编码可使用次数")
    private Integer codeUseCount;

    @ApiModelProperty("购买链接地址")
    private String buyUrl;

    @ApiModelProperty("图书状态")
    private Integer bookStatus;

    @ApiModelProperty("验证类型")
    private Integer checkType;

    @ApiModelProperty("位置描述")
    private String locationDesc;

    @ApiModelProperty("服务")
    private List<ServeVO> serves;

    @ApiModelProperty("是否有使用过的授权码")
    private Boolean haveUsedAuthCode;

    @ApiModelProperty("授权后仍需付费")
    private Integer isAuthorizedPay;

    @ApiModelProperty("打开支付功能；0：关闭；1：开启；")
    private Integer openPay;

    public Long getId() {
        return id;
    }

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

    public Long getBookId() {
        return bookId;
    }

    public void setBookId(Long bookId) {
        this.bookId = bookId;
    }

    public Long getChannelId() {
        return channelId;
    }

    public void setChannelId(Long channelId) {
        this.channelId = channelId;
    }

    public Long getAdviserId() {
        return adviserId;
    }

    public void setAdviserId(Long adviserId) {
        this.adviserId = adviserId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getCodeUseCount() {
        return codeUseCount;
    }

    public void setCodeUseCount(Integer codeUseCount) {
        this.codeUseCount = codeUseCount;
    }

    public String getBuyUrl() {
        return buyUrl;
    }

    public void setBuyUrl(String buyUrl) {
        this.buyUrl = buyUrl;
    }

    public Integer getBookStatus() {
        return bookStatus;
    }

    public void setBookStatus(Integer bookStatus) {
        this.bookStatus = bookStatus;
    }

    public Integer getCheckType() {
        return checkType;
    }

    public void setCheckType(Integer checkType) {
        this.checkType = checkType;
    }

    public String getLocationDesc() {
        return locationDesc;
    }

    public void setLocationDesc(String locationDesc) {
        this.locationDesc = locationDesc;
    }

    public List<ServeVO> getServes() {
        return serves;
    }

    public void setServes(List<ServeVO> serves) {
        this.serves = serves;
    }

    public Boolean getHaveUsedAuthCode() {
        return haveUsedAuthCode;
    }

    public void setHaveUsedAuthCode(Boolean haveUsedAuthCode) {
        this.haveUsedAuthCode = haveUsedAuthCode;
    }

    public Integer getIsAuthorizedPay() {
        return isAuthorizedPay;
    }

    public void setIsAuthorizedPay(Integer isAuthorizedPay) {
        this.isAuthorizedPay = isAuthorizedPay;
    }

    public Integer getOpenPay() {
        return openPay;
    }

    public void setOpenPay(Integer openPay) {
        this.openPay = openPay;
    }

    @Override
    public String toString() {
        return "BookAuthInfoAndServesVO{" +
                "id=" + id +
                ", bookId=" + bookId +
                ", channelId=" + channelId +
                ", adviserId=" + adviserId +
                ", price=" + price +
                ", codeUseCount=" + codeUseCount +
                ", buyUrl='" + buyUrl + '\'' +
                ", bookStatus=" + bookStatus +
                ", checkType=" + checkType +
                ", locationDesc='" + locationDesc + '\'' +
                ", serves=" + serves +
                ", haveUsedAuthCode=" + haveUsedAuthCode +
                '}';
    }
}
