diff --git a/src/main/java/com/whdc/controller/AddressBookController.java b/src/main/java/com/whdc/controller/AddressBookController.java index 40bba15..d0b4aad 100644 --- a/src/main/java/com/whdc/controller/AddressBookController.java +++ b/src/main/java/com/whdc/controller/AddressBookController.java @@ -28,6 +28,7 @@ import org.apache.commons.compress.utils.Lists; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -72,6 +73,9 @@ public class AddressBookController { @Autowired private IAbUdRService abUdRService; + @Autowired + private RedisTemplate redisTemplate; + // @ApiOperation(value = "查询所有") // @PostMapping(value = "find") @@ -151,6 +155,7 @@ public class AddressBookController { versionsService.saveInfo(model, VersionsType.ADD, adcd); if (save) { + redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*"); // 没有手机号用名字注册 //"省防指".equals(organizationsService.getById(model.getOrganization()).getName()) // && @@ -279,6 +284,10 @@ public class AddressBookController { versionsService.saveInfo(model, VersionsType.UPDATE, adcd); boolean data = service.updateById(model); if (data) { + + redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*"); + + String organization = model.getOrganization(); if (StringUtils.isNotBlank(model.getAdcd())) { organization = model.getAdcd().replaceFirst("000000", ""); diff --git a/src/main/java/com/whdc/controller/AdinfoController.java b/src/main/java/com/whdc/controller/AdinfoController.java index 567c4a2..feb09aa 100644 --- a/src/main/java/com/whdc/controller/AdinfoController.java +++ b/src/main/java/com/whdc/controller/AdinfoController.java @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * @author xusan @@ -57,14 +58,15 @@ public class AdinfoController { @ApiParam(value = "编码或名称,all: 查询全部") String adcdOradnm) { + + List list = service.tree(null, null); // 查询全部标识 if ("all".equals(adcdOradnm)) { - adcdOradnm = null; + return ResultJson.ok(list); + }else{ + return ResultJson.ok(list.stream().filter(item -> item.getAdnm().equals(adcdOradnm)).collect(Collectors.toList())); } - List list = service.tree(adcdOradnm, adcdOradnm); - return ResultJson.ok(list); - } @GetMapping("/getCountys/{adnm}") diff --git a/src/main/java/com/whdc/controller/VersionsController.java b/src/main/java/com/whdc/controller/VersionsController.java index c562d3f..d08a896 100644 --- a/src/main/java/com/whdc/controller/VersionsController.java +++ b/src/main/java/com/whdc/controller/VersionsController.java @@ -8,9 +8,11 @@ import com.whdc.utils.ResultJson; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; import java.util.Objects; /** @@ -37,14 +39,16 @@ public class VersionsController { @ApiOperation(value = "分页查询") @PostMapping(value = "page") - public ResultJson page(@RequestBody CommDto dto) { - + public ResultJson page(@RequestBody CommDto dto, HttpServletRequest request) { + if (StringUtils.isBlank(dto.getAdcd())){ + dto.setAdcd(request.getHeader("adcd")); + } return ResultJson.ok(service.page(dto)); } @ApiOperation(value = "通过版本号查询") - @GetMapping(value = "getByV/{abId}/{version}/{type}") + @GetMapping(value = "getByV/{abId}/{version}") public ResultJson getByV(@PathVariable("abId") Integer abId, @PathVariable("version") Integer version) { if (version < 0) { return ResultJson.error("版本号不能小于0"); diff --git a/src/main/java/com/whdc/controller/WarningController.java b/src/main/java/com/whdc/controller/WarningController.java index 26d3519..2968143 100644 --- a/src/main/java/com/whdc/controller/WarningController.java +++ b/src/main/java/com/whdc/controller/WarningController.java @@ -232,7 +232,14 @@ public class WarningController { vo.setWarnSignalType(warning.getWarnSignalType()); vo.setWarnSignalLevel(warning.getWarnSignalLevel()); vo.setAdnm(publishUnit.replace("气象台", "")); - vo.setAddressBooks(addressBookService.getListByAdnm(publishUnit.replace("气象台", ""))); + String adnm = publishUnit.replace("气象台", ""); + + String adcd = adinfoService.getAdcdByAdnm(adnm); + if (StringUtils.isNotBlank(adcd)){ + vo.setAddressBooks(addressBookService.getListByAdnm(adcd)); + }else{ + log.info("当前行政区划不存在: " + adnm); + } respList.add(vo); } } diff --git a/src/main/java/com/whdc/service/IAdinfoService.java b/src/main/java/com/whdc/service/IAdinfoService.java index 92769cb..ca7902f 100644 --- a/src/main/java/com/whdc/service/IAdinfoService.java +++ b/src/main/java/com/whdc/service/IAdinfoService.java @@ -23,4 +23,6 @@ public interface IAdinfoService extends IService { List find(Adinfo dto); List tree(String adcd, String adnm1); + + String getAdcdByAdnm(String adnm); } \ No newline at end of file diff --git a/src/main/java/com/whdc/service/impl/AddressBookServiceImpl.java b/src/main/java/com/whdc/service/impl/AddressBookServiceImpl.java index fbce475..ab2df4c 100644 --- a/src/main/java/com/whdc/service/impl/AddressBookServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/AddressBookServiceImpl.java @@ -6,7 +6,6 @@ import com.whdc.mapper.AddressBookMapper; import com.whdc.model.dto.AddressBootDto; import com.whdc.model.entity.AddressBook; import com.whdc.model.vo.AddressBookVo; -import com.whdc.model.vo.ExcelABVo; import com.whdc.service.IAddressBookService; import org.apache.commons.lang3.StringUtils; import org.springframework.cache.annotation.Cacheable; diff --git a/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java b/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java index d707351..aef5a0e 100644 --- a/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/AdinfoServiceImpl.java @@ -12,11 +12,14 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; +import static com.whdc.model.MyConstant.REDIS_KEY; + /** *

* 服务实现类 @@ -28,6 +31,7 @@ import java.util.stream.Collectors; @Service public class AdinfoServiceImpl extends ServiceImpl implements IAdinfoService { + public static final String ADINFO_REDIS_KEY = REDIS_KEY + "adinfo:"; @Override public IPage page(Adinfo dto) { @@ -105,6 +109,21 @@ public class AdinfoServiceImpl extends ServiceImpl impleme return sorted(tree); } + @Override + @Cacheable(value = ADINFO_REDIS_KEY, key = "#root.method.name+':'+#adnm") + public String getAdcdByAdnm(String adnm) { + Adinfo one = this.lambdaQuery().eq(Adinfo::getAdnm, adnm).one(); + if (one != null) { + String adcd = one.getAdcd(); + if (adcd.contains("00000000000")){ + // 查询市辖区的数据 + adcd = adcd.replace("00000000000","01000000000"); + } + return adcd; + } + return null; + } + public List treeList(String adcd, String adnm) { if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){ diff --git a/src/main/java/com/whdc/service/impl/UserServiceImpl.java b/src/main/java/com/whdc/service/impl/UserServiceImpl.java index 986d2d5..670fab2 100644 --- a/src/main/java/com/whdc/service/impl/UserServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/UserServiceImpl.java @@ -83,16 +83,17 @@ public class UserServiceImpl extends ServiceImpl implements IU if (Objects.nonNull(book)){ String adcd = book.getAdcd(); if (StringUtils.isNotBlank(adcd)) { - if ("00000000000".equals(adcd.substring(4))) { // 市 - out.setAdlevel(1); - out.setAdcd(adcd.replace("00000000000","")); - } else if ("000000000".equals(adcd.substring(6))) { // 县 - out.setAdcd(adcd.replace("000000000","")); - out.setAdlevel(2); - }else{ - out.setAdcd(adcd); - } - +// if ("00000000000".equals(adcd.substring(4))) { // 市 +// out.setAdlevel(1); +// out.setAdcd(adcd.replace("00000000000","")); +// } else if ("000000000".equals(adcd.substring(6))) { // 县 +// out.setAdcd(adcd.replace("000000000","")); +// out.setAdlevel(2); +// }else{ +// out.setAdcd(adcd); +// } + out.setAdlevel(2); + out.setAdcd(adcd.substring(0,4)); } out.setName(book.getName()); @@ -203,15 +204,17 @@ public class UserServiceImpl extends ServiceImpl implements IU BeanUtils.copyProperties(sysUser, out); String adcd = addressBook.getAdcd(); if (StringUtils.isNotBlank(adcd)) { - if ("00000000000".equals(adcd.substring(4))) { // 市 - out.setAdlevel(1); - out.setAdcd(adcd.replace("00000000000","")); - } else if ("000000000".equals(adcd.substring(6))) { // 县 - out.setAdcd(adcd.replace("000000000","")); - out.setAdlevel(2); - }else{ - out.setAdcd(adcd); - } +// if ("00000000000".equals(adcd.substring(4))) { // 市 +// out.setAdlevel(1); +// out.setAdcd(adcd.replace("00000000000","")); +// } else if ("000000000".equals(adcd.substring(6))) { // 县 +// out.setAdcd(adcd.replace("000000000","")); +// out.setAdlevel(2); +// }else{ +// out.setAdcd(adcd); +// } + out.setAdlevel(2); + out.setAdcd(adcd.substring(0,4)); } out.setName(addressBook.getName()); diff --git a/src/main/resources/mapper/AddressBookMapper.xml b/src/main/resources/mapper/AddressBookMapper.xml index 7aaebbf..95f61b1 100644 --- a/src/main/resources/mapper/AddressBookMapper.xml +++ b/src/main/resources/mapper/AddressBookMapper.xml @@ -37,6 +37,8 @@ AND ( AB.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR AB.PHONE LIKE CONCAT('%', #{dto.allLikeStr}, '%') + OR AB.TEL LIKE CONCAT('%', #{dto.allLikeStr}, '%') + OR AB.FAXES LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR O.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR UD.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR A.ADNM LIKE CONCAT('%', #{dto.allLikeStr}, '%') @@ -52,9 +54,9 @@ AB.*, A.ADNM FROM - ADDRESS_BOOK AB - LEFT JOIN ADINFO A ON AB.ADCD = A.ADCD - LEFT JOIN AB_UD_R R ON R.AD_ID = AB.ID + ADINFO A + LEFT JOIN ADDRESS_BOOK AB ON AB.ADCD = A.ADCD AND AB.ADCD IS NOT NULL + LEFT JOIN AB_UD_R R ON R.AD_ID = AB.ID A.ADNM = #{adnm} diff --git a/src/main/resources/mapper/AdinfoMapper.xml b/src/main/resources/mapper/AdinfoMapper.xml index 3175b71..dca99a7 100644 --- a/src/main/resources/mapper/AdinfoMapper.xml +++ b/src/main/resources/mapper/AdinfoMapper.xml @@ -14,7 +14,7 @@