diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/entity/FileDatabase.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/entity/FileDatabase.java index 5248b716..e67140a3 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/entity/FileDatabase.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/entity/FileDatabase.java @@ -3,7 +3,6 @@ package cn.axzo.nanopart.doc.entity; import java.util.Date; -import cn.axzo.nanopart.doc.entity.domain.IndexNodeCodeProvider; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.annotation.TableName; @@ -11,6 +10,7 @@ import cn.axzo.nanopart.doc.api.domain.IndexNodeScope; import cn.axzo.nanopart.doc.api.enums.DatabaseScope; import cn.axzo.nanopart.doc.api.enums.FileDatabaseState; import cn.axzo.nanopart.doc.api.enums.IndexNodeContext; +import cn.axzo.nanopart.doc.entity.domain.IndexNodeCodeProvider; import cn.axzo.pokonyan.config.mybatisplus.BaseEntity; import lombok.Getter; import lombok.Setter; @@ -82,10 +82,6 @@ public class FileDatabase extends BaseEntity implements IndexNodeS return state == FileDatabaseState.ACTIVATED; } - public boolean determineCapacityExhausted() { - return usedCapacity >= allowedCapacity; - } - @Override public String scopeCode() { // I'm a scope of the index node diff --git a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java index 892d43ce..6a0e16aa 100644 --- a/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java +++ b/doc/doc-server/src/main/java/cn/axzo/nanopart/doc/file/filedb/FileDatabaseService.java @@ -155,9 +155,9 @@ public class FileDatabaseService { FileDatabase db = fileDatabaseDao.findForUpdateOrNull(indexNode.scopeCode()); if (db == null) return; - fileDatabaseDao.updateUsedCapacity(db.getCode(), indexQueryService.getUsedFileSize(db)); - db = fileDatabaseDao.findOrNull(db.getCode()); - if (db.isActivated() && db.determineCapacityExhausted()) + int usedFileSize = indexQueryService.getUsedFileSize(db); + fileDatabaseDao.updateUsedCapacity(db.getCode(), usedFileSize); + if (db.isActivated() && db.getAllowedCapacity() <= usedFileSize) fileDatabaseDao.updateState(db.getCode(), FileDatabaseState.CAPACITY_EXHAUSTED); } @@ -167,8 +167,10 @@ public class FileDatabaseService { docLogDao.logRequest("renew", request.getCode(), request); FileDatabase db = fileDatabaseDao.getForUpdateOrThrow(request.getCode()); updateCapacity(request) // - .set(FileDatabase::getState, db.determineCapacityExhausted() ? FileDatabaseState.CAPACITY_EXHAUSTED - : FileDatabaseState.ACTIVATED) // + .set(FileDatabase::getState, // + request.getAllowedCapacity() <= db.getUsedCapacity() // + ? FileDatabaseState.CAPACITY_EXHAUSTED // + : FileDatabaseState.ACTIVATED) // .update(); }