package com.czg.system.entity;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;

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

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 行政区表 实体类。
 *
 * @author ww
 * @since 2026-01-06
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("sys_region")
public class SysRegion implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 区域编码
     */
    @Id
    private String regionId;

    /**
     * 上级区域编码
     */
    private String parentRegionId;

    /**
     * 区域级别：1=国家，2=省，3=市，4=县
     */
    @Id
    private Integer regionLevel;

    /**
     * 区域中文全称
     */
    private String regionName;

    /**
     * 区域拼音
     */
    private String regionPinyin;

    /**
     * 全级别名称（如“中国|北京|北京市|东城区）
     */
    private String fullName;
    /**
     * 微信区域编码
     */
    private String wxProvinceCode;

    /**
     * 子级区域
     */
    @Column(ignore = true)
    private List<SysRegion> children;

}
