package com.tashow.cloud.product.vo.sku;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 单品SKU Response VO")
@Data
@ExcelIgnoreUnannotated
public class SkuRespVO {

    @Schema(description = "单品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32230")
    @ExcelProperty("单品ID")
    private Long skuId;

    @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18784")
    @ExcelProperty("商品ID")
    private Long prodId;

    @Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2")
    @ExcelProperty("销售属性组合字符串 格式是p1:v1;p2:v2")
    private String properties;

    @Schema(description = "别名")
    @ExcelProperty("别名")
    private String alias;

    @Schema(description = "价格", example = "32405")
    @ExcelProperty("价格")
    private BigDecimal price;

    @Schema(description = "最低价格", example = "5040")
    @ExcelProperty("最低价格")
    private BigDecimal minPrice;

    @Schema(description = "最高价格", example = "11547")
    @ExcelProperty("最高价格")
    private BigDecimal maxPrice;

    @Schema(description = "成本价", example = "28062")
    @ExcelProperty("成本价")
    private BigDecimal originalPrice;

    @Schema(description = "市场价", example = "11547")
    @ExcelProperty("市场价")
    private BigDecimal marketPrice;

    @Schema(description = "单位")
    @ExcelProperty("单位")
    private String unit;

    @Schema(description = "0:主服务1:待定", example = "1")
    @ExcelProperty("0:主服务1:待定")
    private Integer type;

    @Schema(description = "概述")
    @ExcelProperty("概述")
    private String overview;

    @Schema(description = "库存")
    @ExcelProperty("库存")
    private Integer stocks;

    @Schema(description = "预警库存")
    @ExcelProperty("预警库存")
    private Integer warnStocks;

    @Schema(description = "库存扣款时机0:付款扣1：下单扣", example = "1")
    @ExcelProperty("库存扣款时机0:付款扣1：下单扣")
    private Boolean stocksType;

    @Schema(description = "sku编码")
    @ExcelProperty("sku编码")
    private String skuCode;

    @Schema(description = "商品条形码", example = "14390")
    @ExcelProperty("商品条形码")
    private String modelId;

    @Schema(description = "sku图片")
    @ExcelProperty("sku图片")
    private String pic;

    @Schema(description = "sku名称", example = "张三")
    @ExcelProperty("sku名称")
    private String skuName;

    @Schema(description = "商品名称", example = "芋艿")
    @ExcelProperty("商品名称")
    private String prodName;

    @Schema(description = "版本号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("版本号")
    private Integer version;

    @Schema(description = "商品重量")
    @ExcelProperty("商品重量")
    private Double weight;

    @Schema(description = "商品体积")
    @ExcelProperty("商品体积")
    private Double volume;

    @Schema(description = "0 禁用 1 启用", example = "1")
    @ExcelProperty("0 禁用 1 启用")
    private Integer status;

    @Schema(description = "0 正常 1 已被删除")
    @ExcelProperty("0 正常 1 已被删除")
    private Integer isDelete;

    @Schema(description = "最小购买数量")
    @ExcelProperty("最小购买数量")
    private Integer moq;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}