package com.yc.ship.module.product.dal.dataobject.productOtherRule;

import com.baomidou.mybatisplus.annotation.*;
import com.yc.ship.framework.mybatis.core.dataobject.BaseDO;
import lombok.*;

import java.math.BigDecimal;

/**
 * 产品其他规则 DO
 *
 * @author 管理员
 */
@TableName("product_other_rule")
@KeySequence("product_other_rule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ProductOtherRuleDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 是否自动开始销售
     */
    private Integer autoStartSale;
    /**
     * 自动开始销售类型 0每天 1每月 2不限
     */
    private Integer autoStartSaleType;
    /**
     * 自动开始销售时间
     */
    private String autoStartSaleTime;
    /**
     * 是否自动停止销售
     */
    private Integer autoEndSale;
    /**
     * 自动停止销售类型 0每天 1每月 2不限
     */
    private Integer autoEndSaleType;
    /**
     * 自动停止销售时间
     */
    private String autoEndSaleTime;
    /**
     * 可购买几天内的产品
     */
    private Integer canBuyDay;
    /**
     * 电子合同模版id（无id表示不需要合同）
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String contractId;
    /**
     * 是否买保险
     */
    private Integer needInsurance;
    /**
     * 保险编码
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String insuranceCode;
    /**
     * 保险金额
     */
    private BigDecimal insuranceAmount;
    /**
     * 是否推荐
     */
    private Integer isRecommend;
    /**
     * 控制产品上架类型 0发布上架 1自动控制
     */
    private Integer ctrlStatusType;

}