feat: (REQ-3540) wps编辑-oss的appcode/权限配置nacos
This commit is contained in:
parent
b160b76c22
commit
849d11e9e8
@ -0,0 +1,75 @@
|
||||
|
||||
package cn.axzo.nanopart.doc.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* doc配置权限
|
||||
* @author xudawei@axzo.cn
|
||||
* @date 2025/03/18
|
||||
*/
|
||||
@Data
|
||||
@RefreshScope
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "docpermission")
|
||||
public class DocPermissionProps {
|
||||
|
||||
/**
|
||||
* 是否具有预览权限,0-无 1-有
|
||||
*/
|
||||
@Value("${read:1}")
|
||||
private Integer read;
|
||||
|
||||
/**
|
||||
* 是否具有编辑权限,0-无 1-有
|
||||
*/
|
||||
@Value("${update:1}")
|
||||
private Integer update;
|
||||
|
||||
/**
|
||||
* 是否具有下载文档权限,0-无 1-有
|
||||
*/
|
||||
@Value("${download:1}")
|
||||
private Integer download;
|
||||
|
||||
/**
|
||||
* 是否具有重命名文档权限,0-无 1-有
|
||||
*/
|
||||
@Value("${rename:1}")
|
||||
private Integer rename;
|
||||
|
||||
/**
|
||||
* 是否具有查看文档历史记录权限,0-无 1-有
|
||||
*/
|
||||
@Value("${history:0}")
|
||||
private Integer history;
|
||||
|
||||
/**
|
||||
* 是否具有拷贝文档内容权限,0-无 1-有
|
||||
*/
|
||||
@Value("${copy:0}")
|
||||
private Integer copy;
|
||||
|
||||
/**
|
||||
* 是否具有打印文档权限,0-无 1-有
|
||||
*/
|
||||
@Value("${print:0}")
|
||||
private Integer print;
|
||||
|
||||
/**
|
||||
* 是否具有另存当前文档权限,0-无 1-有。该属性现阶段暂无相关入口,开发者可不用关注
|
||||
*/
|
||||
@Value("${saveas:0}")
|
||||
private Integer saveas;
|
||||
|
||||
/**
|
||||
* 是否具有评论文档权限,0-无 1-有。
|
||||
*/
|
||||
@Value("${comment:0}")
|
||||
private Integer comment;
|
||||
|
||||
}
|
||||
@ -10,9 +10,9 @@ import cn.axzo.nanopart.doc.api.wps.response.WpsFetchFileResponse;
|
||||
import cn.axzo.nanopart.doc.api.wps.response.WpsPermissionResponse;
|
||||
import cn.axzo.nanopart.doc.api.wps.response.WpsRenameResponse;
|
||||
import cn.axzo.nanopart.doc.api.wps.response.WpsUsersResponse;
|
||||
import cn.axzo.nanopart.doc.config.DocPermissionProps;
|
||||
import cn.axzo.nanopart.doc.dao.IndexNodeDao;
|
||||
import cn.axzo.nanopart.doc.entity.IndexNode;
|
||||
import cn.axzo.nanopart.doc.file.index.domain.NameUsedException;
|
||||
import cn.axzo.nanopart.doc.rpc.DocOssGateway;
|
||||
import cn.axzo.nanopart.doc.rpc.DocUserProfileGateway;
|
||||
import cn.axzo.oss.http.model.ApiSignUrlDownloadRequest;
|
||||
@ -42,6 +42,7 @@ public class WpsBaseManager {
|
||||
private final DocOssGateway docOssGateway;
|
||||
private final DocUserProfileGateway docUserProfileGateway;
|
||||
|
||||
private final DocPermissionProps docPermissionProps;
|
||||
/**
|
||||
* 获取文件基础信息
|
||||
* @param docCode 文件编码
|
||||
@ -96,15 +97,15 @@ public class WpsBaseManager {
|
||||
|
||||
return WpsPermissionResponse.builder()
|
||||
.personId(request.getPersonId())
|
||||
.read(1)
|
||||
.update(1)
|
||||
.download(1)
|
||||
.rename(1)
|
||||
.history(0)
|
||||
.copy(0)
|
||||
.print(0)
|
||||
.saveas(0)
|
||||
.comment(0)
|
||||
.read(docPermissionProps.getRead())
|
||||
.update(docPermissionProps.getUpdate())
|
||||
.download(docPermissionProps.getDownload())
|
||||
.rename(docPermissionProps.getRename())
|
||||
.history(docPermissionProps.getHistory())
|
||||
.copy(docPermissionProps.getCopy())
|
||||
.print(docPermissionProps.getPrint())
|
||||
.saveas(docPermissionProps.getSaveas())
|
||||
.comment(docPermissionProps.getComment())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@ -10,11 +10,14 @@ 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;
|
||||
import cn.axzo.nanopart.doc.rpc.DocOssGateway;
|
||||
import cn.axzo.oss.http.model.ApiSignUrlUploadRequest;
|
||||
import cn.axzo.oss.http.model.ApiSignUrlUploadResponse;
|
||||
import com.alibaba.excel.util.StringUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
@ -30,12 +33,20 @@ import java.util.Objects;
|
||||
*/
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@RefreshScope
|
||||
public class WpsEditManager {
|
||||
|
||||
private final IndexManager indexManager;
|
||||
private final TemplateDatabaseDao templateDatabaseDao;
|
||||
private final IndexNodeDao indexNodeDao;
|
||||
private final DocOssGateway docOssGateway;
|
||||
private final FileBroadcaster fileBroadcaster;
|
||||
|
||||
@Value("${doc.entWorkspaceDocOss.appCode:ent-workspace-doc}")
|
||||
private String entWorkspaceDocOssAppCode;
|
||||
|
||||
@Value("${doc.entWorkspaceDocOss.bizScene:ent-workspace-doc}")
|
||||
private String entWorkspaceDocOssBizScene;
|
||||
|
||||
/**
|
||||
* 文档编辑
|
||||
@ -65,8 +76,8 @@ public class WpsEditManager {
|
||||
}
|
||||
|
||||
ApiSignUrlUploadResponse response = docOssGateway.signUrlFetchUpload(ApiSignUrlUploadRequest.builder()
|
||||
.appCode("ent-workspace-doc")
|
||||
.bizScene("ent-workspace-doc")
|
||||
.appCode(entWorkspaceDocOssAppCode)
|
||||
.bizScene(entWorkspaceDocOssBizScene)
|
||||
.fileName(node.getName())
|
||||
.fileKey(fileKey)
|
||||
.build());
|
||||
@ -99,13 +110,13 @@ public class WpsEditManager {
|
||||
*/
|
||||
public WpsEditUploadCompleteResponse uploadComplete(WpsEditUploadCompleteRequest request) {
|
||||
IndexNode node = indexNodeDao.findOrNull(request.getDocCode());
|
||||
|
||||
//TODO: 调用FileBroadcaster#fireFileSizeChanged 通知文件大小变更
|
||||
indexNodeDao.updateFileSize(request.getDocCode(), request.getSize());
|
||||
fileBroadcaster.fireFileSizeChanged(request.getDocCode());
|
||||
return WpsEditUploadCompleteResponse.builder()
|
||||
.docCode(request.getDocCode())
|
||||
.name(node.getName())
|
||||
.version(node.getFileAttributes().getVersion())
|
||||
.size(node.getSize())
|
||||
.size(request.getSize())
|
||||
.createTime(node.getCreateAt().getTime())
|
||||
.modifyTime(node.getUpdateAt().getTime())
|
||||
.modifierId(node.getFileAttributes().getModifierId())
|
||||
|
||||
Loading…
Reference in New Issue
Block a user