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

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * 活动提货配置表
 *
 * @author hzs
 * @since 2023-04-21
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@KeySequence("AC_PICK_UP_CONFIG_SEQ")
@TableName("AC_PICK_UP_CONFIG")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class AcPickUpConfig extends BaseEntity {

    private static final long serialVersionUID = 1L;

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

    /**
     * 活动基本配置主键
     */
    @TableField("PK_BASE_ID")
    private Long pkBaseId;

    /**
     * 是否全部提取
     */
    @TableField("IS_WHOLE")
    private Integer isWhole;

    /**
     * 首次提取数量
     */
    @TableField("FIRST_QUANTITY")
    private Integer firstQuantity;

    /**
     * 提货方式（1=数量、2=基数）
     */
    @TableField("PICK_UP_TYPE")
    private Integer pickUpType;

    /**
     * 每次提货数量
     */
    @TableField("QUANTITY")
    private Integer quantity;

    /**
     * 最大提货次数
     */
    @TableField("PICK_UP_NUM")
    private Integer pickUpNum;

    /**
     * 发放类型（1=即时、2=下月、3=即时+下月）
     */
    @TableField("GRANT_TYPE")
    private Integer grantType;

    /**
     * 发放日 哪一天
     */
    @TableField("GRANT_DAY")
    private Integer grantDay;

    /**
     * 截至日 发放日+多少天 哪一天
     */
    @TableField("PICK_UP_DATE")
    private Integer pickUpDate;

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

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

    /**
     * 包邮数量（提货满多少数量包邮）
     */
    @TableField("FREE_POSTAGE_QUANTITY")
    private Integer freePostageQuantity;



    /**
     * 提货天数
     */
    @TableField("DELIVERY_DAYS")
    private Integer deliveryDays;

}
