匹配回收,bug修复
This commit is contained in:
+14
-7
@@ -280,13 +280,14 @@ public class ZiniaoShopIndexService {
|
||||
roundEntries.add(entryToStore);
|
||||
}
|
||||
Map<String, ZiniaoShopIndexEntryDto> byShopId = new LinkedHashMap<>();
|
||||
Map<String, ZiniaoShopIndexEntryDto> byNameOnly = new LinkedHashMap<>();
|
||||
Map<String, ZiniaoShopIndexEntryDto> byNameAlias = new LinkedHashMap<>();
|
||||
for (ZiniaoShopIndexEntryDto e : roundEntries) {
|
||||
String sid = e.getShopId();
|
||||
if (sid != null && !sid.isBlank()) {
|
||||
byShopId.merge(sid, e, this::mergeDuplicateShopIndexEntries);
|
||||
} else if (e.getNormalizedShopName() != null && !e.getNormalizedShopName().isBlank()) {
|
||||
byNameOnly.merge(e.getNormalizedShopName(), e, this::mergeDuplicateShopIndexEntries);
|
||||
}
|
||||
if (e.getNormalizedShopName() != null && !e.getNormalizedShopName().isBlank()) {
|
||||
byNameAlias.merge(e.getNormalizedShopName(), e, this::mergeDuplicateShopIndexEntries);
|
||||
}
|
||||
}
|
||||
Set<String> activeCacheKeys = new HashSet<>();
|
||||
@@ -295,14 +296,20 @@ public class ZiniaoShopIndexService {
|
||||
activeCacheKeys.add(key);
|
||||
ziniaoMemoryStoreService.put(ZiniaoMemoryStoreService.CACHE_TYPE_SHOP_INDEX_ENTRY, key, e, resolveEntryTtl());
|
||||
}
|
||||
for (ZiniaoShopIndexEntryDto e : byNameOnly.values()) {
|
||||
for (ZiniaoShopIndexEntryDto e : byNameAlias.values()) {
|
||||
String key = SHOP_ENTRY_KEY_NAME_PREFIX + e.getNormalizedShopName();
|
||||
activeCacheKeys.add(key);
|
||||
ziniaoMemoryStoreService.put(ZiniaoMemoryStoreService.CACHE_TYPE_SHOP_INDEX_ENTRY, key, e, resolveEntryTtl());
|
||||
}
|
||||
log.info("[ziniao-index] refresh persist shopIndex uniqueShopId={} nameOnly={} groupedNames={} activeRows={}",
|
||||
byShopId.size(), byNameOnly.size(), grouped.size(), activeCacheKeys.size());
|
||||
markMissingEntriesAsStale(activeCacheKeys, now);
|
||||
log.info("[ziniao-index] refresh persist shopIndex uniqueShopId={} nameAlias={} groupedNames={} activeRows={}",
|
||||
byShopId.size(), byNameAlias.size(), grouped.size(), activeCacheKeys.size());
|
||||
boolean fullRefresh = apiKeyAccounts.size() >= allApiKeyAccounts.size();
|
||||
if (fullRefresh) {
|
||||
markMissingEntriesAsStale(activeCacheKeys, now);
|
||||
} else {
|
||||
log.info("[ziniao-index] skip stale marking for partial refresh processedApiKeys={}/{} nextOffset={}",
|
||||
apiKeyAccounts.size(), allApiKeyAccounts.size(), nextOffset);
|
||||
}
|
||||
|
||||
cursor.setStatus("SUCCESS");
|
||||
cursor.setMessage(allInvalidUserIds.isEmpty()
|
||||
|
||||
Reference in New Issue
Block a user