Junjie
11 小时以前 71a5ae03389119dc6975d7cfb87e63601f3c5305
src/main/java/com/zy/asrs/service/impl/BasMapEditorServiceImpl.java
@@ -19,6 +19,7 @@
import com.zy.asrs.service.BasStationService;
import com.zy.asrs.service.DeviceConfigService;
import com.zy.asrs.utils.MapExcelUtils;
import com.zy.common.utils.NavigateSolution;
import com.zy.common.utils.RedisUtil;
import com.zy.core.enums.RedisKeyType;
import com.zy.core.enums.SlaveType;
@@ -111,7 +112,7 @@
            persistFloorMap(lev, storedData, toFreeEditorDoc(lev, storedData));
        }
        rebuildDeviceAndStationSync();
        clearMapCaches();
        clearMapCaches(levList);
    }
    @Override
@@ -121,7 +122,7 @@
        List<List<HashMap<String, Object>>> storedData = compileToStoredMapData(normalizedDoc);
        persistFloorMap(normalizedDoc.getLev(), storedData, normalizedDoc);
        rebuildDeviceAndStationSync();
        clearMapCaches();
        clearMapCaches(Collections.singletonList(normalizedDoc.getLev()));
    }
    private void persistFloorMap(Integer lev,
@@ -977,9 +978,19 @@
        return JSON.toJSONString(list, SerializerFeature.DisableCircularReferenceDetect);
    }
    private void clearMapCaches() {
    private void clearMapCaches(List<Integer> levList) {
        redisUtil.del(RedisKeyType.LOC_MAP_BASE.key);
        redisUtil.del(RedisKeyType.LOC_MAST_MAP_LIST.key);
        if (levList == null || levList.isEmpty()) {
            return;
        }
        LinkedHashSet<Integer> distinctLevSet = new LinkedHashSet<>(levList);
        for (Integer lev : distinctLevSet) {
            if (lev == null) {
                continue;
            }
            NavigateSolution.refreshMapCache(lev);
        }
    }
    private String normalizeType(String type) {