package com.czg.product.vo;

import com.czg.product.dto.ProdConsRelationDTO;
import com.czg.product.dto.ProdSkuDTO;
import com.czg.product.entity.ProdConsRelation;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.List;

/**
 * 热销商品
 *
 * @author tankaikai
 * @since 2025-02-19 09:23
 */
@Data
public class ShopProductVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 商品id
     */
    private Long id;
    private Long syncId;
    /**
     * 商品名称
     */
    private String name;
    /**
     * sku id
     */
    private Long skuId;
    /**
     * 原价
     */
    private BigDecimal originPrice;
    /**
     * 销售价
     */
    private BigDecimal salePrice;
    /**
     * 会员价
     */
    private BigDecimal memberPrice;
    /**
     * 封面图url
     */
    private String coverImg;
    /**
     * 单位名称
     */
    private String unitName;
    /**
     * 是否售罄 1-是 0-否
     */
    private Integer isSoldStock;
    /**
     * 是否自动售罄 1-是 0-否
     */
    private Integer isAutoSoldStock;
    /**
     * 商品类型 single-单规格商品 sku-多规格商品 package-套餐商品 weight-称重商品 coupon-团购券
     */
    private String type;
    /**
     * 套餐类型 0-固定套餐 1-可选套餐
     */
    private Integer groupType;
    /**
     * 是否可售时间 1-是 0-否
     */
    private Integer isSaleTime;
    /**
     * 起售数量
     */
    private Integer suitNum;
    /**
     * 是否热销 1-是 0-否
     */
    private Integer isHot;
    /**
     * 打包费
     */
    private BigDecimal packFee;
    /**
     * 商品规格列表
     */
    private List<ProdSkuDTO> skuList;
    private List<ProdConsRelation> consList;

    /**
     * 商品每周销售日 如：Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
     */
    private String days;
    /**
     * 可售卖起始时间
     */
    private LocalTime startTime;
    /**
     * 可售卖截止时间
     */
    private LocalTime endTime;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 销量
     */
    private BigDecimal salesVolume;
    /**
     * 店铺id
     */
    private Long shopId;
}
