|
@@ -8,8 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
|
* 节点地块关联 服务实现类
|
|
@@ -51,16 +50,43 @@ public class NodeLandServiceImpl implements NodeLandService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public List<String> getGeomByNodeId(String nodeId) {
|
|
|
+ public Map<String, Object> getGeomByNodeId(String nodeId) {
|
|
|
try {
|
|
|
if (nodeId == null || nodeId.trim().isEmpty()) {
|
|
|
logger.warn("查询地块几何信息失败:nodeId不能为空");
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
- List<String> geomList = nodeLandMapper.selectGeomByNodeId(nodeId);
|
|
|
- logger.info("查询到 {} 条地块几何信息,nodeId: {}", geomList.size(), nodeId);
|
|
|
- return geomList;
|
|
|
+ Map<String, String> result = nodeLandMapper.selectGeomByNodeId(nodeId);
|
|
|
+ if (result == null) {
|
|
|
+ logger.info("未查询到地块几何信息,nodeId: {}", nodeId);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 调试日志:打印从数据库返回的原始数据
|
|
|
+ logger.info("数据库返回的原始数据: {}", result);
|
|
|
+ logger.info("geomDbId的值: {}", result.get("geomDbId"));
|
|
|
+
|
|
|
+ // 处理返回数据格式
|
|
|
+ Map<String, Object> response = new HashMap<>();
|
|
|
+
|
|
|
+ // 添加geomDbId - 单个值
|
|
|
+ response.put("geomDbId", result.get("geomDbId"));
|
|
|
+
|
|
|
+ // 处理geoms - 转换为字符串数组
|
|
|
+ String geomsStr = result.get("geoms");
|
|
|
+ if (geomsStr != null && !geomsStr.trim().isEmpty()) {
|
|
|
+ response.put("geoms", Arrays.asList(geomsStr.split("\\|")));
|
|
|
+ } else {
|
|
|
+ response.put("geoms", new ArrayList<>());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 添加envelope和centroid
|
|
|
+ response.put("envelope", result.get("envelope"));
|
|
|
+ response.put("centroid", result.get("centroid"));
|
|
|
+
|
|
|
+ logger.info("查询到地块几何信息,nodeId: {}", nodeId);
|
|
|
+ return response;
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
logger.error("查询地块几何信息异常,nodeId: {}", nodeId, e);
|