From b3448f97fee06093a98d2b64aac127d64630c061 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Fri, 24 Jul 2026 09:26:24 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20wps=E5=9B=9E=E8=B0=83=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=88=90=E5=8A=9F,=20=E8=B0=83=E7=94=A8=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E5=A1=AB=E5=85=85=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/qinan/safetyeval/app/executor/WpsExecutor.java | 7 +++++++ .../safetyeval/infrastructure/dataobject/WpsDocDO.java | 5 +++++ .../infrastructure/dataobject/WpsDocVersionDO.java | 4 ++++ 3 files changed, 16 insertions(+) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/WpsExecutor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/WpsExecutor.java index 57b2584..59d1897 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/WpsExecutor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/executor/WpsExecutor.java @@ -10,6 +10,7 @@ import org.qinan.safetyeval.client.co.WpsDocOpenCO; import org.qinan.safetyeval.client.co.WpsFileCO; import org.qinan.safetyeval.client.co.WpsPermissionCO; import org.qinan.safetyeval.client.co.WpsUserCO; +import org.qinan.safetyeval.domain.constant.ProjectStageEnum; import org.qinan.safetyeval.domain.entity.AccountEntity; import org.qinan.safetyeval.domain.entity.FileStorage; import org.qinan.safetyeval.domain.entity.WpsDocEntity; @@ -18,9 +19,11 @@ import org.qinan.safetyeval.domain.exception.BizException; import org.qinan.safetyeval.domain.exception.ErrorCode; import org.qinan.safetyeval.domain.gateway.AccountGateway; import org.qinan.safetyeval.domain.service.FileStorageDomainService; +import org.qinan.safetyeval.domain.service.ProjectStageSyncService; import org.qinan.safetyeval.domain.service.WpsDocDomainService; import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -59,6 +62,8 @@ public class WpsExecutor implements WpsApi { @Value("${wps.def-docx-url:}") private String defDocxUrl; + @Autowired + private ProjectStageSyncService projectStageSyncService; @Override public Map getFileInfo(String fileId) { @@ -245,6 +250,8 @@ public class WpsExecutor implements WpsApi { WpsDocEntity updated = wpsDocDomainService.completeSave(doc, versionEntity); log.info("wps upload complete, body={}", JSON.toJSONString(body)); + // 修改节点状态 + projectStageSyncService.onNodeCompleted(doc.getProjectId(), ProjectStageEnum.REPORT_PREPARATION.getNode()); return ok(wpsCmdConvertor.toFileCO(updated)); } catch (BizException e) { return fail(e); diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocDO.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocDO.java index 15ad1e2..fa05562 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocDO.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocDO.java @@ -44,4 +44,9 @@ public class WpsDocDO { private Integer pendingResourceId; private String pendingDownloadUrl; private Long pendingSize; + + /** + * 项目id + */ + private Long projectId; } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocVersionDO.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocVersionDO.java index c4552d0..748a23b 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocVersionDO.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/dataobject/WpsDocVersionDO.java @@ -33,4 +33,8 @@ public class WpsDocVersionDO { private Long tenantId; private LocalDateTime createTime; private LocalDateTime updateTime; + /** + * 项目id + */ + private Long projectId; }