package com.jeesharp.business.modules.mall.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.jeesharp.framework.mybatis.core.dataobject.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 商品 SKU 实体，映射 {@code mall_sku}；承载售价库存及与规格值的结构化关联。
 *
 * @author jeesharp
 * @since 2026-05-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mall_sku")
public class MallSku extends BaseEntity<MallSku> {

    /**
     * SPU ID
     */
    private String spuId;

    /**
     * SKU名称
     */
    private String skuName;

    /**
     * SKU编码
     */
    private String skuCode;

    /**
     * 规格信息（如：颜色:红;尺码:M）
     */
    private String specInfo;

    /**
     * 规格值 ID 组合（JSON 数组字符串，如 {@code ["id1","id2"]}，顺序与 SPU 关联规格维度排序一致）
     */
    private String specValueIds;

    /**
     * 销售价格
     */
    private BigDecimal price;

    /**
     * 原价
     */
    private BigDecimal originalPrice;

    /**
     * 库存
     */
    private Integer stock;

    /**
     * 库存预警阈值
     */
    private Integer stockWarn;

    /**
     * 条形码
     */
    private String barCode;

    /**
     * SKU图片
     */
    private String image;

    /**
     * 每人限购数量，0 表示不限
     */
    private Integer limitPerUser;

    /**
     * 状态：0-禁用 1-启用
     */
    private Integer status;
}