package com.ym.mec.biz.dal.dto;

import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.ym.mec.biz.dal.enums.KitPurchaseMethodEnum;
import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;

/**
 * @Author Joburgess
 * @Date 2019/9/19
 */
public class StudentManageBaseInfoOfMusicGroupDto {

    @ApiModelProperty(value = "userId",required = false)
    private Integer userId;

    @ApiModelProperty(value = "乐团ID",required = false)
    private String musicGroupId;

    @ApiModelProperty(value = "乐团名称",required = false)
    private String musicGroupName;

    @ApiModelProperty(value = "乐团状态（报名中、缴费中、筹备中、进行中、取消）",required = false)
    private MusicGroupStatusEnum musicGroupStatus;

    @ApiModelProperty(value = "用户所在乐团状态）",required = false)
    private ClassGroupStudentStatusEnum userMusicGroupStatus;

    @ApiModelProperty(value = "加入乐团时间",required = false)
    private Date joinMusicGroupDate;

    @ApiModelProperty(value = "退出乐团时间",required = false)
    private Date quitMusicGroupDate;

    @ApiModelProperty(value = "科目ID",required = false)
    private Integer subjectId;

    @ApiModelProperty(value = "科目名称",required = false)
    private String subjectName;

    @ApiModelProperty(value = "器材购买方式（团购、自备）",required = false)
    private KitPurchaseMethodEnum kitPurchaseMethod;

    @ApiModelProperty(value = "商品列表",required = false)
    private List<UserGoodsDto> userGoodsDtos;

    @ApiModelProperty(value = "价格",required = false)
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private BigDecimal depositFee;

    public List<UserGoodsDto> getUserGoodsDtos() {
        return userGoodsDtos;
    }

    public void setUserGoodsDtos(List<UserGoodsDto> userGoodsDtos) {
        this.userGoodsDtos = userGoodsDtos;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public ClassGroupStudentStatusEnum getUserMusicGroupStatus() {
        return userMusicGroupStatus;
    }

    public void setUserMusicGroupStatus(ClassGroupStudentStatusEnum userMusicGroupStatus) {
        this.userMusicGroupStatus = userMusicGroupStatus;
    }

    public BigDecimal getDepositFee() {
        return depositFee;
    }

    public void setDepositFee(BigDecimal depositFee) {
        this.depositFee = depositFee;
    }

    public String getMusicGroupId() {
        return musicGroupId;
    }

    public void setMusicGroupId(String musicGroupId) {
        this.musicGroupId = musicGroupId;
    }

    public String getMusicGroupName() {
        return musicGroupName;
    }

    public void setMusicGroupName(String musicGroupName) {
        this.musicGroupName = musicGroupName;
    }

    public MusicGroupStatusEnum getMusicGroupStatus() {
        return musicGroupStatus;
    }

    public void setMusicGroupStatus(MusicGroupStatusEnum musicGroupStatus) {
        this.musicGroupStatus = musicGroupStatus;
    }

    public Date getJoinMusicGroupDate() {
        return joinMusicGroupDate;
    }

    public void setJoinMusicGroupDate(Date joinMusicGroupDate) {
        this.joinMusicGroupDate = joinMusicGroupDate;
    }

    public Integer getSubjectId() {
        return subjectId;
    }

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

    public String getSubjectName() {
        return subjectName;
    }

    public void setSubjectName(String subjectName) {
        this.subjectName = subjectName;
    }

    public KitPurchaseMethodEnum getKitPurchaseMethod() {
        return kitPurchaseMethod;
    }

    public void setKitPurchaseMethod(KitPurchaseMethodEnum kitPurchaseMethod) {
        this.kitPurchaseMethod = kitPurchaseMethod;
    }

    public Date getQuitMusicGroupDate() {
        return quitMusicGroupDate;
    }

    public void setQuitMusicGroupDate(Date quitMusicGroupDate) {
        this.quitMusicGroupDate = quitMusicGroupDate;
    }
}
