package org.dromara.domain.asset;

import org.dromara.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;
import java.util.ArrayList;
import java.util.List;

/**
 * 资产类型对象 asset_type
 *
 * @author boman
 * @date 2025-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("asset_type")
public class AssetType extends TenantEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 资产类型id
     */
    @TableId(value = "asset_id")
    private Long assetId;

    /**
     * 父资产类型id
     */
    private Long parentId;

    /**
     * 祖级列表
     */
    private String ancestors;

    /**
     * 资产类型名称
     */
    private String assetName;

    /**
     * 显示顺序
     */
    private Long orderNum;

    /**
     * 资产类型状态（1正常 2停用）
     */
    private String status;

    /**
     * 删除标志（N代表存在 Y代表删除）
     */
    @TableLogic
    private String delFlag;


    /** 父资产名称 */
    private String parentName;
    /** 子资产 */
    private List<AssetType> children = new ArrayList<AssetType>();


}
