package com.yuchen.saas.parking.api.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.thinkunion.park.service.common.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @ClassName PmgBatParkingCoupon
 * @Description 停车场优惠券表
 * @Author 张逸飞
 * @Date 2022/7/11 10:50
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "停车场优惠券表", description = "停车场优惠券表")
@TableName("pmg_bat_parking_coupon")
public class PmgBatParkingCoupon extends BasicEntity {

    /**
     * 优惠券状态标志: 0 可用
     */
    public static final Integer USE_MARK_USABLE = 0;

    /**
     * 优惠券状态标志: 1 不可用(过期)
     */
    public static final Integer USE_MARK_DISABLED = 1;

    /**
     * 优惠类型
     * 1：固定优惠金额
     * 2：全免优惠金额
     * 3：限额优惠
     */
    @ApiModelProperty(value = "优惠类型 1：固定优惠金额改名限额优惠, 2：全免优惠金额")
    private Integer discountType;

    /**
     * 优惠数值，单位：分
     */
    @NotNull(message = "优惠额度不能为空")
    @ApiModelProperty(value = "优惠数值")
    private Integer discountNumber;

    /**
     * 剩余优惠金额数值，单位：分
     */
    @ApiModelProperty(value = "剩余优惠金额数值")
    private Integer totalDiscountNumber;

    /**
     * 总优惠金额数值，单位：分
     */
    @NotNull(message = "首次充值金额不能为空")
    @ApiModelProperty(value = "总优惠金额数值")
    private Integer totalAmount;

    /**
     * 开始时间
     */
    @ApiModelProperty(value = "开始时间")
    @NotNull(message = "请选择使用开始时间")
    private Date beginTime;

    /**
     * 结束时间
     */
    @NotNull(message = "请选择使用结束时间")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    /**
     * 优惠券状态: 0可用, 1不可用(过期)
     */
    @ApiModelProperty(value = "优惠券状态")
    private Integer useMark;

    /**
     * 备注信息
     */
    @ApiModelProperty(value = "备注信息")
    private String remark;

    /**
     * 优惠券二维码
     */
    @ApiModelProperty(value = "优惠券二维码")
    private String couponImg;

    /**
     * 优惠券联系人
     */
    @ApiModelProperty(value = "优惠券联系人")
    private String name;

    /**
     * 联系人电话
     */
    @ApiModelProperty(value = "联系人电话")
    private String phone;

    /**
     * 公司
     */
    @ApiModelProperty(value = "公司ID")
    @NotNull(message = "请选择公司")
    private Long companyId;
}
