package com.iformall.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

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


@JsonIgnoreProperties(value = {"handler"})
@Data
public class WxOrderCouponVo {

	private static final long serialVersionUID = 6687964932922444531L;

	protected Long id;

	@TableField(exist = false)
	private Integer validStatus;

	/** 基础购买到的券信息 */
	@io.swagger.annotations.ApiModelProperty(value="订单码;正反向交易保持一致。",name="orderNumber")
	private Long orderNumber;
	@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
	private String tenantId;
	@io.swagger.annotations.ApiModelProperty(value="c端用户id",name="cUserId")
	private Long cUserId;

    @io.swagger.annotations.ApiModelProperty(value="渠道ID",name="couponChannelId")
    private Long couponChannelId;
	@io.swagger.annotations.ApiModelProperty(value="产品ID",name="productId")
	private Long productId;
	@io.swagger.annotations.ApiModelProperty(value="0: 付款 1: 退款",name="paymentType")
	private Integer paymentType;
	@io.swagger.annotations.ApiModelProperty(value="支付金额(分)：允许有负数，退款时为负值。",name="payment")
	private Integer payment;
	@io.swagger.annotations.ApiModelProperty(value="支付时间",name="paymentTime")
	private Date paymentTime;
	@io.swagger.annotations.ApiModelProperty(value="订单状态：-1全部;正向交易：0-已下单/待付款;1-已支付;2-已取消(限定时间内未付款)反向交易：3-已退款;4-退款失败",name="orderStatus")
	private Integer orderStatus;
	@io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate")
	private Date createDate;
	@io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate")
	private Date updateDate;

	@io.swagger.annotations.ApiModelProperty(value="有效日期-开始",name="validStartDate")
	private Date validStartDate;
	@io.swagger.annotations.ApiModelProperty(value="有效日期-结束",name="validEndDate")
	private Date validEndDate;

	@io.swagger.annotations.ApiModelProperty(value="券包中券ID-产品ID将来的产品都会放在coupon表里",name="couponOrderId")
	private Long couponOrderId;
	@io.swagger.annotations.ApiModelProperty(value="0: 未使用 1: 已核销 2:已过期 3:已退款",name="couponOrderStatus")
	private Integer couponOrderStatus;

	/** 券类型信息 */
	@io.swagger.annotations.ApiModelProperty(value="券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,100.消费卡)",name="type")
	private Integer type;
	@io.swagger.annotations.ApiModelProperty(value="封面图",name="coverImg")
	private String coverImg;
	@io.swagger.annotations.ApiModelProperty(value="券名称",name="title")
	private String title;
	@io.swagger.annotations.ApiModelProperty(value="副标题",name="subTitle")
	private String subTitle;
	@io.swagger.annotations.ApiModelProperty(value="售价（适用于类型2，3，4，5）",name="salePrice")
	private Integer salePrice;
	@io.swagger.annotations.ApiModelProperty(value="使用条件金额（适用于类型1,2,3,4）",name="usePrice")
	private Integer usePrice;
	@io.swagger.annotations.ApiModelProperty(value="面额",name="price")
	private Integer price;
	@io.swagger.annotations.ApiModelProperty(value="单位0:钱分，1:小时",name="unit")
	private Integer unit;
	@io.swagger.annotations.ApiModelProperty(value="须知",name="detail")
	private String detail;
	@io.swagger.annotations.ApiModelProperty(value="购买须知",name="remark")
	private String remark;

	/** 发券商户信息 */
	@io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList")
	private List<WxMerchantVo> merchantVoList;

	/** 卡券来源 */
	@io.swagger.annotations.ApiModelProperty(value="卡券来源",name="sendChannelType")
	private Integer sendChannelType;

    @io.swagger.annotations.ApiModelProperty(value = "是否可转赠", name = "supportTransfer")
    private Integer supportTransfer;

	@io.swagger.annotations.ApiModelProperty(value = "补贴额", name = "subsidyNum")
	private Integer subsidyNum;

}
