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 RechargeBatchUseRecordListQueryVO {

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

    @Excel(name = "充值卡ID")
    @ApiModelProperty("充值卡ID")

    private Long rechargeCardId;

    @Excel(name = "账单标题")
    @ApiModelProperty("账单标题")
    private String title;


    @Excel(name = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNo;

    @Excel(name = "订单类型", readConverterExp = "0=洗衣订单,1=商品订单,2=生活服务订单,3=汽车美容订单,4=充值订单")
    @ApiModelProperty("订单类型（0洗衣订单，1商品订单，2生活服务订单，3汽车美容订单，4充值订单）")
    private String orderType;

    @Excel(name = "客户ID")
    @ApiModelProperty("客户ID")

    private Long appUserId;

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

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

    @Excel(name = "消费组织id")
    @ApiModelProperty("消费组织id")

    private Long orgId;

    @Excel(name = "消费组织来源类型")
    @ApiModelProperty("消费组织来源类型")
    private String sourceType;

    @Excel(name = "账单类型（0=支出，1=充值）", readConverterExp = "0=支出,1=充值")
    @ApiModelProperty("账单类型（0=支出，1=充值）")
    private String billType;

    @Excel(name = "支付总金额")
    @ApiModelProperty("支付总金额")
    private BigDecimal payTotalAmount;

    @Excel(name = "充值余额支付金额")
    @ApiModelProperty("充值余额支付金额")
    private BigDecimal rechargePayAmount;

    @Excel(name = "赠送余额支付金额")
    @ApiModelProperty("赠送余额支付金额")
    private BigDecimal givePayAmount;

    @Excel(name = "福利金余额支付金额")
    @ApiModelProperty("福利金余额支付金额")
    private BigDecimal welfarePayAmount;

    @Excel(name = "是否为退款")
    @ApiModelProperty("是否为退款")
    private String isRefund;

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