package com.ruoyi.system.domain;

import com.ruoyi.common.core.domain.entity.PolicyMenu;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.ArrayList;
import java.util.List;

/**
 * 使用记录对象 usage_record
 * 
 * @author boman
 * @date 2022-06-13
 */
public class UsageRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long recordId;

    /** 商家ID */
    private Long businessId;

    /** 分类id */
    private Long policyId;

    /** 使用权益id */
    private Long interestsId;

    /** 记录年份 */
    @Excel(name = "记录年份")
    private String recordYear;

    /** 记录类型 */
    @Excel(name = "记录类型")
    private String recordType;

    /** 记录名称 */
    @Excel(name = "记录名称")
    private String recordName;

    /** 核销人员等级 */
    @Excel(name = "核销人员等级")
    private String recordLevel;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer orderNum;

    /** 使用次数 */
    @Excel(name = "使用次数")
    private String useNum;

    /** 使用人id */
    @Excel(name = "使用人id")
    private Long creditId;

    /** 使用人姓名 */
    @Excel(name = "使用人姓名")
    private String creditName;


    /** 剩余次数 */
    @Excel(name = "剩余次数")
    private String surplusNum;

    /** 使用人手机号 */
    @Excel(name = "使用人手机号")
    private String creditPhone;
    /**
     * 子菜单
     */
    private List<UsageRecord> children = new ArrayList<UsageRecord>();

    public List<UsageRecord> getChildren() {
        return children;
    }

    public void setChildren(List<UsageRecord> children) {
        this.children = children;
    }

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setRecordYear(String recordYear) 
    {
        this.recordYear = recordYear;
    }

    public String getRecordYear() 
    {
        return recordYear;
    }
    public void setRecordType(String recordType) 
    {
        this.recordType = recordType;
    }

    public String getRecordType() 
    {
        return recordType;
    }
    public void setRecordName(String recordName)
    {
        this.recordName = recordName;
    }

    public String getRecordName()
    {
        return recordName;
    }
    public void setOrderNum(Integer orderNum) 
    {
        this.orderNum = orderNum;
    }

    public Integer getOrderNum() 
    {
        return orderNum;
    }
    public void setUseNum(String useNum) 
    {
        this.useNum = useNum;
    }

    public String getUseNum() 
    {
        return useNum;
    }
    public void setCreditId(Long creditId) 
    {
        this.creditId = creditId;
    }

    public Long getCreditId() 
    {
        return creditId;
    }
    public void setSurplusNum(String surplusNum) 
    {
        this.surplusNum = surplusNum;
    }

    public String getSurplusNum() 
    {
        return surplusNum;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getBusinessId() {
        return businessId;
    }

    public Long getPolicyId() {
        return policyId;
    }

    public Long getInterestsId() {
        return interestsId;
    }

    public void setBusinessId(Long businessId) {
        this.businessId = businessId;
    }

    public void setPolicyId(Long policyId) {
        this.policyId = policyId;
    }

    public void setInterestsId(Long interestsId) {
        this.interestsId = interestsId;
    }

    public String getCreditPhone() {
        return creditPhone;
    }

    public void setCreditPhone(String creditPhone) {
        this.creditPhone = creditPhone;
    }

    public String getRecordLevel() {
        return recordLevel;
    }

    public void setRecordLevel(String recordLevel) {
        this.recordLevel = recordLevel;
    }

    public String getCreditName() {
        return creditName;
    }

    public void setCreditName(String creditName) {
        this.creditName = creditName;
    }

    @Override
    public String toString() {
        return "UsageRecord{" +
                "recordId=" + recordId +
                ", businessId=" + businessId +
                ", policyId=" + policyId +
                ", interestsId=" + interestsId +
                ", recordYear='" + recordYear + '\'' +
                ", recordType='" + recordType + '\'' +
                ", recordName='" + recordName + '\'' +
                ", recordLevel='" + recordLevel + '\'' +
                ", orderNum=" + orderNum +
                ", useNum='" + useNum + '\'' +
                ", creditId=" + creditId +
                ", creditName='" + creditName + '\'' +
                ", surplusNum='" + surplusNum + '\'' +
                ", creditPhone='" + creditPhone + '\'' +
                ", children=" + children +
                '}';
    }
}
