From 20fe371975ce26339f4498f5942e2caab318adaf Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 14 Sep 2026 12:05:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9C=BA=E5=99=A8=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E5=8F=91=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/order/HardOrderServiceImpl.java | 5 + ...dOrderServiceImplCreateOrderPrintTest.java | 107 ++++++++++++++++++ .../pjcloud/admin/api/vo/SysUserFaceVo.java | 5 + .../service/impl/SysUserFaceServiceImpl.java | 34 ++++++ 4 files changed, 151 insertions(+) create mode 100644 pjcloud-hardware/pjcloud-hardware-biz/src/test/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImplCreateOrderPrintTest.java diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index b1b791bd4..59c7405cd 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -5349,6 +5349,11 @@ public class HardOrderServiceImpl extends ServiceImpl list = baseMapper.scopePageList(page, dto, dataScope); // 批量补齐身份协议与学生、老师扩展资料,供管理端“身份信息”复合列展示。 sysUserIdentityService.fillUserIdentities(list.getRecords()); + // 回填人脸序号,供前端按“姓名-班级-序号”命名下载当前行人脸图片。 + fillFaceIndex(list.getRecords()); // 审批流程 if (dto.getIsFindCheckUser()) { List processInstanceIds = list.getRecords().stream().map(SysUserFaceVo::getProcessId).filter(ObjectUtil::isNotEmpty).distinct().toList(); @@ -939,6 +941,38 @@ public class SysUserFaceServiceImpl extends ServiceImpl records) { + if (ObjectUtil.isEmpty(records)) { + return; + } + List userIds = records.stream().map(SysUserFaceVo::getUserId).filter(Objects::nonNull).distinct().toList(); + if (ObjectUtil.isEmpty(userIds)) { + return; + } + Map> faceIdsByUserId = list(new LambdaQueryWrapper() + .select(SysUserFaceEntity::getId, SysUserFaceEntity::getUserId) + .in(SysUserFaceEntity::getUserId, userIds) + .orderByAsc(SysUserFaceEntity::getId)) + .stream() + .collect(Collectors.groupingBy(SysUserFaceEntity::getUserId, + Collectors.mapping(SysUserFaceEntity::getId, Collectors.toList()))); + for (SysUserFaceVo record : records) { + List faceIds = faceIdsByUserId.get(record.getUserId()); + if (ObjectUtil.isEmpty(faceIds)) { + continue; + } + int index = faceIds.indexOf(record.getId()); + if (index >= 0) { + record.setFaceIndex(index + 1); + } + } + } + @Override public Page pageJoin(Page page, SysUserFaceDto dto) { if (ObjectUtil.isNotEmpty(dto.getMerchantDeptIdOrGlobal())) {