package com.yc.ship.module.product.api.dto;

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

import java.math.BigDecimal;

@Schema(description = "RPC 服务 - Product 产品规格信息 Response DTO")
@Data
public class ProductGroupRespDTO {
    @Schema(description = "主键", example = "21229")
    private Long id;

    @Schema(description = "父项目id", example = "21229")
    private Long parentId;

    @Schema(description = "产品ID", example = "23709")
    private Long productId;

    @Schema(description = "基础产品ID;平台产品时为关联ID", example = "8989")
    private Long productBaseId;

    @Schema(description = "基础产品类型;0自建子票 1平台产品", example = "1")
    private Integer productBaseType;

    @Schema(description = "sku_id", example = "28152")
    private Long skuId;

    @Schema(description = "项目ID", example = "11824")
    private Long projectId;

    @Schema(description = "规格ID", example = "7216")
    private Long specificationId;

    @Schema(description = "优先资源ID", example = "11824")
    private Long firstResourceId;

    @Schema(description = "成本价格", example = "14190")
    private BigDecimal costPrice;

    @Schema(description = "销售价格", example = "27592")
    private BigDecimal salePrice;

    @Schema(description = "总销售价格", example = "27592")
    private BigDecimal allSalePrice;

    @Schema(description = "规格类型;common通用 full全价 half半价 free免票", example = "1")
    private String specType;

    @Schema(description = "是否必选;0否 1是")
    private Integer needChoose;

    @Schema(description = "非必选项目最大选择数量")
    private Integer maxNum;

    @Schema(description = "第几天")
    private Integer daySort;

    @Schema(description = "小程序是否显示 0.否 1.是")
    private Integer isShow;

    @Schema(description = "能否重复购买:0不可以，1可以")
    private Integer canRepeatBuy;

    @Schema(description = "产品名称", example = "车票")
    private String productName;

    @Schema(description = "基础产品", example = "车票")
    private String productBaseName;

    @Schema(description = "项目", example = "车票")
    private String projectName;

    @Schema(description = "规格名称", example = "通用")
    private String specificationName;

    @Schema(description = "项目编码", example = "xxx")
    private String projectCode;

    @Schema(description = "开始点位", example = "21229")
    private Long startPoint;

    @Schema(description = "结束点位", example = "21229")
    private Long endPoint;

    @Schema(description = "是否启用0否 1是")
    private Integer useStatus;

    @Schema(description = "规格排序")
    private Integer specSort;

}
