REQ-3540: 容量满了

This commit is contained in:
yanglin 2025-03-19 17:11:19 +08:00
parent dd7d9c3d31
commit c0c16c55d2
2 changed files with 8 additions and 10 deletions

View File

@ -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<FileDatabase> implements IndexNodeS
return state == FileDatabaseState.ACTIVATED;
}
public boolean determineCapacityExhausted() {
return usedCapacity >= allowedCapacity;
}
@Override
public String scopeCode() {
// I'm a scope of the index node

View File

@ -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();
}