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

import com.jeesharp.framework.pojo.vo.BaseInfoVO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 商品SPU信息VO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MallSpuInfoVO extends BaseInfoVO {

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

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

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

    /**
     * 分类名称
     */
    private String categoryName;

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

    /**
     * 品牌名称
     */
    private String brandName;

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

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

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

    /**
     * 发货时效类型
     *
     * @see com.jeesharp.business.modules.mall.enums.MallSpuShipTimeTypeEnum
     */
    private Integer shipTimeType;

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

    /**
     * 运费模板主键
     */
    private String freightTemplateId;

    /**
     * 扩展属性值列表（来自 mall_spu_ext_attr）
     */
    private List<MallSpuExtAttrVO> extAttrs;

    /**
     * 虚拟销量
     */
    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 LocalDateTime auditTime;

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

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 更新时间
     */
    private LocalDateTime updateDate;
}
