package com.yiqi.activity.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yiqi.activity.domain.dto.ActivityInfoDTO;
import com.yiqi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author xiaohei
 * @date 2023-09-08
 */
@Data
public class ActivityCouponInfoVO extends ActivityInfoVO
{

    /** 是否可多张使用 */
    @Excel(name = "是否可多张使用")
    @ApiModelProperty("是否可多张使用")
    private String canMultiUse;

    /** 单次订单最多使用券数 */
    @Excel(name = "单次订单最多使用券数")
    @ApiModelProperty("单次订单最多使用券数")
    private Integer maxUseCount;

    /** 是否展示在app购买页 */
    @Excel(name = "是否展示在app购买页")
    @ApiModelProperty("是否展示在app购买页")
    private String isShowAppBuyPage;

    /** 是否展示在小程序购买页 */
    @Excel(name = "是否展示在小程序购买页")
    @ApiModelProperty("是否展示在小程序购买页")
    private String isShowWxBuyPage;

    /** 是否展示在小程序购买页（扫码进入） */
    @Excel(name = "是否展示在小程序购买页", readConverterExp = "扫=码进入")
    @ApiModelProperty("是否展示在小程序购买页（扫码进入）")
    private String isShowWxBuyPageFromQrcode;

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

    /** 优惠券来源（0=普通领取,1=员工手动发放） */
    @Excel(name = "优惠券来源", readConverterExp = "0==普通领取,1=员工手动发放")
    @ApiModelProperty("优惠券来源（0=普通领取,1=员工手动发放）")
    private String couponFrom;

    /** 最大可购买数量 */
    @Excel(name = "最大可购买数量")
    @ApiModelProperty("最大可购买数量")
    private Integer maxBuyNum;

    /** 适用用户范围（0=全部用户，1=会员用户） */
    @Excel(name = "适用用户范围", readConverterExp = "0==全部用户，1=会员用户")
    @ApiModelProperty("适用用户范围（0=全部用户，1=会员用户）")
    private String userScope;

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

    @ApiModelProperty("是否仅限新用户参与")
    private String canOnlyNewUser;

    @ApiModelProperty("新用户计算时间")
    private Date newUserRegistTime;

    /** 优惠券库存 */
    @Excel(name = "优惠券库存")
    @ApiModelProperty("优惠券库存")
    private Long couponStock;

    /** 是否自定义有效期 */
    @Excel(name = "是否自定义有效期")
    @ApiModelProperty("是否自定义有效期")
    private String isCustomValidityPeriod;

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

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

    @ApiModelProperty("优惠券数量")
    private Long couponNum;
}
