package com.dcsoft.system.consume.domain;

import com.dcsoft.common.core.annotation.Excel;
import com.dcsoft.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 充值记录对象 consume_recharge_record
 *
 * @author dcsoft
 * @date 2023-09-12
 */
public class ConsumeRechargeRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 帐号 */
    private String accountId;

    /** 帐号 */
    @Excel(name = "帐号",sort = 1)
    private String accountName;

    /** 后面A表示工号，如果是B表示卡号 */
    private String adminRecharge;

    /** 内部图片路径 */
    private String base64;

    /** 消费金额，分 */
    @Excel(name = "充值金额",sort = 3)
    private String consumeMoney;

    /** 折扣金额，分 */
    private String discountMoney;

    /** 工号 */
    @Excel(name = "工号",sort = 2)
    private String empId;

    /** 交易发起时间 */
    private String startTime;

    /** 交易结束时间 */
    private String endTime;

    /** 订单类型  1 充值 2补贴*/
    private String orderType;

    /** 单号,支付宝和微信使用，平台单号 */
    private String outTradeId;

    /** 支付类型：0人脸 1云卡  2刷卡 3支付宝 4微信 5取餐码 */
    private String payMode;

    /** 交易状态 0在线消费 1离线消费 2超时 3消费异常，4异常消费 */
    private String resultCode;

    /** 记录版本1考勤，2门禁，22人脸机消费，25人脸机充值 */
    private String ver;

    /**充值方式  现金/支付宝/微信/网银 **/
    @Excel(name = "充值方式",sort = 5,readConverterExp="0=现金,1=支付宝,2=微信,3=网银")
    private String rechargeMode;

    /**充值来源  平台/手机**/
    @Excel(name = "充值来源",sort = 6,readConverterExp="0=平台,1=手机")
    private String rechargeWay;

    /**充值类型 0补贴/1充值**/
    @Excel(name = "充值类型",sort = 7,readConverterExp="0=0补贴,1=充值")
    private String rechargeType;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "充值时间",sort = 4,dateFormat="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public String getRechargeMode() {
        return rechargeMode;
    }

    public void setRechargeMode(String rechargeMode) {
        this.rechargeMode = rechargeMode;
    }

    public String getRechargeWay() {
        return rechargeWay;
    }

    public void setRechargeWay(String rechargeWay) {
        this.rechargeWay = rechargeWay;
    }

    public String getRechargeType() {
        return rechargeType;
    }

    public void setRechargeType(String rechargeType) {
        this.rechargeType = rechargeType;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setAccountId(String accountId)
    {
        this.accountId = accountId;
    }

    public String getAccountId()
    {
        return accountId;
    }
    public void setAdminRecharge(String adminRecharge)
    {
        this.adminRecharge = adminRecharge;
    }

    public String getAdminRecharge()
    {
        return adminRecharge;
    }
    public void setBase64(String base64)
    {
        this.base64 = base64;
    }

    public String getBase64()
    {
        return base64;
    }
    public void setConsumeMoney(String consumeMoney)
    {
        this.consumeMoney = consumeMoney;
    }

    public String getConsumeMoney()
    {
        return consumeMoney;
    }
    public void setDiscountMoney(String discountMoney)
    {
        this.discountMoney = discountMoney;
    }

    public String getDiscountMoney()
    {
        return discountMoney;
    }
    public void setEmpId(String empId)
    {
        this.empId = empId;
    }

    public String getEmpId()
    {
        return empId;
    }
    public void setStartTime(String startTime)
    {
        this.startTime = startTime;
    }

    public String getStartTime()
    {
        return startTime;
    }
    public void setEndTime(String endTime)
    {
        this.endTime = endTime;
    }

    public String getEndTime()
    {
        return endTime;
    }
    public void setOrderType(String orderType)
    {
        this.orderType = orderType;
    }

    public String getOrderType()
    {
        return orderType;
    }
    public void setOutTradeId(String outTradeId)
    {
        this.outTradeId = outTradeId;
    }

    public String getOutTradeId()
    {
        return outTradeId;
    }
    public void setPayMode(String payMode)
    {
        this.payMode = payMode;
    }

    public String getPayMode()
    {
        return payMode;
    }
    public void setResultCode(String resultCode)
    {
        this.resultCode = resultCode;
    }

    public String getResultCode()
    {
        return resultCode;
    }
    public void setVer(String ver)
    {
        this.ver = ver;
    }

    public String getVer()
    {
        return ver;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountId", getAccountId())
            .append("adminRecharge", getAdminRecharge())
            .append("base64", getBase64())
            .append("consumeMoney", getConsumeMoney())
            .append("discountMoney", getDiscountMoney())
            .append("empId", getEmpId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("orderType", getOrderType())
            .append("outTradeId", getOutTradeId())
            .append("payMode", getPayMode())
            .append("resultCode", getResultCode())
            .append("ver", getVer())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
