package com.iformall.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.iformall.domain.po.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;


import java.util.Date;
import java.util.List;

@TableName(value = "wx_coupon_send")
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class WxCouponSend extends BaseEntity {

	/**
	 * 卡券ids
	 */
	@TableField(exist = false)
	public static final String KEY_COUPONIDS = "couponIds" ;
	/**
	 * beforeDays
	 */
	@TableField(exist = false)
	public static final String KEY_BEFOREDAYS = "beforeDays" ;
	/**
	 * limit 商户购券数
	 */
	@JsonIgnore
	@TableField(exist = false)
	public static final String KEY_MERCHANT_LNVENTORY = "merchantLnventory" ;

	/**
	 * limit 商户注券数
	 */
	@JsonIgnore
	@TableField(exist = false)
	public static final String KEY_MERCHANT_SEND = "merchantSend" ;

	/**
	 * limit 商户注券数
	 */
	@JsonIgnore
	@TableField(exist = false)
	public static final String KEY_MERCHANT_REMAIN = "merchantRemain" ;

	/**
	 * 排序-商户购券数
	 */
	@JsonIgnore
	public static final String SORT_MERCHANT_LNVENTORY = "merchantLnventory" ;

	/**
	 * 排序-商户已发数
	 */
	@JsonIgnore
	public static final String SORT_MERCHANT_SEND = "merchantSend" ;

	/**
	 * 排序-商户剩余数
	 */
	@JsonIgnore
	public static final String SORT_REMAIN = "merchantRemain" ;


	protected Long id;

	@TableField(exist = false)
	protected List<Long> ids;

	/**
	 * 商户购券数
	 */
	@TableField(exist = false)
	protected Integer merchantLnventory;

	/**
	 * 商户已发数
	 */
	@TableField(exist = false)
	protected Integer merchantSend;

	/**
	 * 商户剩余数
	 */
	@TableField(exist = false)
	protected Integer merchantRemain;

	/**发卷所属商户名**/
	@TableField(exist = false)
	private String merchantName;
	/**
	 * 商户ID
	 */
	@TableField(exist = false)
	private Long merchantId;

	@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
	private String tenantId;
	@io.swagger.annotations.ApiModelProperty(value="卡券id",name="couponId")
	private Long couponId;

	@io.swagger.annotations.ApiModelProperty(value="券名称",name="title")
	private String title;
	@io.swagger.annotations.ApiModelProperty(value="2：停车发券 3：核销发券 4: B端刷卡发券 5:商户发卷 6:定时发券 7:商户发券",name="sendType")
	private Integer sendType;
	@io.swagger.annotations.ApiModelProperty(value="发券条件",name="condition")
	private String conditions;
	@io.swagger.annotations.ApiModelProperty(value="0：有效  1:无效,全部时不传",name="status")
	private Integer status;

	@io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate")
	private Date createDate;
	@io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate")
	private Date updateDate;

	@TableField(exist = false)
    @io.swagger.annotations.ApiModelProperty(value="场景发券计数",name="sendCount")
	protected int sendCount;

	@io.swagger.annotations.ApiModelProperty(value = "1是0否", name = "是否发送短信1是0否")
	private Integer sendSms;

	@io.swagger.annotations.ApiModelProperty(value = "0未过期1已过期,全部时不传", name = "expired" )
	@TableField(exist = false)
	private Integer expired;

	@JsonIgnore
	@io.swagger.annotations.ApiModelProperty(value = "0未过期1已过期,全部时不传", name = "expired" )
	@TableField(exist = false)
	private String sortCol ;

}
