package com.yonge.cooleshow.biz.dal.vo;

import com.yonge.cooleshow.biz.dal.enums.OrderStatusEnum;
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
import com.yonge.toolset.base.page.PageInfo;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * Description 专辑详情展示信息
 *
 * @author: liujunchi
 * @date: 2022-03-31
 */
public class AlbumDetailVo {

    @ApiModelProperty(value = "主键id")
    private Long id;

    @ApiModelProperty(value = "专辑名称")
    private String albumName;

    @ApiModelProperty("专辑封面图片URL")
    private String albumCoverUrl;

    @ApiModelProperty("专辑简介")
    private String albumDesc;

    @ApiModelProperty("收藏0：否，1：是")
    private YesOrNoEnum favorite;

    @ApiModelProperty("专辑详情曲目")
    private PageInfo<MusicSheetVo> musicSheetList;

    @ApiModelProperty(value = "专辑标签(多个标签以逗号分开)",required = true)
    private String albumTag;  //专辑标签(多个标签以逗号分开)

    @ApiModelProperty("教材标签")
    private String musicTagNames;

    @ApiModelProperty("专辑声部id")
    private String subjectId;

    @ApiModelProperty("声部")
    private String subjectNames;

    @ApiModelProperty("曲目数量")
    private Integer musicSheetCount;

    @ApiModelProperty("收藏数量")
    private Integer albumFavoriteCount;

    @ApiModelProperty("热门专辑")
    private List<MusicAlbumVo> hotMusicAlbum;

    @ApiModelProperty("相关专辑")
    private List<MusicAlbumVo> relatedMusicAlbum;

    @ApiModelProperty("专辑价格 ")
    private Double albumPrice;

    @ApiModelProperty("专辑价格 ")
    private String paymentType;

    @ApiModelProperty("专辑曲目付费方式")
    private List<String> musicPaymentTypes;


    @ApiModelProperty("订单状态(WAIT_PAY:待支付;PAYING:支付中,PAID:已付款)")
    private OrderStatusEnum orderStatus;

    @ApiModelProperty("支付订单号")
    private String orderNo;

    public OrderStatusEnum getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(OrderStatusEnum orderStatus) {
        this.orderStatus = orderStatus;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(String subjectId) {
        this.subjectId = subjectId;
    }

    public String getSubjectNames() {
        return subjectNames;
    }

    public void setSubjectNames(String subjectNames) {
        this.subjectNames = subjectNames;
    }

    public List<MusicAlbumVo> getHotMusicAlbum() {
        return hotMusicAlbum;
    }

    public void setHotMusicAlbum(List<MusicAlbumVo> hotMusicAlbum) {
        this.hotMusicAlbum = hotMusicAlbum;
    }

    public List<MusicAlbumVo> getRelatedMusicAlbum() {
        return relatedMusicAlbum;
    }

    public void setRelatedMusicAlbum(List<MusicAlbumVo> relatedMusicAlbum) {
        this.relatedMusicAlbum = relatedMusicAlbum;
    }

    public Integer getMusicSheetCount() {
        return musicSheetCount;
    }

    public void setMusicSheetCount(Integer musicSheetCount) {
        this.musicSheetCount = musicSheetCount;
    }

    public Integer getAlbumFavoriteCount() {
        return albumFavoriteCount;
    }

    public void setAlbumFavoriteCount(Integer albumFavoriteCount) {
        this.albumFavoriteCount = albumFavoriteCount;
    }

    public YesOrNoEnum getAlbumStatue() {
        return albumStatue;
    }

    public void setAlbumStatue(YesOrNoEnum albumStatue) {
        this.albumStatue = albumStatue;
    }

    @ApiModelProperty("专辑状态 0：停用1：启用")
    private YesOrNoEnum albumStatue;

    public String getAlbumTag() {
        return albumTag;
    }

    public void setAlbumTag(String albumTag) {
        this.albumTag = albumTag;
    }

    public String getMusicTagNames() {
        return musicTagNames;
    }

    public void setMusicTagNames(String musicTagNames) {
        this.musicTagNames = musicTagNames;
    }

    public Long getId() {
        return id;
    }

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

    public String getAlbumName() {
        return albumName;
    }

    public void setAlbumName(String albumName) {
        this.albumName = albumName;
    }

    public PageInfo<MusicSheetVo> getMusicSheetList() {
        return musicSheetList;
    }

    public void setMusicSheetList(PageInfo<MusicSheetVo> musicSheetList) {
        this.musicSheetList = musicSheetList;
    }

    public String getAlbumDesc() {
        return albumDesc;
    }

    public void setAlbumDesc(String albumDesc) {
        this.albumDesc = albumDesc;
    }

    public String getAlbumCoverUrl() {
        return albumCoverUrl;
    }

    public void setAlbumCoverUrl(String albumCoverUrl) {
        this.albumCoverUrl = albumCoverUrl;
    }

    public YesOrNoEnum getFavorite() {
        return favorite;
    }

    public void setFavorite(YesOrNoEnum favorite) {
        this.favorite = favorite;
    }

    public Double getAlbumPrice() {
        return albumPrice;
    }

    public void setAlbumPrice(Double albumPrice) {
        this.albumPrice = albumPrice;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public List<String> getMusicPaymentTypes() {
        return musicPaymentTypes;
    }

    public void setMusicPaymentTypes(List<String> musicPaymentTypes) {
        this.musicPaymentTypes = musicPaymentTypes;
    }
}
