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;

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

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

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

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

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

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

    /** 剩余次数 */
    @Excel(name = "剩余次数")
    private String surplusNum;
    /**
     * 子菜单
     */
    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(Long recordName) 
    {
        this.recordName = recordName;
    }

    public Long 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;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("recordYear", getRecordYear())
            .append("recordType", getRecordType())
            .append("recordName", getRecordName())
            .append("orderNum", getOrderNum())
            .append("useNum", getUseNum())
            .append("creditId", getCreditId())
            .append("surplusNum", getSurplusNum())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
