package com.yiqi.activity.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yiqi.app.domain.vo.AppCouponTypeApplyClothVO;
import com.yiqi.common.annotation.Excel;
import com.yiqi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ActivityAppCouponItemVO extends BaseEntity
{
    private static final long serialVersionUID=1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 订单编码 */
    @Excel(name = "订单编码")
    @ApiModelProperty("订单编码")
    private String orderNo;

    /** 优惠券类型ID */
    @Excel(name = "优惠券类型ID")
    @ApiModelProperty("优惠券类型ID")

    private Long couponTypeId;

    @Excel(name = "优惠券类型名称")
    @ApiModelProperty("优惠券类型名称")
    private String couponTypeTitle;

    @ApiModelProperty("优惠方式（0=抵扣,1=满减,2=折扣）")
    private String discountWay;

    /** 活动ID */
    @Excel(name = "活动ID")
    @ApiModelProperty("活动ID")

    private Long activityInfoId;

    @Excel(name = "活动名称")
    @ApiModelProperty("活动名称")
    private String activityTitle;

    /** 所属组织ID */
    @Excel(name = "所属组织ID")
    @ApiModelProperty("所属组织ID")

    private Long orgId;

    @Excel(name = "所属组织")
    @ApiModelProperty("所属组织")
    private String orgName;

    /** 来源类型 */
    @Excel(name = "来源类型")
    @ApiModelProperty("来源类型")
    private String sourceType;

    /** 活动有效期开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "活动有效期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("活动有效期开始时间")
    private Date activityStartDate;

    /** 有效期结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "有效期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("有效期结束时间")
    private Date activityEndDate;

    /** 优惠券的有效期开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "优惠券的有效期开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("优惠券的有效期开始日期")
    private Date couponStartDate;

    /** 优惠券的有效期结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @Excel(name = "优惠券的有效期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("优惠券的有效期结束时间")
    private Date couponEndDate;

    /** 是否单件抵扣券 */
    @Excel(name = "是否单件抵扣券")
    @ApiModelProperty("是否单件抵扣券")
    private String isUnique;

    @ApiModelProperty("优惠券使用范围（0=仅本店可用,1=参与门店可用）")
    private String storeScope;

    @ApiModelProperty("是否可多张使用")
    private String canMultiUse;

    @ApiModelProperty("活动价格")
    private BigDecimal price;

    @ApiModelProperty("优惠券抵用金额")
    private BigDecimal couponDeductAmount;

    @ApiModelProperty("抵用金额")
    private BigDecimal deductAmount;

    @ApiModelProperty("是否可以抵扣充值")
    private String canDeductRecharge;

    @ApiModelProperty("优惠券库存")
    private Long couponStock;

}
