package com.iformall.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.domain.po.WxCouponOrder;

import javax.persistence.Id;
import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

@JsonIgnoreProperties(value = {"handler"})
public class WxCouponOrderCVo extends WxCouponOrder {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6687954932922444531L;


	@Id
	protected Long id;

	@Transient
	protected List<Long> ids;
	@Transient
	protected String sortColumns;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getSortColumns() {
		return sortColumns;
	}

	public List<Long> getIds() {
		return ids;
	}

	public void setIds(List<Long> ids) {
		this.ids = ids;
	}

	@Transient
	private Integer validStatus;

	public Integer getValidStatus() {
		return validStatus;
	}

	public void setValidStatus(Integer validStatus) {
		this.validStatus = validStatus;
	}


	/* 基础购买到的券信息 */
	/***/
	@io.swagger.annotations.ApiModelProperty(value = "", name = "tenantId")
	private String tenantId;
	/*单张券ID**/
	@io.swagger.annotations.ApiModelProperty(value = "单张券ID", name = "couponId")
	private Long couponId;
	/*用户订单ID**/
	@io.swagger.annotations.ApiModelProperty(value = "用户订单ID", name = "orderId")
	private Long orderId;
	/*该订单对应券的实际过期时间**/
	@io.swagger.annotations.ApiModelProperty(value = "该订单对应券的实际过期时间 ", name = "expiredTime")
	private Date expiredTime;
	/*状态：0，待使用 1，已核销 2，已过期 3，已作废 **/
	@io.swagger.annotations.ApiModelProperty(value = "状态：0，待使用 1，已核销 2，已过期 3，已作废 ", name = "couponOrderStatus")
	private Integer couponOrderStatus;
	/***/
	@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 = "couponPrice")
	private Integer couponPrice;

	/* 券类型信息 */
	/*券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券)**/
	@io.swagger.annotations.ApiModelProperty(value="券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券)",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;
	/*售价（适用于类型2，3，4，5）**/
	@io.swagger.annotations.ApiModelProperty(value="售价（适用于类型2，3，4，5）",name="salePrice")
	private Integer salePrice;
	/*使用条件金额（适用于类型1,2,3,4）**/
	@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="validStartDate")
	private Date validStartDate;
	/**有效日期-结束**/
	@io.swagger.annotations.ApiModelProperty(value="有效日期-结束",name="validEndDate")
	private Date validEndDate;

	/*发券商户信息*/
	/*使用商户名**/
	@io.swagger.annotations.ApiModelProperty(value="商户名",name="name")
	private String merchantName;

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

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

	public List<WxMerchantVo> getMerchantVoList() {
		return merchantVoList;
	}

	public void setMerchantVoList(List<WxMerchantVo> merchantVoList) {
		this.merchantVoList = merchantVoList;
	}

	public String getTenantId() {
		return tenantId;
	}
	public void setTenantId(String _tenantId) {
		tenantId = _tenantId;
	}
	public Long getCouponId() {
		return couponId;
	}
	public void setCouponId(Long _couponId) {
		couponId = _couponId;
	}
    public Long getOrderId() {
		return orderId;
	}
	public void setOrderId(Long _orderId) {
		orderId = _orderId;
	}
	public Date getExpiredTime() {
		return expiredTime;
	}
	public void setExpiredTime(Date _expiredTime) {
		expiredTime = _expiredTime;
	}
	public Integer getCouponOrderStatus() {
		return couponOrderStatus;
	}
	public void setCouponOrderStatus(Integer _couponOrderStatus) {
		couponOrderStatus = _couponOrderStatus;
	}
	public Date getCreateDate() {
		return createDate;
	}
	public void setCreateDate(Date _createDate) {
		createDate = _createDate;
	}
	public Date getUpdateDate() {
		return updateDate;
	}
	public void setUpdateDate(Date _updateDate) {
		updateDate = _updateDate;
	}
	public Integer getCouponPrice() {
		return couponPrice;
	}
	public void setCouponPrice(Integer _couponPrice) {
		couponPrice = _couponPrice;
	}

	public Integer  getType() {
		return type;
	}
	public void setType(Integer _type) {
		type = _type;
	}
	public String  getCoverImg() {
		return coverImg;
	}
	public void setCoverImg(String _coverImg) {
		coverImg = _coverImg;
	}
	public String  getTitle() {
		return title;
	}
	public void setTitle(String _title) {
		title = _title;
	}
	public String  getSubTitle() {
		return subTitle;
	}
	public void setSubTitle(String _subTitle) {
		subTitle = _subTitle;
	}
	public Integer  getSalePrice() {
		return salePrice;
	}
	public void setSalePrice(Integer _salePrice) {
		salePrice = _salePrice;
	}
	public Integer  getUsePrice() {
		return usePrice;
	}
	public void setUsePrice(Integer _usePrice) {
		usePrice = _usePrice;
	}
	public String  getDetail() {
		return detail;
	}
	public void setDetail(String _detail) {
		detail = _detail;
	}
	public Integer  getPrice() {
		return price;
	}
	public void setPrice(Integer _price) {
		price = _price;
	}

	public Integer getUnit() {
		return unit;
	}
	public void setUnit(Integer unit) {
		this.unit = unit;
	}

	public String  getRemark() {
		return remark;
	}
	public void setRemark(String _remark) {
		remark = _remark;
	}

	public String  getMerchantName() {
		return merchantName;
	}
	public void setMerchantName(String _name) {
		merchantName = _name;
	}

	public Integer getSendChannelType() {
		return sendChannelType;
	}

	public void setSendChannelType(Integer sendChannelType) {
		this.sendChannelType = sendChannelType;
	}

	public Date getValidStartDate() {
		return validStartDate;
	}

	public void setValidStartDate(Date validStartDate) {
		this.validStartDate = validStartDate;
	}

	public Date getValidEndDate() {
		return validEndDate;
	}

	public void setValidEndDate(Date validEndDate) {
		this.validEndDate = validEndDate;
	}
}
