package com.fzm.mall.server.admin.goods_center.model;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;

import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author wangp
 * @date 2021/3/15 16:06
 * @description 商品预售
 * @since JDK 1.8
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("goods_pre_sale")
@ApiModel(value = "PreSale对象", description = "商品预售")
public class PreSale implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "预售编号")
    @TableField("pre_sale_id")
    private String preSaleId;

    @ApiModelProperty(value = "商品编号")
    @TableField("goods_id")
    private String goodsId;

    @ApiModelProperty(value = "预售开始时间")
    @TableField("sale_start_time")
    private Long saleStartTime;

    @ApiModelProperty(value = "预售结束时间")
    @TableField("sale_end_time")
    private Long saleEndTime;

    @ApiModelProperty(value = "预计发货时间")
    @TableField("ship_time")
    private Long shipTime;

    @ApiModelProperty(value = "预计提货开始时间")
    @TableField("draw_start_time")
    private Long drawStartTime;

    @ApiModelProperty(value = "预计提货结束时间")
    @TableField("draw_end_time")
    private Long drawEndTime;

    @ApiModelProperty(value = "定金")
    @TableField("deposit")
    private BigDecimal deposit;

    @ApiModelProperty(value = "1.固定比例 2.固定金额")
    @TableField("deposit_type")
    private Integer depositType;

    @ApiModelProperty(value = "状态 0: 删除  1:有效")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Long updateTime;


}
