package com.moral.entity; import com.moral.common.util.StringUtils; import com.moral.entity.charts.AreaRange; import lombok.Data; import org.apache.commons.lang.math.NumberUtils; @Data public class Region { private AreaRange areaRange; private Integer code; private Region(Integer code,AreaRange areaRange){ this.code = code; this.areaRange = areaRange; } public static Region create(Integer code){ if(code!=null){ return create(code.toString()); }else { return null; } } public static Region create(String code){ AreaRange areaRange = Region.determine(code); if(areaRange != null) { return new Region(Integer.parseInt(code),areaRange); }else { return null; } } public static AreaRange determine(String code) { AreaRange areaRange = null; if(!StringUtils.isNullOrEmpty(code)&& NumberUtils.isDigits(code)){ if(code.length()==6){ if(code.endsWith("0000")){ areaRange = AreaRange.PROVINCE; }else if(code.endsWith("00")){ areaRange = AreaRange.CITY; } else { areaRange = AreaRange.AREA; } } else if(code.length()==12){ if(code.endsWith("000")){ areaRange = AreaRange.TOWN; }else { areaRange = AreaRange.VILLAGE; } } } return areaRange; } }