解决城市数据问题

This commit is contained in:
张乐
2020-09-08 11:41:28 +08:00
parent f235612510
commit 388e731e4c
2 changed files with 22 additions and 3 deletions

View File

@@ -91,7 +91,7 @@ public class SystemCityAsyncServiceImpl extends ServiceImpl<SystemCityDao, Syste
lambdaQueryWrapper.in(SystemCity::getIsShow, true);
List<SystemCity> systemCityList = dao.selectList(lambdaQueryWrapper);
if(systemCityList != null && systemCityList.size() > 0){
redisUtil.hmSet(Constants.CITY_LIST, pid, systemCityList);
redisUtil.hmSet(Constants.CITY_LIST, pid.toString(), systemCityList);
}
}

View File

@@ -48,12 +48,31 @@ public class SystemCityServiceImpl extends ServiceImpl<SystemCityDao, SystemCity
*/
@Override
public Object getList(SystemCitySearchRequest request) {
if(redisUtil.hmGet(Constants.CITY_LIST, request.getParentId()) == null){
if(redisUtil.hmGet(Constants.CITY_LIST, request.getParentId().toString()) == null){
asyncRedis(request.getParentId());
}
return redisUtil.hmGet(Constants.CITY_LIST, request.getParentId());
Object list = redisUtil.hmGet(Constants.CITY_LIST, request.getParentId().toString());
if(null == list){
//城市数据异步同步到redis第一次拿不到数据去数据库读取
list = getList(request.getParentId());
}
return list;
}
/**
* 根据父级id获取数据
* @param parentId integer parentId
* @author Mr.Zhang
* @since 2020-04-17
* @return Object
*/
private Object getList(Integer parentId) {
LambdaQueryWrapper<SystemCity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(SystemCity::getParentId, parentId);
lambdaQueryWrapper.in(SystemCity::getIsShow, true);
return dao.selectList(lambdaQueryWrapper);
}
/**
* 修改状态
* @param id integer id