From ebd8a2eb24796e7a1d9f36fe4bdc40a8561bea37 Mon Sep 17 00:00:00 2001 From: zhanglei Date: Wed, 5 Aug 2026 10:48:13 +0800 Subject: [PATCH] =?UTF-8?q?wps=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../safetyeval/app/convertor/WpsCmdConvertor.java | 6 +++--- .../qinan/safetyeval/app/executor/WpsExecutor.java | 14 +++++++------- .../domain/gateway/OrgPersonnelGateway.java | 5 +++++ .../safetyeval/domain/gateway/WpsDocGateway.java | 2 +- .../domain/service/WpsDocDomainService.java | 4 ++-- .../gatewayimpl/OrgPersonnelGatewayImpl.java | 11 +++++++++++ .../gatewayimpl/WpsDocGatewayImpl.java | 3 ++- 7 files changed, 31 insertions(+), 14 deletions(-) diff --git a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/WpsCmdConvertor.java b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/WpsCmdConvertor.java index 20e5964..fd23041 100644 --- a/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/WpsCmdConvertor.java +++ b/safety-eval-app/src/main/java/org/qinan/safetyeval/app/convertor/WpsCmdConvertor.java @@ -4,7 +4,7 @@ import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.qinan.safetyeval.client.co.WpsFileCO; import org.qinan.safetyeval.client.co.WpsUserCO; -import org.qinan.safetyeval.domain.entity.AccountEntity; +import org.qinan.safetyeval.domain.entity.OrgPersonnelEntity; import org.qinan.safetyeval.domain.entity.WpsDocEntity; import org.qinan.safetyeval.domain.entity.WpsDocVersionEntity; @@ -31,6 +31,6 @@ public interface WpsCmdConvertor { @Mapping(target = "id", expression = "java(entity.getId() == null ? null : String.valueOf(entity.getId()))") @Mapping(source = "userName", target = "name") - @Mapping(source = "profileUrl", target = "avatarUrl") - WpsUserCO toUserCO(AccountEntity entity); + @Mapping(target = "avatarUrl", ignore = true) + WpsUserCO toUserCO(OrgPersonnelEntity entity); } 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 c1a18c0..cf4dad8 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 @@ -11,13 +11,13 @@ 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.OrgPersonnelEntity; import org.qinan.safetyeval.domain.entity.WpsDocEntity; import org.qinan.safetyeval.domain.entity.WpsDocVersionEntity; 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.gateway.OrgPersonnelGateway; import org.qinan.safetyeval.domain.service.FileStorageDomainService; import org.qinan.safetyeval.domain.service.ProjectStageSyncService; import org.qinan.safetyeval.domain.service.WpsDocDomainService; @@ -49,7 +49,7 @@ public class WpsExecutor implements WpsApi { @Resource private WpsDocDomainService wpsDocDomainService; @Resource - private AccountGateway accountGateway; + private OrgPersonnelGateway orgPersonnelGateway; @Resource private WpsCmdConvertor wpsCmdConvertor; @Resource @@ -124,10 +124,10 @@ public class WpsExecutor implements WpsApi { .map(Long::valueOf) .distinct() .collect(Collectors.toList()); - List accounts = accountGateway.listByIds(ids); + List personnels = orgPersonnelGateway.listByIds(ids); List users = new ArrayList<>(); - for (AccountEntity account : accounts) { - users.add(wpsCmdConvertor.toUserCO(account)); + for (OrgPersonnelEntity personnel : personnels) { + users.add(wpsCmdConvertor.toUserCO(personnel)); } return ok(users); } catch (BizException e) { @@ -321,7 +321,7 @@ public class WpsExecutor implements WpsApi { try { Long userId = requireUserId(); String creatorId = String.valueOf(userId); - WpsDocEntity existing = wpsDocDomainService.findLatestByCreatorId(creatorId); + WpsDocEntity existing = wpsDocDomainService.findLatestByCreatorId(creatorId, projectId); if (existing != null) { return toOpenCO(existing, false); } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/OrgPersonnelGateway.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/OrgPersonnelGateway.java index 48bff96..6681ff9 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/OrgPersonnelGateway.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/OrgPersonnelGateway.java @@ -42,4 +42,9 @@ public interface OrgPersonnelGateway { * 按机构ID + 账号集合批量查询未删除人员(用于导入手机号重复校验)。 */ java.util.List listByOrgIdAndAccounts(Long orgId, Collection accounts); + + /** + * 按主键批量查询未删除人员(WPS 用户展示等)。 + */ + java.util.List listByIds(Collection ids); } diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/WpsDocGateway.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/WpsDocGateway.java index e07f85a..7769474 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/WpsDocGateway.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/gateway/WpsDocGateway.java @@ -14,7 +14,7 @@ public interface WpsDocGateway { /** * 当前用户最近一份文档(按 id 倒序) */ - WpsDocEntity getLatestByCreatorId(String creatorId); + WpsDocEntity getLatestByCreatorId(String creatorId, Long projectId); WpsDocEntity save(WpsDocEntity entity); diff --git a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/WpsDocDomainService.java b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/WpsDocDomainService.java index 63634c1..d1f85a9 100644 --- a/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/WpsDocDomainService.java +++ b/safety-eval-domain/src/main/java/org/qinan/safetyeval/domain/service/WpsDocDomainService.java @@ -40,8 +40,8 @@ public class WpsDocDomainService { /** * 当前用户最近一份文档,没有则返回 null */ - public WpsDocEntity findLatestByCreatorId(String creatorId) { - return wpsDocGateway.getLatestByCreatorId(creatorId); + public WpsDocEntity findLatestByCreatorId(String creatorId, Long projectId) { + return wpsDocGateway.getLatestByCreatorId(creatorId, projectId); } /** diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java index 49c940d..7c48e1b 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/OrgPersonnelGatewayImpl.java @@ -204,5 +204,16 @@ public class OrgPersonnelGatewayImpl implements OrgPersonnelGateway { return orgPersonnelDoConvertor.converDosToEes(orgPersonnelMapper.selectList(wrapper)); } + @Override + public List listByIds(Collection ids) { + if (ids == null || ids.isEmpty()) { + return Collections.emptyList(); + } + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(OrgPersonnelDO::getId, ids); + wrapper.eq(OrgPersonnelDO::getDeleteEnum, "false"); + return orgPersonnelDoConvertor.converDosToEes(orgPersonnelMapper.selectList(wrapper)); + } + } diff --git a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/WpsDocGatewayImpl.java b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/WpsDocGatewayImpl.java index e143236..31c975b 100644 --- a/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/WpsDocGatewayImpl.java +++ b/safety-eval-infrastructure/src/main/java/org/qinan/safetyeval/infrastructure/gatewayimpl/WpsDocGatewayImpl.java @@ -35,9 +35,10 @@ public class WpsDocGatewayImpl implements WpsDocGateway { } @Override - public WpsDocEntity getLatestByCreatorId(String creatorId) { + public WpsDocEntity getLatestByCreatorId(String creatorId, Long projectId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(WpsDocDO::getCreatorId, creatorId); + wrapper.eq(WpsDocDO::getProjectId, projectId); wrapper.eq(WpsDocDO::getDeleteEnum, "false"); wrapper.orderByDesc(WpsDocDO::getId); wrapper.last("limit 1");