package co.yixiang.yshop.module.product.controller.app.product.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 商品属性表 查询结果值对象
 * </p>
 *
 * @author moxiangrong
 * @date 2024-01-23
 */
@Data
@Schema(description = "用户 APP - 商品属性值表vo")
public class AppStoreProductAttrValueVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 商品ID
     */
    private Long productId;
    /**
     * 商品属性索引值 (attr_value|attr_value[|....])
     */
    private String sku;
    /**
     * 属性对应的库存
     */
    private Integer stock;
    /**
     * 销量
     */
    private Integer sales;
    /**
     * 属性金额
     */
    private BigDecimal price;
    /**
     * 图片
     */
    private String image;
    /**
     * 唯一值
     */
    @TableField(value = "`unique`")
    private String unique;
    /**
     * 成本价
     */
    private BigDecimal cost;
    /**
     * 商品条码
     */
    private String barCode;
    /**
     * 原价
     */
    private BigDecimal otPrice;
    /**
     * 重量
     */
    private BigDecimal weight;
    /**
     * 体积
     */
    private BigDecimal volume;
    /**
     * 一级返佣
     */
    private BigDecimal brokerage;
    /**
     * 二级返佣
     */
    private BigDecimal brokerageTwo;
    /**
     * 拼团价
     */
    private BigDecimal pinkPrice;
    /**
     * 拼团库存
     */
    private Integer pinkStock;
    /**
     * 秒杀价
     */
    private BigDecimal seckillPrice;
    /**
     * 秒杀库存
     */
    private Integer seckillStock;
    /**
     * 需要多少积分兑换
     */
    private Integer integral;


    /* 分销商相关 */
    /**
     * 一级佣金比例
     */
    private Integer firstWages;
    /**
     * 二级佣金比例
     */
    private Integer secondWages;

    @Schema(description = "活动id", required = true)
    private Long campaignId;

    @Schema(description = "活动明细id", required = true)
    private Long campaignDetailId;

    @Schema(description = "活动类型：1、拼团，2、秒杀，3、限时折扣", required = true)
    private Integer campaignType;

    @Schema(description = "活动状态：0-未开始 1-进行中 2-已结束 3-预热", required = true)
    private Integer campaignState;

    @Schema(description = "开始时间", required = true)
    private LocalDateTime startTime;

    @Schema(description = "结束时间", required = true)
    private LocalDateTime endTime;


    @Schema(description = "活动价格", required = true, example = "25390")
    private BigDecimal campaignPrice;

    @Schema(description = "折扣比例", required = true, example = "6397")
    private BigDecimal discount;

    @Schema(description = "活动库存剩余数量", required = true)
    private Integer campaignStock;

    @Schema(description = "活动总库存数量", required = true)
    private Integer campaignTotal;

    @Schema(description = "成团人数", required = true)
    private Integer person;

}
