feat(REQ-3769) - 调整 WPSUtil 工具类
This commit is contained in:
parent
70e008b6a9
commit
dcafaeb145
@ -10,17 +10,19 @@ import java.util.Objects;
|
||||
* @since 2025-03-27 09:55
|
||||
*/
|
||||
public enum FileTypeEnum {
|
||||
WORD("word", "文本"),
|
||||
EXCEL("excel", "表格"),
|
||||
HIPRINT("hiprint", "智能文档"),
|
||||
PDF("pdf", "PDF"),
|
||||
WORD("word", "文本", ".docx"),
|
||||
EXCEL("excel", "表格", ".xlsx"),
|
||||
HIPRINT("hiprint", "智能文档", ""),
|
||||
PDF("pdf", "PDF", ".pdf"),
|
||||
;
|
||||
private final String type;
|
||||
private final String desc;
|
||||
private final String suffix;
|
||||
|
||||
FileTypeEnum(String type, String desc) {
|
||||
FileTypeEnum(String type, String desc, String suffix) {
|
||||
this.type = type;
|
||||
this.desc = desc;
|
||||
this.suffix = suffix;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
@ -31,6 +33,10 @@ public enum FileTypeEnum {
|
||||
return desc;
|
||||
}
|
||||
|
||||
public String getSuffix() {
|
||||
return suffix;
|
||||
}
|
||||
|
||||
public static FileTypeEnum valueOfType(String type) {
|
||||
return Arrays.stream(FileTypeEnum.values())
|
||||
.filter(i -> Objects.equals(i.getType().toUpperCase(), type.toUpperCase()))
|
||||
|
||||
@ -28,6 +28,16 @@ public class SignFileDTO implements Serializable {
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 文件名称,可能会包含变量
|
||||
*/
|
||||
private String fileName;
|
||||
|
||||
/**
|
||||
* 模板名称
|
||||
*/
|
||||
private String templateName;
|
||||
|
||||
/**
|
||||
* 文件的标签
|
||||
*/
|
||||
|
||||
@ -52,7 +52,7 @@ public class WpsUtil {
|
||||
* @return 返回替换变量后的文件oss 的 fileKey
|
||||
*/
|
||||
public String wpsFileVariableReplace(List<VariableObjectDTO> wpsVariables,
|
||||
String fileCode, String fileKey) {
|
||||
String fileCode, String fileKey, String fileName) {
|
||||
|
||||
List<FileReplaceContent> fileReplaceContents = BeanMapper.copyList(wpsVariables.stream()
|
||||
.filter(i -> Objects.equals(i.getType().name(), "img") || Objects.equals(i.getType().name(), "text"))
|
||||
@ -76,7 +76,7 @@ public class WpsUtil {
|
||||
return RpcExternalUtil.rpcProcessor(() -> fileTemplateApi.replaceWordText(request), "替换 WPS 文档变量", request);
|
||||
} else {
|
||||
SimpleFileTemplateReplaceRequest request = new SimpleFileTemplateReplaceRequest();
|
||||
request.setFileName(null);
|
||||
request.setFileName(fileName);
|
||||
request.setFileKey(fileKey);
|
||||
request.setReplaceContentList(fileReplaceContents);
|
||||
return RpcExternalUtil.rpcProcessor(() -> fileTemplateApi.replaceWordTextForFileKey(request), "替换 WPS 文档变量(simple)", request);
|
||||
|
||||
@ -58,7 +58,7 @@ public class TempFileArchiveActivityEvent_101_Listener extends AbstractBpmnEvent
|
||||
processSign.getFileArchive().stream().filter(i -> Objects.equals(i.getFileType(), FileTypeEnum.WORD)
|
||||
|| Objects.equals(i.getFileType(), FileTypeEnum.EXCEL))
|
||||
.forEach(docBaseVO -> {
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, docBaseVO.getFileCode(), docBaseVO.getFileKey());
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, docBaseVO.getFileCode(), docBaseVO.getFileKey(), docBaseVO.getTemplateName() + docBaseVO.getFileType().getSuffix());
|
||||
docBaseVO.setFileKey(newFileKey);
|
||||
});
|
||||
extAxProcessSignService.updateById(processSign);
|
||||
|
||||
@ -117,11 +117,13 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener<P
|
||||
docTemplates.forEach(template -> {
|
||||
SignFileDTO signFileDTO = new SignFileDTO();
|
||||
signFileDTO.setId(template.getId());
|
||||
signFileDTO.setFileName(template.getFileName());
|
||||
signFileDTO.setTemplateName(template.getTemplateName());
|
||||
signFileDTO.setFileTag(template.getFileTag());
|
||||
signFileDTO.setFileType(template.getFileType());
|
||||
signFileDTO.setFileCode(template.getFileCode());
|
||||
if (Objects.equals(template.getFileType(), FileTypeEnum.WORD) || Objects.equals(template.getFileType(), FileTypeEnum.EXCEL)) {
|
||||
String fileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, template.getFileCode(), null);
|
||||
String fileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, template.getFileCode(), null, template.getTemplateName() + template.getFileType().getSuffix());
|
||||
signFileDTO.setFileKey(fileKey);
|
||||
}
|
||||
archives.add(signFileDTO);
|
||||
@ -135,6 +137,8 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener<P
|
||||
SignFileDTO signFileDTO = new SignFileDTO();
|
||||
// 原始文档 ID
|
||||
signFileDTO.setId(doc.getId());
|
||||
signFileDTO.setFileName(doc.getFileName());
|
||||
signFileDTO.setTemplateName(doc.getFileName());
|
||||
signFileDTO.setFileTag(doc.getTag());
|
||||
signFileDTO.setFileType(doc.getFileType());
|
||||
switch (doc.getFileType()) {
|
||||
@ -183,7 +187,7 @@ public class FileArchiveProcessEventListener extends AbstractBpmnEventListener<P
|
||||
processSign.getFileArchive().stream().filter(i -> Objects.equals(i.getFileType(), FileTypeEnum.WORD)
|
||||
|| Objects.equals(i.getFileType(), FileTypeEnum.EXCEL))
|
||||
.forEach(docBaseVO -> {
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, null, docBaseVO.getFileKey());
|
||||
String newFileKey = wpsUtil.wpsFileVariableReplace(wpsReplaceVariables, null, docBaseVO.getFileKey(), docBaseVO.getTemplateName() + docBaseVO.getFileType().getSuffix());
|
||||
docBaseVO.setFileKey(newFileKey);
|
||||
});
|
||||
// 删除非 WPS 的临时文档
|
||||
|
||||
Loading…
Reference in New Issue
Block a user