| | |
| | | public Region getById(Serializable id) { |
| | | return Optional.ofNullable(id) |
| | | .map(val -> baseMapper.selectOne(new LambdaQueryWrapper<Region>() |
| | | .eq(Region::getId, val) |
| | | // 1. 处理 id = ? 部分,强制转为 bigint |
| | | .apply("id = {0}::bigint", val) |
| | | .or() |
| | | .eq(Region::getCode, val))) |
| | | // 2. 处理 code = ? 部分,强制转为 varchar |
| | | .apply("code = {0}::varchar", val))) |
| | | .orElse(null); |
| | | } |
| | | |
| | |
| | | } |
| | | if (regionParentCode.startsWith(MAIN_CODE)) { |
| | | region.setParentCode(StringUtil.removePrefix(regionParentCode, MAIN_CODE)); |
| | | } |
| | | region.setCityName("吉安市"); |
| | | region.setCityCode("360800000000"); |
| | | region.setProvinceCode("360000000000"); |
| | | region.setProvinceName("江西省"); |
| | | if (region.getRegionLevel().equals(DISTRICT_LEVEL)) { |
| | | region.setDistrictCode(region.getCode()); |
| | | region.setDistrictName(region.getName()); |
| | | } |
| | | if (region.getRegionLevel().equals(TOWN_LEVEL)) { |
| | | String parentCode = region.getParentCode(); |
| | | Region byCode = getByCode(parentCode); |
| | | region.setDistrictCode(byCode.getCode()); |
| | | region.setDistrictName(byCode.getName()); |
| | | region.setTownCode(region.getCode()); |
| | | region.setTownName(region.getName()); |
| | | } |
| | | if (region.getRegionLevel().equals(VILLAGE_LEVEL)) { |
| | | String parentCode = region.getParentCode(); |
| | | Region byCode = getByCode(parentCode); |
| | | region.setTownCode(byCode.getCode()); |
| | | region.setTownName(byCode.getName()); |
| | | Region byCode2 = getByCode(byCode.getParentCode()); |
| | | region.setDistrictCode(byCode2.getCode()); |
| | | region.setDistrictName(byCode2.getName()); |
| | | region.setVillageCode(region.getCode()); |
| | | region.setVillageName(region.getName()); |
| | | } |
| | | // 查询是否已存在 |
| | | Long cnt = baseMapper.selectCount(Wrappers.<Region>query().lambda().eq(Region::getCode, region.getCode())); |
| | |
| | | if (cnt > 0L) { |
| | | throw new ServiceException("请先删除子节点!"); |
| | | } |
| | | return removeById(id); |
| | | Long idLong = Long.valueOf(id); |
| | | return removeById(idLong); |
| | | } |
| | | |
| | | @Override |