REQ-3540: 添加租户时直接激活
This commit is contained in:
parent
b99d7be9fc
commit
b6e7b4001d
@ -72,13 +72,14 @@ public class FileDatabaseService {
|
||||
private final AsyncUtils asyncUtils;
|
||||
private final DocLogDao docLogDao;
|
||||
|
||||
/**
|
||||
* 不加事务
|
||||
*/
|
||||
public void addActivatedWorkspace(FileDatabaseAddWorkspaceRequest request) {
|
||||
docLogDao.logRequest("addActivatedWorkspace", request.getWorkspaceId(), request);
|
||||
IndexNode templateRoot = checkTemplateDatabase(request.getTemplateDatabaseCode());
|
||||
FileDatabase db = transaction.execute(unused -> {
|
||||
docLogDao.logRequest("addActivatedWorkspace", request.getWorkspaceId(), request);
|
||||
return addWorkspace0(request);
|
||||
});
|
||||
asyncCopySubtree(db, templateRoot, null);
|
||||
Future<?> future = asyncCopySubtree(addWorkspace0(request), templateRoot, null);
|
||||
asyncUtils.getOrTimeout(future, "添加等待超时, 激活任务在后台运行, 请稍后刷新查看");
|
||||
}
|
||||
|
||||
private FileDatabase addWorkspace0(FileDatabaseAddWorkspaceRequest request) {
|
||||
@ -103,6 +104,9 @@ public class FileDatabaseService {
|
||||
return fileDatabaseDao.findOrNull(db.getCode());
|
||||
}
|
||||
|
||||
/**
|
||||
* 不加事务
|
||||
*/
|
||||
public void active(FileDatabaseActiveRequest request) {
|
||||
request.checkExpiredDate();
|
||||
docLogDao.logRequest("active", request.getCode(), request);
|
||||
@ -110,11 +114,12 @@ public class FileDatabaseService {
|
||||
if (db.isActivated())
|
||||
return;
|
||||
IndexNode templateRoot = checkTemplateDatabase(db.getTemplateDatabaseCode());
|
||||
asyncCopySubtree(db, templateRoot, () -> updateCapacity(request).update());
|
||||
Future<?> future = asyncCopySubtree(db, templateRoot, () -> updateCapacity(request).update());
|
||||
asyncUtils.getOrTimeout(future, "激活等待超时, 激活任务在后台运行, 请稍后刷新查看");
|
||||
}
|
||||
|
||||
private void asyncCopySubtree(FileDatabase db, IndexNode templateRoot, Runnable nullablePostProcessor) {
|
||||
Future<?> future = indexManager.async(() -> {
|
||||
private Future<?> asyncCopySubtree(FileDatabase db, IndexNode templateRoot, Runnable nullablePostProcessor) {
|
||||
return indexManager.async(() -> {
|
||||
// don't inline in transaction
|
||||
CopiedOssFiles copiedOssFiles = indexManager.copySubtreeOssFiles(templateRoot);
|
||||
transaction.executeWithoutResult(unused -> {
|
||||
@ -127,7 +132,6 @@ public class FileDatabaseService {
|
||||
nullablePostProcessor.run();
|
||||
});
|
||||
});
|
||||
asyncUtils.getOrTimeout(future, "激活等待超时, 激活任务在后台运行, 请稍后刷新查看");
|
||||
}
|
||||
|
||||
private IndexNode checkTemplateDatabase(String templateDatabaseCode) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user