获取省市区县的工具类,项目启动时候加载好,接口直接调用即可
sql脚本链接
https://download.csdn.net/download/weixin_43908805/19091626
public class RegionCacheUtil implements InitializingBean {
public static List<SysRegionEntity> sysRegionEntityList;
public static void init() {
SysRegionDao regionDao = SpringContextUtils.getBean(SysRegionDao.class);
if (null != regionDao) {
sysRegionEntityList = regionDao.queryList(new HashMap<String, Object>());
}
}
/**
* 获取所有国家
*
* @return
*/
public static List<SysRegionEntity> getAllCountry() {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType().equals(0)) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取全部省份
*
* @return
*/
public static List<SysRegionEntity> getAllProvice() {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType().equals(1)) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取所有城市
*
* @return
*/
public static List<SysRegionEntity> getAllCity() {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType().equals(2)) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 根据国家获取全部省份
*
* @return
*/
public static List<SysRegionEntity> getAllProviceByParentId(Integer areaId) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == areaId) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && areaVo.getType().equals(1) && areaId.equals(areaVo.getParentId())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取地市
*
* @return
*/
public static List<SysRegionEntity> getChildrenCity(Integer areaId) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == areaId) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && areaVo.getType().equals(2) && areaId.equals(areaVo.getParentId())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取地市
*
* @return
*/
public static List<SysRegionEntity> getChildrenCity(String proviceName) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == proviceName) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && areaVo.getType().equals(2) && proviceName.equals(areaVo.getParentName())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取区县
*
* @return
*/
public static List<SysRegionEntity> getChildrenDistrict(Integer areaId) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == areaId) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && areaVo.getType().equals(3) && areaId.equals(areaVo.getParentId())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取区县
*
* @return
*/
public static List<SysRegionEntity> getChildrenDistrict(String provinceName, String cityName) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == provinceName || null == cityName) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && areaVo.getType().equals(3)
&& cityName.equals(areaVo.getParentName())
&& null != getAreaByAreaId(areaVo.getParentId())
&& provinceName.equals(getAreaByAreaId(areaVo.getParentId()).getParentName())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取区县
*
* @return
*/
public static List<SysRegionEntity> getChildrenByParentId(Integer parentId) {
List<SysRegionEntity> resultObj = new ArrayList<SysRegionEntity>();
if (null == parentId) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (null != areaVo.getParentId() && parentId.equals(areaVo.getParentId())) {
resultObj.add(areaVo);
}
}
}
return resultObj;
}
/**
* 获取区域名称
*
* @return
*/
public static String getAreaNameByAreaId(Integer areaId) {
if (null == areaId) {
return "";
}
String resultObj = areaId.toString();
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getId().equals(areaId)) {
resultObj = areaVo.getName();
break;
}
}
}
return resultObj;
}
/**
* 根据Id获取区域
*
* @return
*/
public static SysRegionEntity getAreaByAreaId(Integer areaId) {
SysRegionEntity resultObj = null;
if (null == areaId) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getId().equals(areaId)) {
resultObj = areaVo;
break;
}
}
}
return resultObj;
}
/**
* 根据Id获取区域
*
* @return
*/
public static Integer getProvinceIdByName(String areaName) {
Integer resultObj = null;
if (null == areaName) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType() == 1 && areaVo.getName().equals(areaName)) {
resultObj = areaVo.getId();
break;
}
}
}
return resultObj;
}
/**
* 根据Id获取区域
*
* @return
*/
public static Integer getCityIdByName(Integer provinceId, String areaName) {
Integer resultObj = null;
if (null == areaName) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType() == 2 && areaVo.getName().equals(areaName)
&& areaVo.getParentId().equals(provinceId)) {
resultObj = areaVo.getId();
break;
}
}
}
return resultObj;
}
/**
* 根据Id获取区域
*
* @return
*/
public static Integer getDistrictIdByName(Integer provinceId, Integer cityId, String areaName) {
Integer resultObj = null;
if (null == areaName) {
return resultObj;
}
if (null != sysRegionEntityList) {
for (SysRegionEntity areaVo : sysRegionEntityList) {
if (areaVo.getType() == 3 && areaVo.getName().equals(areaName)
&& areaVo.getParentId().equals(cityId)
&& null != getAreaByAreaId(areaVo.getParentId())
&& null != getAreaByAreaId(areaVo.getParentId()).getParentId()
&& getAreaByAreaId(areaVo.getParentId()).getParentId().equals(provinceId)) {
resultObj = areaVo.getId();
break;
}
}
}
return resultObj;
}
@Override
public void afterPropertiesSet() throws Exception {
init();
}
}
映射实体
public class SysRegionEntity extends Tree<SysRegionEntity> {
//主键
private Integer id;
//父节点
private Integer parentId;
//区域名称
private String name;
//类型 0国家 1省份 2地市 3区县
private Integer type;
//区域代理Id
private Integer agencyId;
/**
* 翻译用字段
*/
//父级名称
private String parentName;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getParentId() {
return parentId;
}
public void setParentId(Integer parentId) {
this.parentId = parentId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getAgencyId() {
return agencyId;
}
public void setAgencyId(Integer agencyId) {
this.agencyId = agencyId;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
}
实体
public class Tree<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**********iview tree属性**************/
/**
* 标题
*/
private String title;
/**
* 是否展开直子节点
*/
private boolean expand = false;
/**
* 禁掉响应
*/
private boolean disabled = false;
/**
* 禁掉 checkbox
*/
private boolean disableCheckbox = false;
/**
* 是否选中子节点
*/
private boolean selected = false;
/**
* 是否勾选(如果勾选,子节点也会全部勾选)
*/
private boolean checked = false;
private boolean leaf = false;
/**
* ztree属性
*/
private Boolean open;
private List<?> list;
/**
* 子节点属性数组
*/
private List<?> children;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public boolean isExpand() {
return expand;
}
public void setExpand(boolean expand) {
this.expand = expand;
}
public boolean isDisabled() {
return disabled;
}
public void setDisabled(boolean disabled) {
this.disabled = disabled;
}
public boolean isDisableCheckbox() {
return disableCheckbox;
}
public void setDisableCheckbox(boolean disableCheckbox) {
this.disableCheckbox = disableCheckbox;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public List<?> getChildren() {
return children;
}
public void setChildren(List<?> children) {
this.children = children;
}
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}
public Boolean getOpen() {
return open;
}
public void setOpen(Boolean open) {
this.open = open;
}
public List<?> getList() {
return list;
}
public void setList(List<?> list) {
this.list = list;
}
}