REQ-3540: 容量满了
This commit is contained in:
parent
dd7d9c3d31
commit
c0c16c55d2
@ -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
|
||||
|
||||
@ -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();
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user