From f0d3584c938eb5edd8099f730b4bf26057c43e52 Mon Sep 17 00:00:00 2001 From: tianxinlei Date: Fri, 5 Jun 2026 17:16:56 +0800 Subject: [PATCH] =?UTF-8?q?0605=20-=20=E6=96=B0=E5=85=A5=E8=81=8C=E6=97=B6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BA=AB=E4=BB=BD=E8=AF=81copy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcloud/basic/info/command/UserAddExe.java | 36 +++++++++++++++++++ .../command/query/UserCorpRecordQueryExe.java | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java index 596fc5e8..8e940261 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java @@ -79,6 +79,7 @@ public class UserAddExe { // } private final CodeConfig codeConfig; private final UserExpandInfoRepository userExpandInfoRepository; + private final ImgFilesRepository imgFilesRepository; @Transactional(rollbackFor = Exception.class) public boolean execute(UserAddCmd cmd) { @@ -380,11 +381,14 @@ public class UserAddExe { if (firstUserWithIdCard.isPresent()) { UserDO user = firstUserWithIdCard.get(); + String oldUserId = user.getUserId(); BeanUtils.copyProperties(user, userE); userE.setId(null); userE.initFormOnboarding(cmd.getCorpinfoId(), cmd.getDepartmentId(), cmd.getPostName(), Tools.get32UUID()); userE.setFlowFlag(flowFlag); userRepository.saveOnboardingUser(userE); + // 复制身份证照片 + copyIdCardPhotos(oldUserId, userE.getUserId()); } else { // 没有找到符合条件的用户 throw new BizException("当前用户不存在完整用户信息"); @@ -420,11 +424,14 @@ public class UserAddExe { if (firstUserWithIdCard.isPresent()) { UserDO user = firstUserWithIdCard.get(); + String oldUserId = user.getUserId(); BeanUtils.copyProperties(user, userE); userE.setId(null); userE.initFormOnboarding(cmd.getCorpinfoId(), cmd.getDepartmentId(), cmd.getPostName(), Tools.get32UUID()); userE.setFlowFlag(flowFlag); userRepository.saveOnboardingUser(userE); + // 复制身份证照片 + copyIdCardPhotos(oldUserId, userE.getUserId()); } else { // 没有找到符合条件的用户 throw new BizException("当前用户不存在完整用户信息"); @@ -599,5 +606,34 @@ public class UserAddExe { public void addCorpInfo(CorpInfoAddCmd cmd) { } + + /** + * 复制身份证照片从老用户到新用户 + * @param oldUserId 老用户UUID + * @param newUserId 新用户UUID + */ + private void copyIdCardPhotos(String oldUserId, String newUserId) { + Map params = new HashMap<>(); + params.put("eqForeignKey", newUserId.toString()); + params.put("eqType", 14); + params.put("eqDeleteEnum", "FALSE"); + List newExistImgFiles = imgFilesRepository.listAll(params); + if (CollUtil.isNotEmpty(newExistImgFiles)) { + return; + } + params.put("eqForeignKey", oldUserId.toString()); + List oldImgFiles = imgFilesRepository.listAll(params); + if (CollUtil.isNotEmpty(oldImgFiles)) { + List newImgFiles = oldImgFiles.stream().map(img -> { + ImgFilesDO newImg = new ImgFilesDO(); + BeanUtils.copyProperties(img, newImg); + newImg.setId(null); + newImg.setImgFilesId(Tools.get32UUID()); + newImg.setForeignKey(newUserId.toString()); + return newImg; + }).collect(Collectors.toList()); + imgFilesRepository.saveBatch(newImgFiles); + } + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserCorpRecordQueryExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserCorpRecordQueryExe.java index 8ed82b2d..00e338d5 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/query/UserCorpRecordQueryExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/query/UserCorpRecordQueryExe.java @@ -48,7 +48,7 @@ public class UserCorpRecordQueryExe { */ public PageResponse execute(UserCorpRecordPageQry userCorpRecordPageQry) { - Long userId = userCorpRecordPageQry.getEqUserId()==null?AuthContext.getUserId():userCorpRecordPageQry.getEqUserId(); + Long userId = userCorpRecordPageQry.getEqUserId() == null ? AuthContext.getUserId() : userCorpRecordPageQry.getEqUserId(); UserDO userDO = userRepository.getById(userId); if(userDO == null){ return PageResponse.of(null, 0, userCorpRecordPageQry.getPageSize(), userCorpRecordPageQry.getPageIndex());