mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-18 04:28:40 +00:00
chore[orm]: delete unnecessary try/catch in persistAllAndCompare
This commit is contained in:
+30
-34
@@ -351,46 +351,42 @@ public class EntityCache<PK extends Comparable<PK>, E extends IEntity<PK>> imple
|
||||
var entityClass = (Class<E>) entityDef.getClazz();
|
||||
var ids = updateList.stream().map(it -> it.id()).toList();
|
||||
|
||||
try {
|
||||
var dbList = OrmContext.getQuery(entityClass).in("_id", ids).queryAll();
|
||||
var dbMap = dbList.stream().collect(Collectors.toMap(key -> key.id(), value -> value));
|
||||
for (var entity : updateList) {
|
||||
var id = entity.id();
|
||||
var dbEntity = dbMap.get(id);
|
||||
var dbList = OrmContext.getQuery(entityClass).in("_id", ids).queryAll();
|
||||
var dbMap = dbList.stream().collect(Collectors.toMap(key -> key.id(), value -> value));
|
||||
for (var entity : updateList) {
|
||||
var id = entity.id();
|
||||
var dbEntity = dbMap.get(id);
|
||||
|
||||
if (dbEntity == null) {
|
||||
cache.remove(entity.id());
|
||||
logger.warn("[database:{}] not found entity [id:{}]", entityClass.getSimpleName(), id);
|
||||
continue;
|
||||
}
|
||||
if (dbEntity == null) {
|
||||
cache.remove(entity.id());
|
||||
logger.warn("[database:{}] not found entity [id:{}]", entityClass.getSimpleName(), id);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 如果没有版本号,则直接更新数据库
|
||||
if (entity.gvs() <= 0) {
|
||||
OrmContext.getAccessor().update(entity);
|
||||
continue;
|
||||
}
|
||||
// 如果没有版本号,则直接更新数据库
|
||||
if (entity.gvs() <= 0) {
|
||||
OrmContext.getAccessor().update(entity);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 如果版本号相同,说明已经更新到
|
||||
if (dbEntity.gvs() == entity.gvs()) {
|
||||
continue;
|
||||
}
|
||||
// 如果版本号相同,说明已经更新到
|
||||
if (dbEntity.gvs() == entity.gvs()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 如果数据库版本号较小,说明缓存的数据是最新的,直接写入数据库
|
||||
if (dbEntity.gvs() < entity.gvs()) {
|
||||
OrmContext.getAccessor().update(entity);
|
||||
continue;
|
||||
}
|
||||
// 如果数据库版本号较小,说明缓存的数据是最新的,直接写入数据库
|
||||
if (dbEntity.gvs() < entity.gvs()) {
|
||||
OrmContext.getAccessor().update(entity);
|
||||
continue;
|
||||
}
|
||||
|
||||
// 如果数据库版本号较大,说明缓存的数据不是最新的,直接清除缓存,下次重新加载
|
||||
if (dbEntity.gvs() > entity.gvs()) {
|
||||
cache.remove(id);
|
||||
load(id);
|
||||
logger.warn("[database:{}] document of entity [id:{}] version [{}] is greater than cache [vs:{}]", entityClass.getSimpleName(), id, dbEntity.gvs(), entity.gvs());
|
||||
continue;
|
||||
}
|
||||
// 如果数据库版本号较大,说明缓存的数据不是最新的,直接清除缓存,下次重新加载
|
||||
if (dbEntity.gvs() > entity.gvs()) {
|
||||
cache.remove(id);
|
||||
load(id);
|
||||
logger.warn("[database:{}] document of entity [id:{}] version [{}] is greater than cache [vs:{}]", entityClass.getSimpleName(), id, dbEntity.gvs(), entity.gvs());
|
||||
continue;
|
||||
}
|
||||
} catch (Throwable t) {
|
||||
logger.error("persistAllAndCompare(): [{}] unknown error", entityClass.getSimpleName(), t);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -77,9 +77,10 @@ public interface IEntityCache<PK extends Comparable<PK>, E extends IEntity<PK>>
|
||||
/**
|
||||
* 持久化所有缓存数据
|
||||
*/
|
||||
void persistAll();
|
||||
|
||||
void persistAllBlock();
|
||||
|
||||
void persistAll();
|
||||
|
||||
void forEach(BiConsumer<PK, E> biConsumer);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user