package com.hotwj.platform.pay.domain.vo;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.hotwj.platform.pay.domain.PayWallet;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 会员钱包视图对象 pay_wallet
 *
 * @author shihongwei
 * @date 2026-05-08
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PayWallet.class)
public class PayWalletVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @ExcelProperty(value = "编号")
    private Long id;

    /**
     * 用户编号（企业则为企业id）
     */
    @ExcelProperty(value = "用户编号", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "企=业则为企业id")
    private Long userId;

    /**
     * 余额
     */
    @ExcelProperty(value = "余额")
    private BigDecimal balance;

    /**
     * 累计支出
     */
    @ExcelProperty(value = "累计支出")
    private BigDecimal totalExpense;

    /**
     * 累计充值
     */
    @ExcelProperty(value = "累计充值")
    private BigDecimal totalRecharge;

    /**
     * 冻结金额
     */
    @ExcelProperty(value = "冻结金额")
    private BigDecimal freezePrice;

    /**
     * 1.个人账户 2.企业账户
     */
    @ExcelProperty(value = "1.个人账户 2.企业账户")
    private Long walletType;

    /**
     * 冻结状态：0=正常 1=冻结
     */
    @ExcelProperty(value = "冻结状态：0正常 1冻结")
    private Long freezeStatus;

    /**
     * 创建者姓名
     */
    @ExcelProperty(value = "创建者姓名")
    private String createByName;

    /**
     * 更新者姓名
     */
    @ExcelProperty(value = "更新者姓名")
    private String updateByName;

    /**
     * 0=正常, 1=已删除
     */
    @ExcelProperty(value = "0=正常, 1=已删除")
    private Long isDeleted;


}
