Commit eecfa776 authored by 赵啸非's avatar 赵啸非

更新事项,异步更新关联

parent 0f7089b6
......@@ -26,6 +26,8 @@ public class SiteVo extends BaseEntityLong {
private Integer areaLevel;
private List<Integer> areaLevelList;
private Integer total =0;
private List<SiteEntity> subList=new ArrayList<>();
......
......@@ -379,7 +379,6 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
refresh = false;
//刷新站点树
cacheService.del(USER_SITE_TREE);
this.updateAllSiteTree(context);
......@@ -565,7 +564,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//没有站点
siteAreaVo.setSiteList(Collections.EMPTY_LIST);
}
if(!ObjectUtils.isEmpty(siteAreaVo.getSiteList())){
if (!ObjectUtils.isEmpty(siteAreaVo.getSiteList())) {
list.add(siteAreaVo);
}
}
......@@ -580,26 +579,35 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
@Override
public Rest<List<SiteEntity>> getAreaSitesByAreaLevel(SiteQuery query, Context context) {
if (!ObjectUtils.isEmpty(query.getSiteName())) {
SiteEntity siteEntity = this.selectOne(new SiteQuery().siteName(query.getSiteName()));
if (!ObjectUtils.isEmpty(siteEntity)) {
AreaEntity areaCache = areaService.getExtCache(siteEntity.getAreaCode());
query.setAreaLevel(areaCache == null ? 1 : areaCache.getAreaLevel());
log.info("areaLevel:{}", query.getAreaLevel());
List<SiteEntity> siteEntities = this.find(new SiteQuery().siteName(query.getSiteName()));
if (!ObjectUtils.isEmpty(siteEntities)) {
List<Integer> areaLevelList = siteEntities.stream().map(siteEntity -> {
AreaEntity areaCache = areaService.getExtCache(siteEntity.getAreaCode());
if (!ObjectUtils.isEmpty(areaCache)) {
return areaCache.getAreaLevel();
}
return null;
}).filter(f -> f != null).collect(Collectors.toList());
query.setAreaLevelList(ObjectUtils.isEmpty(areaLevelList) ? Arrays.asList(1) : areaLevelList);
} else {
return Rest.ok(new ArrayList<>());
}
}
//获取所有层级的区域
List<AreaEntity> areaEntities = areaService.find(new AreaQuery().areaLevel(query.getAreaLevel()));
List<AreaEntity> areaEntities = areaService.find(new AreaQuery().areaLevelList(query.getAreaLevelList()));
//如果针对某个区域查询 过滤到其它区域
if (!ObjectUtils.isEmpty(query.getSiteName())) {
SiteEntity siteEntity = this.selectOne(new SiteQuery().siteName(query.getSiteName()));
if (!ObjectUtils.isEmpty(siteEntity)) {
AreaEntity areaCache = areaService.getExtCache(siteEntity.getAreaCode());
if(!ObjectUtils.isEmpty(areaCache)){
areaEntities = areaEntities.stream().filter(f -> f.getName().equals(areaCache.getName())).collect(Collectors.toList());
}
List<SiteEntity> siteEntities = this.find(new SiteQuery().siteName(query.getSiteName()));
if (!ObjectUtils.isEmpty(siteEntities)) {
Set<String> areaSet = siteEntities.stream().map(siteEntity -> {
AreaEntity areaCache = areaService.getExtCache(siteEntity.getAreaCode());
if (!ObjectUtils.isEmpty(areaCache)) {
return areaCache.getName();
}
return null;
}).filter(f -> f != null).collect(Collectors.toSet());
areaEntities = areaEntities.stream().filter(f -> areaSet.contains(f.getName())).collect(Collectors.toList());
}
}
......
......@@ -158,4 +158,4 @@ Content-Type: application/json
POST {{baseUrl}}/site/getSitesGroupByAreaLevel
Content-Type: application/json
{"areaLevel":3,"siteName": "翠屏区政务服务中心"}
{"areaLevel":3}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment