package com.game.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.game.common.annotation.Excel;
import com.game.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.apache.commons.math3.analysis.function.Identity;

/**
 * 提现记录对象 app_users_cashrecord
 *
 * @author game
 * @date 2024-06-18
 */
@ApiModel(value = "app_users_cashrecord", description = "提现记录")
@TableName(value= "app_users_cashrecord")
@Data
public class AppUsersCashrecord
        {
private static final long serialVersionUID=1L;

    /** $column.columnComment */
    @ApiModelProperty(value = "$column.columnComment")
    @TableId(value = "id" , type = IdType.AUTO)
    private Long id;

    /** 账号 */
    @ApiModelProperty(value = "账号")
    @Excel(name = "账号")
    @TableField(value = "account")
    private String account;

    /** 银行名称 */
    @ApiModelProperty(value = "银行名称")
    @Excel(name = "银行名称")
    @TableField(value = "account_bank")
    private String accountBank;

    /** 实际到账金额 */
    @ApiModelProperty(value = "实际到账金额")
    @Excel(name = "实际到账金额")
    @TableField(value = "actual_money")
    private BigDecimal actualMoney;

    /** 申请时间 */
    @ApiModelProperty(value = "申请时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "addtime")
    private Date addtime;

    /** 提现后剩余余额 */
    @ApiModelProperty(value = "提现后剩余余额")
    @Excel(name = "提现后剩余余额")
    @TableField(value = "after_amount")
    private BigDecimal afterAmount;

    /** 审核人 */
    @ApiModelProperty(value = "审核人")
    @Excel(name = "审核人")
    @TableField(value = "auditby")
    private String auditby;

    /** 提现前金额 */
    @ApiModelProperty(value = "提现前金额")
    @Excel(name = "提现前金额")
    @TableField(value = "before_amount")
    private BigDecimal beforeAmount;

    /** 转账商户订单号 */
    @ApiModelProperty(value = "转账商户订单号")
    @Excel(name = "转账商户订单号")
    @TableField(value = "cash_out_biz_no")
    private String cashOutBizNo;

    /** 转账支付宝订单号 */
    @ApiModelProperty(value = "转账支付宝订单号")
    @Excel(name = "转账支付宝订单号")
    @TableField(value = "cash_out_order_id")
    private String cashOutOrderId;

    /** 支付宝资金流水号 */
    @ApiModelProperty(value = "支付宝资金流水号")
    @Excel(name = "支付宝资金流水号")
    @TableField(value = "cash_out_pay_order_id")
    private String cashOutPayOrderId;

    /** 转出备注 */
    @ApiModelProperty(value = "转出备注")
    @Excel(name = "转出备注")
    @TableField(value = "cash_out_remark")
    private String cashOutRemark;

    /** 账号类型 0无转出  1转出成功   2转出失败  3转出中 */
    @ApiModelProperty(value = "账号类型 0无转出  1转出成功   2转出失败  3转出中")
    @Excel(name = "账号类型 0无转出  1转出成功   2转出失败  3转出中")
    @TableField(value = "cash_out_status")
    private Long cashOutStatus;

    /** 提现类型：1:收益 2:佣金 3:主播向公会 5：映票兑换金币 6:余额兑换金币 */
    @ApiModelProperty(value = "提现类型：1:收益 2:佣金 3:主播向公会 4:商家提现 5：映票兑换金币  6:余额兑换金币  7:余额提现")
    @Excel(name = "提现类型：1:收益 2:佣金 3:主播向公会 4:商家提现 5：映票兑换金币  6:余额兑换金币  7:余额提现")
    @TableField(value = "cash_type")
    private Long cashType;

    /** 公会ID */
    @ApiModelProperty(value = "公会ID")
    @Excel(name = "公会ID")
    @TableField(value = "guild_id")
    private Long guildId;

    /** 提现金额 */
    @ApiModelProperty(value = "提现金额")
    @Excel(name = "提现金额")
    @TableField(value = "money")
    private BigDecimal money;

    /** 姓名 */
    @ApiModelProperty(value = "姓名")
    @Excel(name = "姓名")
    @TableField(value = "name")
    private String name;

    /** 订单号 */
    @ApiModelProperty(value = "订单号")
    @Excel(name = "订单号")
    @TableField(value = "orderno")
    private String orderno;

    /** 平台服务费 */
    @ApiModelProperty(value = "平台服务费")
    @Excel(name = "平台服务费")
    @TableField(value = "platform_service")
    private BigDecimal platformService;

    /** 审核备注 */
    @ApiModelProperty(value = "审核备注")
    @Excel(name = "审核备注")
    @TableField(value = "reason")
    private String reason;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注")
    @TableField(value = "remarks")
    private String remarks;

    /** 服务费 */
    @ApiModelProperty(value = "服务费")
    @Excel(name = "服务费")
    @TableField(value = "service")
    private BigDecimal service;

    /** 状态 0:审核中 1:审核通过 2:审核拒绝 */
    @ApiModelProperty(value = "状态 0:审核中 1:审核通过 2:审核拒绝")
    @Excel(name = "状态 0:审核中 1:审核通过 2:审核拒绝")
    @TableField(value = "status")
    private Long status;

    /** $column.columnComment */
    @ApiModelProperty(value = "$column.columnComment")
    @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()")
    @TableField(value = "status_name")
    private String statusName;

    /** 三方订单号 */
    @ApiModelProperty(value = "三方订单号")
    @Excel(name = "三方订单号")
    @TableField(value = "trade_no")
    private String tradeNo;

    /** 账号类型 1支付宝 2微信 3银行卡 */
    @ApiModelProperty(value = "账号类型 1支付宝 2微信 3银行卡")
    @Excel(name = "账号类型 1支付宝 2微信 3银行卡")
    @TableField(value = "type")
    private Long type;

    /** 用户ID */
    @ApiModelProperty(value = "用户ID")
    @Excel(name = "用户ID")
    @TableField(value = "uid")
    private Long uid;

    /** 货币单位类型 1：金币  2：佣金 */
    @ApiModelProperty(value = "货币单位类型 1：金币  2：佣金")
    @Excel(name = "货币单位类型 1：金币  2：佣金")
    @TableField(value = "unit_type")
    private Long unitType;

    /** 更新时间， 审核时间 */
    @ApiModelProperty(value = "更新时间， 审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间， 审核时间" , width = 30, dateFormat = "yyyy-MM-dd")
    @TableField(value = "uptime")
    private Date uptime;

    /** 提现数量(所有类型cash_type都有值) */
    @ApiModelProperty(value = "提现数量(所有类型cash_type都有值)")
    @Excel(name = "提现数量(所有类型cash_type都有值)")
    @TableField(value = "votes")
    private BigDecimal votes;

}