文件记录流程优化

This commit is contained in:
YBP
2026-03-31 18:13:02 +08:00
parent 630ce302de
commit c18eaae2be
4 changed files with 113 additions and 56 deletions

View File

@@ -6,6 +6,7 @@ import com.zt.plat.framework.business.controller.AbstractFileUploadController;
import com.zt.plat.framework.business.interceptor.BusinessControllerMarker; import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
import com.zt.plat.framework.common.enums.UserTypeEnum; import com.zt.plat.framework.common.enums.UserTypeEnum;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.datapermission.core.annotation.DeptDataPermissionIgnore;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils; import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore; import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
@@ -17,8 +18,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.annotation.security.PermitAll; import jakarta.annotation.security.PermitAll;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -32,7 +33,7 @@ import static com.zt.plat.framework.common.pojo.CommonResult.success;
@RestController @RestController
@RequestMapping("/qms/common/only-office") @RequestMapping("/qms/common/only-office")
@Validated @Validated
//@DeptDataPermissionIgnore(enable = "true") @DeptDataPermissionIgnore(enable = "true")
@FileUploadController(source = "qms.only-office", codeKey = "data.fileUploadBusinessCode") @FileUploadController(source = "qms.only-office", codeKey = "data.fileUploadBusinessCode")
public class OnlyOfficeController extends AbstractFileUploadController implements BusinessControllerMarker { public class OnlyOfficeController extends AbstractFileUploadController implements BusinessControllerMarker {
@@ -53,6 +54,15 @@ public class OnlyOfficeController extends AbstractFileUploadController implement
return success(onlyOfficeService.getEditorConfig(id)); return success(onlyOfficeService.getEditorConfig(id));
} }
@GetMapping("/file-content")
@Operation(summary = "获取文档文件内容")
@PermitAll
public void getFileContent(@RequestParam("fileId") Long fileId,
@RequestParam("token") String token,
HttpServletResponse response) {
onlyOfficeService.getDocFileContent(fileId, token, response);
}
@PostMapping("/callback") @PostMapping("/callback")
@Operation(summary = "OnlyOffice 回调接口") @Operation(summary = "OnlyOffice 回调接口")
@PermitAll @PermitAll

View File

@@ -1,8 +1,11 @@
package com.zt.plat.module.qms.resource.record.controller.admin.onlyOffice.service; package com.zt.plat.module.qms.resource.record.controller.admin.onlyOffice.service;
import com.zt.plat.module.qms.resource.record.controller.admin.onlyOffice.controller.vo.OnlyOfficeEditorConfigRespVO; import com.zt.plat.module.qms.resource.record.controller.admin.onlyOffice.controller.vo.OnlyOfficeEditorConfigRespVO;
import jakarta.servlet.http.HttpServletResponse;
public interface OnlyOfficeService { public interface OnlyOfficeService {
OnlyOfficeEditorConfigRespVO getEditorConfig(Long id); OnlyOfficeEditorConfigRespVO getEditorConfig(Long id);
void getDocFileContent(Long fileId, String token, HttpServletResponse response);
} }

View File

