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;

/**
 * 商品SPU
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mall_spu")
public class MallSpu extends BaseEntity<MallSpu> {

    /**
     * 商品名称
     */
    private String spuName;

    /**
     * 商品编码
     */
    private String spuCode;

    /**
     * 分类ID
     */
    private String categoryId;

    /**
     * 品牌ID
     */
    private String brandId;

    /**
     * 主图
     */
    private String mainImage;

    /**
     * 轮播图（JSON数组）
     */
    private String images;

    /**
     * 商品详情（富文本）
     */
    private String detail;

    /**
     * 发货时效类型，见 {@link com.jeesharp.business.modules.mall.enums.MallSpuShipTimeTypeEnum}
     */
    private Integer shipTimeType;

    /**
     * 运费（元）
     */
    private BigDecimal freightAmount;

    /**
     * 运费模板主键（{@code mall_freight_template.id}）；为空时下单按 {@link #freightAmount}×件数兜底
     */
    private String freightTemplateId;

    /**
     * 虚拟销量
     */
    private Integer virtualSales;

    /**
     * 排序号
     */
    private Integer sortOrder;

    /**
     * 状态：0-下架 1-上架
     */
    private Integer status;

    /**
     * 商户ID（多商户场景下关联商户，单商户可空）
     */
    private String merchantId;

    /**
     * 审核状态：0-待审核 1-已通过 2-已驳回（未开启审核时可为空）
     */
    private Integer auditStatus;

    /**
     * 驳回原因（驳回时必填）
     */
    private String auditRemark;

    /**
     * 审核时间
     */
    private java.util.Date auditTime;

    /**
     * 审核人ID
     */
    private String auditBy;
}