package org.jeecg.modules.app.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@Schema(description="课程详情返回VO")
public class CourseInfoVO {
    @Schema(description = "id")
    private String id;
    @Schema(hidden = true)
    private String siteId;
    @Schema(description = "产品名称")
    private String name;
    @Schema(description = "费用类型;0 精品 1免费 仅课程")
    private Integer priceType;
    @Schema(description = "原价")
    private BigDecimal originalPrice;
    private String categoryId;
    @Schema(description = "是否有优惠")
    private Boolean hasDiscount;
    @Schema(description = "售价")
    private BigDecimal sellingPrice;
    @Schema(description = "封面")
    private String cover;
    @Schema(description = "视频")
    private String video;
    @Schema(description = "上课场地")
    private String address;
    @Schema(description = "KM")
    private double km;
    @Schema(description = "年销售")
    private Integer sales;
    @Schema(description = "开始时间")
    private Date startTime;
    @Schema(description = "结束时间")
    private Date endTime;
    @Schema(description = "课时")
    private Integer classHour;
    @Schema(description = "限购次数")
    private String limitNum;
    @Schema(description = "服务详情")
    private String details;
    @Schema(description = "适用人群")
    private String fitPeople;
    @Schema(description = "提示/须知")
    private String reminder;
    @Schema(description = "课程明细")
    private List<CourseDetailVO> courseDetail;
    @Schema(description = "主键id")
    private String instructorId;
    @Schema(description = "教练名称")
    private String instructorName;
    @Schema(description = "教练头像")
    private String instructorAvatar;
    private String backgroundImage;
    @Schema(description ="经度")
    private BigDecimal longitude;
    @Schema(description ="纬度")
    private BigDecimal latitude;

    @Schema(description = "上课地点id")
    private String  addressSiteId;


    @Data
    @Accessors(chain = true)
    @EqualsAndHashCode(callSuper = false)
    @Schema(description="课程明细返回参数")
    public static class CourseDetailVO {
        @Schema(description = "课程id")
        private String id;
        @Schema(description = "课程名称")
        private String name;
        @Schema(description = "开始时间")
        private Date startTime;
        @Schema(description = "结束时间")
        private Date endTime;
    }


}
