package com.tashow.cloud.product.dto;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.tashow.cloud.mybatis.mybatis.core.dataobject.BaseDO;

/**
 * 单品SKU DO
 *
 * @author 芋道源码
 */
@TableName("tz_sku")
@KeySequence("tz_sku_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SkuDO extends BaseDO {

    /**
     * 单品ID
     */
    @TableId
    private Long skuId;
    /**
     * 商品ID
     */
    private Long prodId;
    /**
     * 销售属性组合字符串 格式是p1:v1;p2:v2
     */
    private String properties;
    /**
     * 别名
     */
    private String alias;
    /**
     * 价格
     */
    private BigDecimal price;
    /**
     * 最低价格
     */
    private BigDecimal minPrice;
    /**
     * 最高价格
     */
    private BigDecimal maxPrice;
    /**
     * 成本价
     */
    private BigDecimal originalPrice;
    /**
     * 市场价
     */
    private BigDecimal marketPrice;
    /**
     * 单位
     */
    private String unit;
    /**
     * 0:主服务1:待定
     */
    private Integer type;
    /**
     * 概述
     */
    private String overview;
    /**
     * 库存
     */
    private Integer stocks;
    /**
     * 预警库存
     */
    private Integer warnStocks;
    /**
     * 库存扣款时机0:付款扣1：下单扣
     */
    private Boolean stocksType;
    /**
     * sku编码
     */
    private String skuCode;
    /**
     * 商品条形码
     */
    private String modelId;
    /**
     * sku图片
     */
    private String pic;
    /**
     * sku名称
     */
    private String skuName;
    /**
     * 商品名称
     */
    private String prodName;
    /**
     * 版本号
     */
    private Integer version;
    /**
     * 商品重量
     */
    private Double weight;
    /**
     * 商品体积
     */
    private Double volume;
    /**
     * 0 禁用 1 启用
     */
    private Integer status;
    /**
     * 0 正常 1 已被删除
     */
    private Integer isDelete;
    /**
     * 最小购买数量
     */
    private Integer moq;

}