@@ -299,6 +299,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn
for (RecordApplyDetailSaveReqVO item : detailList) { for (RecordApplyDetailSaveReqVO item : detailList) {
RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO(); RecordApplyDetailDO recordApplyDetailDO = new RecordApplyDetailDO();
recordApplyDetailDO.setApplyId(recordApplyDO.getId()); recordApplyDetailDO.setApplyId(recordApplyDO.getId());
recordApplyDetailDO.setTargetId(SecurityFrameworkUtils.getLoginUserId());
recordApplyDetailDO.setTargetType(RecordConstants.TargetType.USER);
recordApplyDetailDO.setTargetName(SecurityFrameworkUtils.getLoginUserNickname());
recordApplyDetailDO.setDocumentId(item.getDocumentId()); recordApplyDetailDO.setDocumentId(item.getDocumentId());
recordApplyDetailDO.setIsModify(item.getIsModify()); recordApplyDetailDO.setIsModify(item.getIsModify());
recordApplyDetailDO.setModifyCause(item.getModifyCause()); recordApplyDetailDO.setModifyCause(item.getModifyCause());
@@ -328,6 +331,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn
List<RecordApplyDetailDO> detailDOList = BeanUtils.toBean(detailList, RecordApplyDetailDO.class); List<RecordApplyDetailDO> detailDOList = BeanUtils.toBean(detailList, RecordApplyDetailDO.class);
for (RecordApplyDetailDO item : detailDOList) { for (RecordApplyDetailDO item : detailDOList) {
item.setApplyId(recordApplyDO.getId()); item.setApplyId(recordApplyDO.getId());
item.setTargetId(SecurityFrameworkUtils.getLoginUserId());
item.setTargetType(RecordConstants.TargetType.USER);
item.setTargetName(SecurityFrameworkUtils.getLoginUserNickname());
detailSaveReqVOList.add(item); detailSaveReqVOList.add(item);
} }
return detailSaveReqVOList; return detailSaveReqVOList;
@@ -343,6 +349,9 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn
recordApplyDetailDO.setIsModify(item.getIsModify()); recordApplyDetailDO.setIsModify(item.getIsModify());
recordApplyDetailDO.setModifyCause(item.getModifyCause()); recordApplyDetailDO.setModifyCause(item.getModifyCause());
recordApplyDetailDO.setFormData(item.getFormData()); recordApplyDetailDO.setFormData(item.getFormData());
recordApplyDetailDO.setTargetId(SecurityFrameworkUtils.getLoginUserId());
recordApplyDetailDO.setTargetType(RecordConstants.TargetType.USER);
recordApplyDetailDO.setTargetName(SecurityFrameworkUtils.getLoginUserNickname());
detailSaveReqVOList.add(recordApplyDetailDO); detailSaveReqVOList.add(recordApplyDetailDO);
} }
return detailSaveReqVOList; return detailSaveReqVOList;
@@ -702,12 +711,15 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn
Long documentId = applyDetailDO.getDocumentId(); Long documentId = applyDetailDO.getDocumentId();
detailDO.setDocumentId(documentId); detailDO.setDocumentId(documentId);
detailDO.setIsModify(1); detailDO.setIsModify(1);
detailDO.setTargetId(applyDetailDO.getTargetId());
detailDO.setTargetType(applyDetailDO.getTargetType());
detailDO.setTargetName(applyDetailDO.getTargetName());
detailDO.setModifyCause(applyDetailDO.getModifyCause()); detailDO.setModifyCause(applyDetailDO.getModifyCause());
detailDO.setApplyStartDate(LocalDateTime.now()); // detailDO.setApplyStartDate(LocalDateTime.now());
String formData = applyDetailDO.getFormData(); String formData = applyDetailDO.getFormData();
JSONObject formDataJson = JSONObject.parseObject(formData); JSONObject formDataJson = JSONObject.parseObject(formData);
// 把documentId 存到 formDataJson 中key = id 的里面 // 把documentId 存到 formDataJson 中key = id 的里面
formDataJson.put("id", documentId); formDataJson.put("id", documentId.toString());
// detailDO.setFormData(formDataJson.toJSONString()); // detailDO.setFormData(formDataJson.toJSONString());
detailDOList.add(detailDO); detailDOList.add(detailDO);
// 创建更改申请 // 创建更改申请
@@ -717,6 +729,7 @@ public class RecordApplyServiceImpl implements RecordApplyService, BMPCallbackIn
recordApplyRespVO.setApplyContent(applyDetailDO.getModifyCause()); // 修改原因 recordApplyRespVO.setApplyContent(applyDetailDO.getModifyCause()); // 修改原因
recordApplyRespVO.setFormData(formDataJson.toJSONString()); recordApplyRespVO.setFormData(formDataJson.toJSONString());
recordApplyRespVO.setDetailList(detailDOList); recordApplyRespVO.setDetailList(detailDOList);
recordApplyRespVO.setApplyStartDate(LocalDateTime.now());
createApplyData(recordApplyRespVO); createApplyData(recordApplyRespVO);
} }