
package cn.novalon.gym.manage.groupcourse.entity;

import cn.novalon.gym.manage.db.entity.BaseEntity;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

import java.time.LocalDateTime;

@Table("group_course")
public class GroupCourseEntity extends BaseEntity {

    //课程名称
    @Column("course_name")
    private String courseName;

    //教练id
    @Column("coach_id")
    private Long coachId;

    //课程类型
    @Column("course_type")
    private Long courseType;

    //开始时间
    @Column("start_time")
    private LocalDateTime startTime;

    //结束时间
    @Column("end_time")
    private LocalDateTime endTime;

    //最大参与人数
    @Column("max_members")
    private Integer maxMembers;

    //当前参与人数
    @Column("current_members")
    private Integer currentMembers;

    //课程状态：0-正常，1-已取消，2-已结束
    @Column("status")
    private Long status;

    //上课地点
    @Column("location")
    private String location;

    //封面图URL
    @Column("cover_image")
    private String coverImage;

    //课程描述
    @Column("description")
    private String description;

    //点卡额度（消耗次数）
    @Column("point_card_amount")
    private Integer pointCardAmount;

    //储值卡额度（消耗金额）
    @Column("stored_value_amount")
    private java.math.BigDecimal storedValueAmount;

    //二维码路径
    @Column("qr_code_path")
    private String qrCodePath;

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public Long getCoachId() {
        return coachId;
    }

    public void setCoachId(Long coachId) {
        this.coachId = coachId;
    }

    public Long getCourseType() {
        return courseType;
    }

    public void setCourseType(Long courseType) {
        this.courseType = courseType;
    }

    public LocalDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDateTime startTime) {
        this.startTime = startTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public Integer getMaxMembers() {
        return maxMembers;
    }

    public void setMaxMembers(Integer maxMembers) {
        this.maxMembers = maxMembers;
    }

    public Integer getCurrentMembers() {
        return currentMembers;
    }

    public void setCurrentMembers(Integer currentMembers) {
        this.currentMembers = currentMembers;
    }

    public Long getStatus() {
        return status;
    }

    public void setStatus(Long status) {
        this.status = status;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getCoverImage() {
        return coverImage;
    }

    public void setCoverImage(String coverImage) {
        this.coverImage = coverImage;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getPointCardAmount() {
        return pointCardAmount;
    }

    public void setPointCardAmount(Integer pointCardAmount) {
        this.pointCardAmount = pointCardAmount;
    }

    public java.math.BigDecimal getStoredValueAmount() {
        return storedValueAmount;
    }

    public void setStoredValueAmount(java.math.BigDecimal storedValueAmount) {
        this.storedValueAmount = storedValueAmount;
    }

    public String getQrCodePath() {
        return qrCodePath;
    }

    public void setQrCodePath(String qrCodePath) {
        this.qrCodePath = qrCodePath;
    }
}
