11
13693261870
2024-11-11 138b959cc11dc9a73b0c766030b99ba1180d8650
src/main/java/com/se/simu/service/GedbService.java
@@ -35,12 +35,6 @@
import java.util.*;
import java.util.stream.Collectors;
/**
 * GEDB服务类
 *
 * @author WWW
 * @date   2024-09-12
 */
@Slf4j
@Service
@SuppressWarnings("ALL")
@@ -52,6 +46,8 @@
    @Resource
    RestTemplate restTemplate;
    private final static String DB_KEY = "gedb_db";
    private final static String TOKEN_KEY = "gedb_token";
@@ -128,17 +124,25 @@
        return db;
    }
    private GeDb getSeDb(String token) {
    public GeDb getSeDb(String token) {
        Object obj = CaffeineHelper.get(DB_KEY);
        if (obj instanceof GeDb) {
            return (GeDb) obj;
        }
        Map<String, Object> map = new HashMap<>(1);
        map.put("token", token);
        JSONObject obj = restTemplate.postForObject(config.getHost() + "geo-service/entitydb/list/canview", map, JSONObject.class);
        JSONArray data = obj.getJSONArray("data");
        JSONObject jsonObject = restTemplate.postForObject(config.getHost() + "geo-service/entitydb/list/canview", map, JSONObject.class);
        JSONArray data = jsonObject.getJSONArray("data");
        List<GeDb> list = JSONUtil.toList(data, GeDb.class);
        if (CollectionUtils.isEmpty(list)) return null;
        return list.stream().filter(db -> null != db.getName() && db.getName().contains(config.getDbName())).findFirst().orElse(null);
        GeDb gedb = list.stream().filter(db -> null != db.getName() && db.getName().contains(config.getDbName())).findFirst().orElse(null);
        if (null != gedb) CaffeineHelper.put(DB_KEY, gedb);
        return gedb;
    }
    public List<GeLayer> getLayers(String token, GeDb db) {