package com.yiqi.recharge.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.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @author xiaohei
 * @date 2024/1/8
 */
@Data
public class RechargeBatchCardDetailListQueryVO {

    @Excel(name = "批次号")
    @ApiModelProperty("批次号")
    private String batchNo;

    @Excel(name = "充值卡ID")
    @ApiModelProperty("充值卡ID")
    private Long rechargeCardId;

    @Excel(name = "充值卡号")
    @ApiModelProperty("充值卡号")
    private String cardNo;

    @Excel(name = "充值门店")
    @ApiModelProperty("充值门店")
    private String rechargeStoreName;

    @Excel(name = "充值组织id")
    @ApiModelProperty("充值组织id")
    private Long rechargeOrgId;

    @Excel(name = "充值组织来源类型")
    @ApiModelProperty("充值组织来源类型")
    private String rechargeSourceType;

    @Excel(name = "充值客户ID")
    @ApiModelProperty("充值客户ID")
    private Long rechargeUserId;

    @Excel(name = "使用状态")
    @ApiModelProperty("使用状态（0未使用,1已使用）")
    private String rechargeStatus;

    @Excel(name = "充值客户名称")
    @ApiModelProperty("充值客户名称")
    private String appUserName;

    @Excel(name = "手机号")
    @ApiModelProperty("手机号")
    private String phoneNumber;

    @Excel(name = "充值金额")
    @ApiModelProperty("充值金额")
    private BigDecimal rechargeAmount;

    @Excel(name = "赠送金额")
    @ApiModelProperty("赠送金额")
    private BigDecimal giveAmount;

    @Excel(name = "福利金额")
    @ApiModelProperty("福利金额")
    private BigDecimal welfareAmount;

    @Excel(name = "充值余额")
    @ApiModelProperty("充值余额")
    private BigDecimal rechargeBalance;

    @Excel(name = "赠送余额")
    @ApiModelProperty("赠送余额")
    private BigDecimal giveBalance;

    @Excel(name = "福利余额")
    @ApiModelProperty("福利余额")
    private BigDecimal welfareBalance;

    @Excel(name = "积分余额")
    @ApiModelProperty("积分余额")
    private Integer pointBalance;

    @Excel(name = "是否支持洗衣使用 Y是，N否")
    @ApiModelProperty("是否支持洗衣使用 Y是，N否")
    private String isSupportCloth;

    @Excel(name = "是否支持商品使用 Y是，N否")
    @ApiModelProperty("是否支持商品使用 Y是，N否")
    private String isSupportGoods;

    @Excel(name = "是否支持生活服务使用 Y是，N否")
    @ApiModelProperty("是否支持生活服务使用 Y是，N否")
    private String isSupportLife;

    @Excel(name = "是否支持汽车美容使用 Y是，N否")
    @ApiModelProperty("是否支持汽车美容使用 Y是，N否")
    private String isSupportCar;

    @Excel(name = "客户星级：1、2、3、4、5星")
    @ApiModelProperty("客户星级：1、2、3、4、5星")
    private Integer starLevel;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("到期时间")
    private Date expireTime;

    @Excel(name = "下单时间")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
}
