fix: 优化图层逻辑

This commit is contained in:
tangwei 2026-07-07 17:44:08 +08:00
parent d88eca8b8f
commit ca5ff32c27

View File

@ -19,9 +19,12 @@ import com.yfd.platform.utils.SecurityUtils;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -131,8 +134,13 @@ public class MapmoduleBServiceImpl extends ServiceImpl<MsMapmoduleBMapper, MsMap
MapmoduleVo mapmoduleVo = new MapmoduleVo(); MapmoduleVo mapmoduleVo = new MapmoduleVo();
// 1. GIS图层区 // 1. GIS图层区
List<MapLayerVo> layer = mapLayerBizService.getMapLayerTree( List<MapLayerVo> layer;
if (hasCurrentUserModulePermission(mapmoduleB.getModuleId())) {
layer = mapLayerBizService.getMapLayerTree(
mapmoduleB.getModuleId(), mapmoduleB.getSystemId(), templateId); mapmoduleB.getModuleId(), mapmoduleB.getSystemId(), templateId);
} else {
layer = new ArrayList<>();
}
mapmoduleVo.setMapLayerVos(layer); mapmoduleVo.setMapLayerVos(layer);
// 2. 地图图例 // 2. 地图图例
@ -180,4 +188,23 @@ public class MapmoduleBServiceImpl extends ServiceImpl<MsMapmoduleBMapper, MsMap
} }
return msMaptoolboxBList; return msMaptoolboxBList;
} }
private boolean hasCurrentUserModulePermission(String moduleId) {
if (StrUtil.isBlank(moduleId) || StrUtil.equalsIgnoreCase(moduleId, "common")) {
return true;
}
String userId = SecurityUtils.getUserId();
if (StrUtil.isBlank(userId)) {
return false;
}
List<SysMenu> userMenus = sysMenuMapper.selectMenuByUserId(userId, null);
if (userMenus == null || userMenus.isEmpty()) {
return false;
}
Set<String> menuIds = userMenus.stream()
.map(SysMenu::getId)
.filter(StrUtil::isNotBlank)
.collect(Collectors.toCollection(HashSet::new));
return menuIds.contains(moduleId);
}
} }