模版编制相关实现
This commit is contained in:
@@ -7,7 +7,7 @@ public enum DeleteStatusEnum {
|
|||||||
|
|
||||||
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
STATUS_DRF(TmplStsEnum.DRAFT.getCode(), new HashSet<>() {{add(TmplStsEnum.DRAFT.getCode());}}),
|
||||||
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
STATUS_PUB(TmplStsEnum.PUBLISHED.getCode(), new HashSet<>()),
|
||||||
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>());
|
STATUS_STOP(TmplStsEnum.STOPPED.getCode(), new HashSet<>(){{add(TmplStsEnum.STOPPED.getCode());}});
|
||||||
|
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ public class TemplateInstanceController extends AbstractFileUploadController {
|
|||||||
private TemplateInstanceService templateInstanceService;
|
private TemplateInstanceService templateInstanceService;
|
||||||
|
|
||||||
//上传文件
|
//上传文件
|
||||||
@PostMapping("/save-file")
|
// @PostMapping("/save-file")
|
||||||
@Operation(summary = "上传文件", description = "上传文件,传入文件对象和模版实例id")
|
// @Operation(summary = "上传文件", description = "上传文件,传入文件对象和模版实例id")
|
||||||
public CommonResult<Map<String, Object>> uploadFile(@NotEmpty(message = "文件不能为空") @RequestParam("file") MultipartFile file,@RequestParam("id") String id) {
|
// public CommonResult<Map<String, Object>> uploadFile(@NotEmpty(message = "文件不能为空") @RequestParam("file") MultipartFile file,@RequestParam("id") String id) {
|
||||||
return success(templateInstanceService.saveFile(file,id));
|
// return success(templateInstanceService.saveFile(file,id));
|
||||||
}
|
// }
|
||||||
|
|
||||||
@PostMapping("/create")
|
@PostMapping("/create")
|
||||||
@Operation(summary = "创建模板实例")
|
@Operation(summary = "创建模板实例")
|
||||||
|
|||||||
@@ -1,11 +1,14 @@
|
|||||||
package com.zt.plat.module.base.controller.admin.templtp.onlyoffice.service;
|
package com.zt.plat.module.base.controller.admin.templtp.onlyoffice.service;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.Action;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.Action;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.History;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.History;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.OnlyOfficeCallback;
|
import com.zt.plat.module.base.controller.admin.templtp.onlyoffice.pojo.OnlyOfficeCallback;
|
||||||
|
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceService;
|
||||||
import com.zt.plat.module.infra.api.file.FileApi;
|
import com.zt.plat.module.infra.api.file.FileApi;
|
||||||
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
|
import com.zt.plat.module.infra.api.file.dto.FileCreateReqDTO;
|
||||||
|
import com.zt.plat.module.infra.api.file.dto.FileRespDTO;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
@@ -13,6 +16,8 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.UrlFileDownloader.downloadFileAsMultipart;
|
import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.UrlFileDownloader.downloadFileAsMultipart;
|
||||||
|
|
||||||
@@ -23,6 +28,7 @@ import static com.zt.plat.module.base.controller.admin.templtp.onlyoffice.util.U
|
|||||||
public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService {
|
public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService {
|
||||||
|
|
||||||
private final FileApi fileApi;
|
private final FileApi fileApi;
|
||||||
|
private final TemplateInstanceService templateInstanceService;
|
||||||
@Override
|
@Override
|
||||||
public void processCallback(OnlyOfficeCallback callback,String id) {
|
public void processCallback(OnlyOfficeCallback callback,String id) {
|
||||||
log.info("Received OnlyOffice callback for document: {}", callback.getKey());
|
log.info("Received OnlyOffice callback for document: {}", callback.getKey());
|
||||||
@@ -151,7 +157,21 @@ public class OnlyOfficeCallbackServiceImpl implements OnlyOfficeCallbackService
|
|||||||
fileCreateReqDTO.setDirectory(directory); // 设置文件存储目录
|
fileCreateReqDTO.setDirectory(directory); // 设置文件存储目录
|
||||||
|
|
||||||
// 7. 调用文件服务创建文件
|
// 7. 调用文件服务创建文件
|
||||||
CommonResult<String> result = fileApi.createFile(fileCreateReqDTO);
|
CommonResult<FileRespDTO> result = fileApi.createFileWithReturn(fileCreateReqDTO);
|
||||||
|
if (result.isSuccess()) {
|
||||||
|
// 创建文件成功,处理结果
|
||||||
|
log.info("文件创建成功,文件ID:{}", result.getData());
|
||||||
|
// 创建文件成功,处理结果
|
||||||
|
FileRespDTO fileRespDTO = result.getData();
|
||||||
|
Map<String, Object> fileInfo = new HashMap<>();
|
||||||
|
fileInfo.put("id", fileRespDTO.getId());
|
||||||
|
fileInfo.put("name", fileRespDTO.getName());
|
||||||
|
fileInfo.put("directory", fileRespDTO.getDirectory());
|
||||||
|
templateInstanceService.updateTemplateInstanceFileUrlByInstanceId(id, JSONObject.toJSONString(fileInfo));
|
||||||
|
} else {
|
||||||
|
// 创建文件失败,处理错误
|
||||||
|
log.error("文件创建失败,错误信息:{}", result.getMsg());
|
||||||
|
}
|
||||||
log.info("文件创建结果:{}", result);
|
log.info("文件创建结果:{}", result);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import java.util.List;
|
|||||||
@Schema(description = "管理后台 - 实例启用与禁用 Request VO")
|
@Schema(description = "管理后台 - 实例启用与禁用 Request VO")
|
||||||
@Data
|
@Data
|
||||||
public class DisableEnableReqVO {
|
public class DisableEnableReqVO {
|
||||||
@Schema(description = "实例主键(id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "实例主键(id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "['1','2']")
|
||||||
@NotEmpty(message = "实例主键不能为空")
|
@NotEmpty(message = "实例主键不能为空")
|
||||||
private List<String> ids;
|
private List<String> ids;
|
||||||
@Schema(description = "操作类型;操作类型type,type的值启用为enable,禁用为disable", requiredMode = Schema.RequiredMode.REQUIRED, example = "enable")
|
@Schema(description = "操作类型;操作类型type,type的值启用为enable,禁用为disable", requiredMode = Schema.RequiredMode.REQUIRED, example = "enable")
|
||||||
|
|||||||
@@ -83,6 +83,8 @@ public interface TemplateInstanceService {
|
|||||||
Map<String, Object> getVersion(String id);
|
Map<String, Object> getVersion(String id);
|
||||||
|
|
||||||
List<TemplateInstanceRespVO> listByCdg(String cdg);
|
List<TemplateInstanceRespVO> listByCdg(String cdg);
|
||||||
|
//
|
||||||
|
// Map<String, Object> saveFile(MultipartFile file, String id);
|
||||||
|
|
||||||
Map<String, Object> saveFile(MultipartFile file, String id);
|
boolean updateTemplateInstanceFileUrlByInstanceId(@Valid @NotEmpty(message = "模版实例id不能为空") String id, @Valid @NotEmpty(message = "文件参数不能为空") String params);
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user