package com.iailab.framework.ip.core; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.iailab.framework.ip.core.enums.AreaTypeEnum; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import java.util.List; /** * 区域节点,包括国家、省份、城市、地区等信息 * * 数据可见 resources/area.csv 文件 * * @author iailab */ @Data @AllArgsConstructor @NoArgsConstructor @ToString(exclude = {"parent"}) public class Area { /** * 编号 - 全球,即根目录 */ public static final Integer ID_GLOBAL = 0; /** * 编号 - 中国 */ public static final Integer ID_CHINA = 1; /** * 编号 */ private Integer id; /** * 名字 */ private String name; /** * 类型 * * 枚举 {@link AreaTypeEnum} */ private Integer type; /** * 父节点 */ @JsonManagedReference private Area parent; /** * 子节点 */ @JsonManagedReference private List children; }