Merge remote-tracking branch 'origin/feature/REQ-3540' into feature/REQ-3540
This commit is contained in:
commit
283631f75b
@ -82,4 +82,9 @@ public class WpsEditUploadCompleteRequest {
|
||||
* 获取上传地址时,要求原样带回的额外参数
|
||||
*/
|
||||
private Map<String, String> sendBackParams;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
private String modifierId;
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import cn.axzo.nanopart.doc.api.domain.FileAttributes;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -17,6 +18,7 @@ import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadCompleteResponse;
|
||||
import cn.axzo.nanopart.doc.api.wps.response.WpsEditUploadPrepareResponse;
|
||||
import cn.axzo.nanopart.doc.config.DocProps;
|
||||
import cn.axzo.nanopart.doc.dao.IndexNodeDao;
|
||||
import cn.axzo.nanopart.doc.dao.TemplateDatabaseDao;
|
||||
import cn.axzo.nanopart.doc.entity.IndexNode;
|
||||
import cn.axzo.nanopart.doc.file.index.IndexManager;
|
||||
import cn.axzo.nanopart.doc.file.mq.FileBroadcaster;
|
||||
@ -25,6 +27,7 @@ import cn.axzo.oss.http.model.ApiSignUrlUploadRequest;
|
||||
import cn.axzo.oss.http.model.ApiSignUrlUploadResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 文档编辑
|
||||
@ -40,6 +43,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
public class WpsEditManager {
|
||||
|
||||
private final IndexManager indexManager;
|
||||
private final TemplateDatabaseDao templateDatabaseDao;
|
||||
private final IndexNodeDao indexNodeDao;
|
||||
private final DocOssGateway docOssGateway;
|
||||
private final FileBroadcaster fileBroadcaster;
|
||||
@ -105,10 +109,14 @@ public class WpsEditManager {
|
||||
* 3 上传完成后,回调通知上传结果
|
||||
* 说明:WebOffice 在将新版本文件上传到指定地址后,将会回调通知接入方
|
||||
*/
|
||||
@Transactional
|
||||
public WpsEditUploadCompleteResponse uploadComplete(WpsEditUploadCompleteRequest request) {
|
||||
log.info("wpsEditManager-uploadComplete-params,request:{}", request);
|
||||
IndexNode node = indexNodeDao.findOrNull(request.getDocCode());
|
||||
indexManager.updateFileSize(node, request.getSize());
|
||||
//加锁
|
||||
IndexNode node = indexNodeDao.getForUpdateOrThrow(request.getDocCode());
|
||||
//当上传完成后,更新文件基础信息
|
||||
this.updateIndexNodeWhenUploadComplete(node, request);
|
||||
|
||||
return WpsEditUploadCompleteResponse.builder()
|
||||
.docCode(request.getDocCode())
|
||||
.name(node.getFullFileName())
|
||||
@ -121,6 +129,21 @@ public class WpsEditManager {
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 当上传完成后,更新文件基础信息
|
||||
*/
|
||||
private void updateIndexNodeWhenUploadComplete(IndexNode node, WpsEditUploadCompleteRequest request) {
|
||||
FileAttributes fileAttributes = node.getOrCreateFileAttributes();
|
||||
if (StringUtils.isNotBlank(request.getModifierId())) {
|
||||
fileAttributes.setModifierId(request.getModifierId());
|
||||
}
|
||||
fileAttributes.setVersion(fileAttributes.getVersion() + 1);
|
||||
indexNodeDao.updateAttributes(node);
|
||||
indexNodeDao.updateFileSize(request.getDocCode(), request.getSize());
|
||||
|
||||
fileBroadcaster.fireFileSizeChanged(request.getDocCode());
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user