代码提交

master
徐杰盟 2024-05-31 16:20:50 +08:00
parent cedcdbbb33
commit b19832d9bd
10 changed files with 79 additions and 32 deletions

View File

@ -28,6 +28,7 @@ import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -72,6 +73,9 @@ public class AddressBookController {
@Autowired @Autowired
private IAbUdRService abUdRService; private IAbUdRService abUdRService;
@Autowired
private RedisTemplate redisTemplate;
// @ApiOperation(value = "查询所有") // @ApiOperation(value = "查询所有")
// @PostMapping(value = "find") // @PostMapping(value = "find")
@ -151,6 +155,7 @@ public class AddressBookController {
versionsService.saveInfo(model, VersionsType.ADD, adcd); versionsService.saveInfo(model, VersionsType.ADD, adcd);
if (save) { if (save) {
redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*");
// 没有手机号用名字注册 // 没有手机号用名字注册
//"省防指".equals(organizationsService.getById(model.getOrganization()).getName()) //"省防指".equals(organizationsService.getById(model.getOrganization()).getName())
// && // &&
@ -279,6 +284,10 @@ public class AddressBookController {
versionsService.saveInfo(model, VersionsType.UPDATE, adcd); versionsService.saveInfo(model, VersionsType.UPDATE, adcd);
boolean data = service.updateById(model); boolean data = service.updateById(model);
if (data) { if (data) {
redisTemplate.delete(ADDRESS_BOOK_REDIS_KEY + "*");
String organization = model.getOrganization(); String organization = model.getOrganization();
if (StringUtils.isNotBlank(model.getAdcd())) { if (StringUtils.isNotBlank(model.getAdcd())) {
organization = model.getAdcd().replaceFirst("000000", ""); organization = model.getAdcd().replaceFirst("000000", "");

View File

@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @author xusan * @author xusan
@ -57,14 +58,15 @@ public class AdinfoController {
@ApiParam(value = "编码或名称,all: 查询全部") @ApiParam(value = "编码或名称,all: 查询全部")
String adcdOradnm) { String adcdOradnm) {
List<AdcdTree> list = service.tree(null, null);
// 查询全部标识 // 查询全部标识
if ("all".equals(adcdOradnm)) { 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<AdcdTree> list = service.tree(adcdOradnm, adcdOradnm);
return ResultJson.ok(list);
} }
@GetMapping("/getCountys/{adnm}") @GetMapping("/getCountys/{adnm}")

View File

@ -8,9 +8,11 @@ import com.whdc.utils.ResultJson;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Objects; import java.util.Objects;
/** /**
@ -37,14 +39,16 @@ public class VersionsController {
@ApiOperation(value = "分页查询") @ApiOperation(value = "分页查询")
@PostMapping(value = "page") @PostMapping(value = "page")
public ResultJson<Versions> page(@RequestBody CommDto dto) { public ResultJson<Versions> page(@RequestBody CommDto dto, HttpServletRequest request) {
if (StringUtils.isBlank(dto.getAdcd())){
dto.setAdcd(request.getHeader("adcd"));
}
return ResultJson.ok(service.page(dto)); return ResultJson.ok(service.page(dto));
} }
@ApiOperation(value = "通过版本号查询") @ApiOperation(value = "通过版本号查询")
@GetMapping(value = "getByV/{abId}/{version}/{type}") @GetMapping(value = "getByV/{abId}/{version}")
public ResultJson<Versions> getByV(@PathVariable("abId") Integer abId, @PathVariable("version") Integer version) { public ResultJson<Versions> getByV(@PathVariable("abId") Integer abId, @PathVariable("version") Integer version) {
if (version < 0) { if (version < 0) {
return ResultJson.error("版本号不能小于0"); return ResultJson.error("版本号不能小于0");

View File

@ -232,7 +232,14 @@ public class WarningController {
vo.setWarnSignalType(warning.getWarnSignalType()); vo.setWarnSignalType(warning.getWarnSignalType());
vo.setWarnSignalLevel(warning.getWarnSignalLevel()); vo.setWarnSignalLevel(warning.getWarnSignalLevel());
vo.setAdnm(publishUnit.replace("气象台", "")); 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); respList.add(vo);
} }
} }

View File

@ -23,4 +23,6 @@ public interface IAdinfoService extends IService<Adinfo> {
List<Adinfo> find(Adinfo dto); List<Adinfo> find(Adinfo dto);
List<AdcdTree> tree(String adcd, String adnm1); List<AdcdTree> tree(String adcd, String adnm1);
String getAdcdByAdnm(String adnm);
} }

View File

@ -6,7 +6,6 @@ import com.whdc.mapper.AddressBookMapper;
import com.whdc.model.dto.AddressBootDto; import com.whdc.model.dto.AddressBootDto;
import com.whdc.model.entity.AddressBook; import com.whdc.model.entity.AddressBook;
import com.whdc.model.vo.AddressBookVo; import com.whdc.model.vo.AddressBookVo;
import com.whdc.model.vo.ExcelABVo;
import com.whdc.service.IAddressBookService; import com.whdc.service.IAddressBookService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;

View File

@ -12,11 +12,14 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.whdc.model.MyConstant.REDIS_KEY;
/** /**
* <p> * <p>
* *
@ -28,6 +31,7 @@ import java.util.stream.Collectors;
@Service @Service
public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> implements IAdinfoService { public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> implements IAdinfoService {
public static final String ADINFO_REDIS_KEY = REDIS_KEY + "adinfo:";
@Override @Override
public IPage<Adinfo> page(Adinfo dto) { public IPage<Adinfo> page(Adinfo dto) {
@ -105,6 +109,21 @@ public class AdinfoServiceImpl extends ServiceImpl<AdinfoMapper, Adinfo> impleme
return sorted(tree); 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<Adinfo> treeList(String adcd, String adnm) { public List<Adinfo> treeList(String adcd, String adnm) {
if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){ if(StringUtils.isNotBlank(adcd) && adcd.endsWith("0000000000000")){

View File

@ -83,16 +83,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
if (Objects.nonNull(book)){ if (Objects.nonNull(book)){
String adcd = book.getAdcd(); String adcd = book.getAdcd();
if (StringUtils.isNotBlank(adcd)) { if (StringUtils.isNotBlank(adcd)) {
if ("00000000000".equals(adcd.substring(4))) { // 市 // if ("00000000000".equals(adcd.substring(4))) { // 市
out.setAdlevel(1); // out.setAdlevel(1);
out.setAdcd(adcd.replace("00000000000","")); // out.setAdcd(adcd.replace("00000000000",""));
} else if ("000000000".equals(adcd.substring(6))) { // 县 // } else if ("000000000".equals(adcd.substring(6))) { // 县
out.setAdcd(adcd.replace("000000000","")); // out.setAdcd(adcd.replace("000000000",""));
out.setAdlevel(2); // out.setAdlevel(2);
}else{ // }else{
out.setAdcd(adcd); // out.setAdcd(adcd);
} // }
out.setAdlevel(2);
out.setAdcd(adcd.substring(0,4));
} }
out.setName(book.getName()); out.setName(book.getName());
@ -203,15 +204,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
BeanUtils.copyProperties(sysUser, out); BeanUtils.copyProperties(sysUser, out);
String adcd = addressBook.getAdcd(); String adcd = addressBook.getAdcd();
if (StringUtils.isNotBlank(adcd)) { if (StringUtils.isNotBlank(adcd)) {
if ("00000000000".equals(adcd.substring(4))) { // 市 // if ("00000000000".equals(adcd.substring(4))) { // 市
out.setAdlevel(1); // out.setAdlevel(1);
out.setAdcd(adcd.replace("00000000000","")); // out.setAdcd(adcd.replace("00000000000",""));
} else if ("000000000".equals(adcd.substring(6))) { // 县 // } else if ("000000000".equals(adcd.substring(6))) { // 县
out.setAdcd(adcd.replace("000000000","")); // out.setAdcd(adcd.replace("000000000",""));
out.setAdlevel(2); // out.setAdlevel(2);
}else{ // }else{
out.setAdcd(adcd); // out.setAdcd(adcd);
} // }
out.setAdlevel(2);
out.setAdcd(adcd.substring(0,4));
} }
out.setName(addressBook.getName()); out.setName(addressBook.getName());

View File

@ -37,6 +37,8 @@
AND ( AND (
AB.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%') AB.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR AB.PHONE 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 O.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR UD.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR UD.NAME LIKE CONCAT('%', #{dto.allLikeStr}, '%')
OR A.ADNM LIKE CONCAT('%', #{dto.allLikeStr}, '%') OR A.ADNM LIKE CONCAT('%', #{dto.allLikeStr}, '%')
@ -52,9 +54,9 @@
AB.*, AB.*,
A.ADNM A.ADNM
FROM FROM
ADDRESS_BOOK AB ADINFO A
LEFT JOIN ADINFO A ON AB.ADCD = A.ADCD 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 LEFT JOIN AB_UD_R R ON R.AD_ID = AB.ID
<where> <where>
<if test="adnm != null and adnm != '' "> <if test="adnm != null and adnm != '' ">
A.ADNM = #{adnm} A.ADNM = #{adnm}

View File

@ -14,7 +14,7 @@
<select id="selectByCdOrNm" resultType="com.whdc.model.entity.Adinfo"> <select id="selectByCdOrNm" resultType="com.whdc.model.entity.Adinfo">
select t.adcd, t.adnm select t.adcd, t.adnm
from FXKH_TXL.ADINFO t from FXKH_TXL.ADINFO t
where ( t.adcd like CONCAT('%', #{adcd}, '%')) where ( t.adcd like CONCAT('%', #{adcd}, '%') or t.adnm like CONCAT('%', #{adnm}, '%'))
or exists( or exists(
select 1 select 1
from FXKH_TXL.ADINFO a from FXKH_TXL.ADINFO a