package com.wzj.soopin.transaction.domain.vo;


import com.alibaba.excel.annotation.ExcelProperty;
import com.wzj.soopin.member.annotation.MemberFillField;
import com.wzj.soopin.member.domain.vo.MemberVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.dromara.common.core.domain.model.BaseAudit;
import org.dromara.common.mybatis.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现
 *
 * @author wzj
 * @date 2023-03-07
 */
@Schema(description="充值")
@Data
public class ChargeVO extends BaseEntity {

    /**
     * 主键
     */
    @Schema(description ="主键")
    @ExcelProperty(value = "主键", order = 1)
    private Long id;

    /**
     * 提现码
     */

    @Schema(description ="充值码")
    @ExcelProperty(value = "充值码", order = 2)
    private String code;

    /**
     * 会员id
     */
    @Schema(description ="会员id")
    @ExcelProperty(value ="会员id", order = 3)
    private Long memberId;

    @Schema(description ="会员")
    @MemberFillField(id = "memberId")
    private MemberVO member;
    /**
     * 金额
     */
    @Schema(description ="金额")
    @ExcelProperty(value ="金额", order = 4)
    private BigDecimal money;

    /**
     * 手续费
     */
    @Schema(description ="手续费")
    @ExcelProperty(value ="手续费", order = 5)
    private BigDecimal fee;

    /**
     * 实际金额
     */
    @Schema(description ="实际金额")
    @ExcelProperty(value ="实际金额", order = 6)
    private BigDecimal actualMoney;


    /**
     * 状态
     */
    @Schema(description ="状态")
    @ExcelProperty(value ="状态", order = 7)
    private Integer status;
    /**
     * 类型
     */
    @Schema(description ="类型")
    @ExcelProperty(value ="类型", order = 8)
    private Integer type;
    /**
     * 审核人
     */
    @Schema(description ="审核人")
    @ExcelProperty(value ="审核人", order = 9)
    private Long auditBy;

    /**
     * 审核时间
     */
    @Schema(description ="审核时间")
    @ExcelProperty(value ="审核时间", order = 10)
    private LocalDateTime auditTime;

    /**
     * 提现方式
     */
    @Schema(description ="提现方式")
    @ExcelProperty(value ="提现方式", order = 11)
    private Integer method;

    /**
     * 审核状态
     */
    @Schema(description ="审核状态")
    @ExcelProperty(value ="审核状态", order = 12)
    private Integer  auditStatus;
}
