package com.ssm.manage.query;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
@Setter
public class RechargeAccountGiveRequest implements Serializable {
    /**
     * 充值账户ID
     */
    @Column(name = "account_id")
    private Long accountId;

    /**
     * 会员ID
     */
    @Column(name = "member_id")
    @ExcelProperty("会员ID*")
    private Long memberId;

    /**
     * 会员名称
     */
    @Column(name = "member_name")
    @ExcelProperty("会员名称*")
    private String memberName;



    /**
     * 充值单号
     */
    @Column(name = "recharge_num")
    @ExcelProperty("充值单号")
    private String rechargeNum;

    /**
     * 门店ID
     */
    @Column(name = "store_id")
    private Long storeId;

    /**
     * 门店名称
     */
    @Column(name = "store_name")
    private String storeName;

    /**
     * 赠送卡可用金额
     */
    @Column(name = "gift_consume_money")
    @ExcelProperty("赠送可用金额")
    private BigDecimal giftConsumeMoney;


    /**
     * 账户到期时间
     */
    @Column(name = "end_time")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ExcelProperty("账户到期时间")
    private Date endTime;


    /**
     * 充值类别ID
     */
    @Column(name = "recharge_type_id")
    @ExcelProperty("充值类别ID*")
    private Long rechargeTypeId;

    /**
     * 充值类别名称
     */
    @Column(name = "recharge_type_name")
    @ExcelProperty("充值类别名称*")
    private String rechargeTypeName;

    @Column(name = "recharge_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date rechargeDate;

    private String rechargeTypeNum;



}