package com.fastbee.ggroup.domain;

import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;
import com.fastbee.ggroup.domain.vo.GGroupSiteVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.SuperBuilder;

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


/**
 * 组对象 g_groups
 *
 * @author kerwincui
 * @date 2024-09-27
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GGroups",description = "组 g_groups")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GGroups extends BaseEntity
        {
private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 组名 */
            @Excel(name = "组名")
            @ApiModelProperty("组名")
    private String name;

    /** 图标 */
            @Excel(name = "图标")
            @ApiModelProperty("图标")
    private String icon;

    /** 标签(1江河湖泊，2水利工程，3.检测站点，4.其他对象，5.水利事务，6.报警事件) */
            @Excel(name = "标签(1江河湖泊，2水利工程，3.检测站点，4.其他对象，5.水利事务，6.报警事件)")
            @ApiModelProperty("标签(1江河湖泊，2水利工程，3.检测站点，4.其他对象，5.水利事务，6.报警事件)")
    private Long tag;

    /** 项目id */
            @Excel(name = "项目id")
            @ApiModelProperty("项目id")
    private Long projectId;

    /** 项目名称 */
            @Excel(name = "项目名称")
            @ApiModelProperty("项目名称")
    private String projectName;

    /** 空间数据 */
            @Excel(name = "空间数据")
            @ApiModelProperty("空间数据")
    private String space;

    private String spaceValue;

    //------------------------------------------------拓展业务字段--------------------------------------------

    /** 父菜单名称 */
    private String parentName;

    /** 父菜单ID */
    private Long parentId;

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

    /** 子组 */
    private List<GGroups> children = new ArrayList<>();

    /**节点类型：0组，1站点 */
    private Integer nodeType= 0;

    /**节点类型为1时使用 站点id */
    private Long siteId;

    /**站点类型 */
    private String siteType;

    /**站点名称行政区划代码 */
    private List<String> areaCodeList;


}