package com.bonus.canteen.core.account.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

/**
 * 钱包交易记录详情对象 acc_trade_wallet_detail
 * 
 * @author xsheng
 * @date 2025-04-05
 */


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

    /** 主键id */
    private Long id;

    /** 账户交易记录id */
    @Excel(name = "账户交易记录id")
    @ApiModelProperty(value = "账户交易记录id")
    private Long tradeId;

    /** 人员id */
    @Excel(name = "人员id")
    @ApiModelProperty(value = "人员id")
    private Long userId;

    /** 钱包类型id */
    @Excel(name = "钱包类型id")
    @ApiModelProperty(value = "钱包类型id")
    private Integer walletId;

    /** 对应钱包交易金额/分 */
    @Excel(name = "对应钱包交易金额/分")
    @ApiModelProperty(value = "对应钱包交易金额/分")
    private BigDecimal amount;

    /** 钱包余额/分 */
    @Excel(name = "钱包余额/分")
    @ApiModelProperty(value = "钱包余额/分")
    private BigDecimal walletBal;

    /** 交易类型 */
    @Excel(name = "交易类型")
    @ApiModelProperty(value = "交易类型")
    private Integer tradeType;

    /** 对应钱包冻结金额/分 */
    @Excel(name = "对应钱包冻结金额/分")
    @ApiModelProperty(value = "对应钱包冻结金额/分")
    private BigDecimal frozenBalance;

    /** 交易时间(对应acc_trade交易时间) */
    @ApiModelProperty(value = "交易时间(对应acc_trade交易时间)")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交易时间(对应acc_trade交易时间)", width = 30, dateFormat = "yyyy-MM-dd")
    private Date tradeTime;

    /** 使用有效期 */
    @ApiModelProperty(value = "使用有效期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "使用有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validateTime;

    /** 已使用金额(针对存在使用有效期) */
    @Excel(name = "已使用金额(针对存在使用有效期)")
    @ApiModelProperty(value = "已使用金额(针对存在使用有效期)")
    private Long useAmount;

    /** 是否已执行过期清空 1-是 2-否 */
    @Excel(name = "是否已执行过期清空 1-是 2-否")
    @ApiModelProperty(value = "是否已执行过期清空 1-是 2-否")
    private Long expiredClear;


}
