package com.ruoyi.invest.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
/**
 * pos机信息对象 pos_machine
 *
 * @author tianyongbao
 * @date 2024-03-18
 */
@ApiModel("pos机信息对象")
@Data
public class PosMachine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** pos机名称 */
    @ApiModelProperty(value="pos机名称")
    @Excel(name = "pos机名称")
    private String name;

    /** 类型 */
    @ApiModelProperty(value="类型")
    @Excel(name = "类型")
    private String type;

    /** 厂商 */
    private String manufacture;

    /** 支付公司 */
    private String payCompany;

    /** 商户名称 */
    @ApiModelProperty(value="商户名称")
    @Excel(name = "商户名称")
    private String merchantName;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    /** 编号 */
    private String code;

    /** 刷卡费率 */
    @ApiModelProperty(value="刷卡费率")
    @Excel(name = "刷卡费率")
    private Double rate;


    /** 刷卡费率+ */
    @ApiModelProperty(value="刷卡费率+")
    @Excel(name = "刷卡费率+")
    private Integer ratePlus;

    /** 结算卡 */
    @ApiModelProperty(value="结算卡")
    @Excel(name = "结算卡")
    private Long debitCard;

    /** 商户类型 */
    @ApiModelProperty(value="商户类型")
    @Excel(name = "商户类型")
    private String merchantType;

    /** 商户码 */
    @ApiModelProperty(value="商户码")
    @Excel(name = "商户码")
    private String merchantCode;

    /** 启用日期 */
    @Excel(name = "启用日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date activationDate;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("type", getType())
            .append("manufacture", getManufacture())
            .append("payCompany", getPayCompany())
            .append("merchantName", getMerchantName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .append("code", getCode())
            .append("rate", getRate())
            .append("debitCard", getDebitCard())
            .append("merchantType", getMerchantType())
            .append("merchantCode", getMerchantCode())
            .append("activationDate", getActivationDate())
                .append("ratePlus", getRatePlus())
            .toString();
    }
}
