package com.fastbee.rechargecard.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;

/**
 * 用户充值记录对象 ng_user_recharge_records
 *
 * @author kerwincui
 * @date 2024-12-19
 */
@ApiModel(value = "NgUserRechargeRecords",description = "用户充值记录 ng_user_recharge_records")
@Data
@EqualsAndHashCode(callSuper = true)
public class NgUserRechargeRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

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

    /** 用户id，与用户表连接 */
    @Excel(name = "用户id，与用户表连接")
    @ApiModelProperty("用户id，与用户表连接")
    private Long userId;

    /** 用户名 */
    @Excel(name = "用户名")
    @ApiModelProperty("用户名")
    private String userName;

    /** 充值卡号 */
    @Excel(name = "充值卡号")
    @ApiModelProperty("充值卡号")
    private String cardNumber;

    /** 区域号 */
    @Excel(name = "区域号")
    @ApiModelProperty("区域号")
    private String areaCode;

    /** 充值类型，0=充值机，1=微信，2=支付宝 */
    @Excel(name = "充值类型，0=充值机，1=微信，2=支付宝")
    @ApiModelProperty("充值类型，0=充值机，1=微信，2=支付宝")
    private Integer type;

    /** 充值金额 */
    @Excel(name = "充值金额")
    @ApiModelProperty("充值金额")
    private BigDecimal amount;

    /** 卡内余额（充值后余额） */
    @Excel(name = "卡内余额", readConverterExp = "充=值后余额")
    @ApiModelProperty("卡内余额")
    private BigDecimal balance;

    /** 充值时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充值时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("充值时间")
    private Date rechargeTime;

    /** 充值编码 */
    @Excel(name = "充值编码")
    @ApiModelProperty("充值编码")
    private String rechargeCode;

    /** 充值状态,0=成功，1=失败 */
    @Excel(name = "充值状态,0=成功，1=失败")
    @ApiModelProperty("充值状态,0=成功，1=失败")
    private Integer status;

    /** 充值机编码 */
    @Excel(name = "充值机编码")
    @ApiModelProperty("充值机编码")
    private String serialNumber;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @ApiModelProperty("设备编码")
    private String deviceNumber;

    /** 项目编码 */
    @Excel(name = "项目编码")
    @ApiModelProperty("项目编码")
    private Long projectId;

    /** 机构id */
    @Excel(name = "机构id")
    @ApiModelProperty("机构id")
    private Long deptId;

}
