package com.hzs.common.domain.activity.pick;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 提货基础表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("AC_PICK_SEQ")
@TableName("AC_PICK")
public class AcPick extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 会员ID
     */
    @TableField("PK_MEMBER")
    private Long pkMember;

    /**
     * 提货类型（0=产品，1-8适配旧数据，后面类型与活动一致）
     */
    @TableField("PICK_TYPE")
    private Integer pickType;

    /**
     * 活动配置ID（没有活动使用0）
     */
    @TableField("PK_BASE_CONFIG")
    private Long pkBaseConfig;

    /**
     * 对应数据ID（产品为产品ID，商品为商品ID，活动为规则ID）
     */
    @TableField("PK_DATA_ID")
    private Long pkDataId;

    /**
     * 产品规格（冗余显示）
     */
    @TableField("SPECS_NAME")
    private String specsName;

    /**
     * 产品规格主键（冗余显示）
     */
    @TableField("SPECS_NAME_ID")
    private String specsNameId;

    /**
     * 可提数量
     */
    @TableField("USABLE_QUANTITY")
    private Integer usableQuantity;

    /**
     * 已提数量
     */
    @TableField("USED_QUANTITY")
    private Integer usedQuantity;

    /**
     * 提货封面
     */
    @TableField("PICK_COVER")
    private String pickCover;

    /**
     * 领取截止时间
     */
    @TableField("RECEIVE_TIME")
    private Date receiveTime;

    /**
     * 是否包邮（0=是，1=否）
     */
    @TableField("IS_FREE_MAIL")
    private Integer isFreeMail;

    /**
     * 邮费模板ID
     */
    @TableField("PK_POSTAGE")
    private Integer pkPostage;

    /**
     * 提货基数（每次可提最小数量）
     */
    @TableField("BASE_QUANTITY")
    private Integer baseQuantity;

    /**
     * 活动ID（没有活动使用0）
     */
    @TableField("PK_BASE_ID")
    private Long pkBaseId;

}
