From 5e5b017ed3c5e57a64f1cd05b70de33a1149d0ef Mon Sep 17 00:00:00 2001 From: liujiang <569804566@qq.com> Date: Fri, 8 Aug 2025 23:05:08 +0800 Subject: [PATCH] =?UTF-8?q?master=EF=BC=9A=E6=A1=A3=E5=8F=A3=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E8=B0=83=E6=95=B4=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StoreCertificateServiceImpl.java | 2 +- .../xkt/service/impl/StoreServiceImpl.java | 54 ++++++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCertificateServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCertificateServiceImpl.java index a84798342..2cc434186 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCertificateServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreCertificateServiceImpl.java @@ -124,7 +124,7 @@ public class StoreCertificateServiceImpl implements IStoreCertificateService { .eq(StoreCertificate::getId, certDTO.getStoreCertId()).eq(StoreCertificate::getDelFlag, Constants.UNDELETED) .eq(StoreCertificate::getStoreId, certDTO.getStoreId()))) .orElseThrow(() -> new ServiceException("档口认证不存在!", HttpStatus.ERROR)); - // 先将旧的档口认证相关文件置为无效 + // 更新档口认证信息 List oldFileList = Optional.ofNullable(this.fileMapper.selectList(new LambdaQueryWrapper() .eq(SysFile::getDelFlag, Constants.UNDELETED).in(SysFile::getId, Arrays.asList(storeCert.getIdCardFaceFileId(), storeCert.getIdCardEmblemFileId(), storeCert.getLicenseFileId())))) diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java index 5c73b9c17..782d6321c 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreServiceImpl.java @@ -25,6 +25,7 @@ import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.xkt.domain.*; import com.ruoyi.xkt.dto.store.*; +import com.ruoyi.xkt.dto.storeCertificate.StoreCertDTO; import com.ruoyi.xkt.dto.storeCertificate.StoreCertResDTO; import com.ruoyi.xkt.enums.FileType; import com.ruoyi.xkt.enums.StoreStatus; @@ -151,10 +152,11 @@ public class StoreServiceImpl implements IStoreService { !Objects.equals(store.getStoreStatus(), StoreStatus.AUDIT_REJECTED.getValue())) { throw new ServiceException("当前状态不为待审核 或 审核驳回,不可审核!", HttpStatus.ERROR); } - store.setStoreStatus(StoreStatus.TRIAL_PERIOD.getValue()); auditDTO.getStoreCert().setStoreId(auditDTO.getStoreId()); // 更新档口认证信息 - this.storeCertService.update(auditDTO.getStoreCert()); + this.updateStoreCert(auditDTO.getStoreCert()); + store.setStoreStatus(StoreStatus.TRIAL_PERIOD.getValue()); + store.setRejectReason(""); } else { store.setStoreStatus(StoreStatus.AUDIT_REJECTED.getValue()); store.setRejectReason(auditDTO.getRejectReason()); @@ -162,6 +164,7 @@ public class StoreServiceImpl implements IStoreService { return this.storeMapper.updateById(store); } + /** * 获取档口详细信息 * @@ -555,5 +558,52 @@ public class StoreServiceImpl implements IStoreService { return BeanUtil.toBean(storeCert, StoreCertResDTO.class).setStoreCertId(storeCert.getId()).setFileList(fileDTOList); } + /** + * 更新档口认证信息 + * + * @param certDTO 认证入参 + */ + public void updateStoreCert(StoreCertDTO certDTO) { + StoreCertificate storeCert = Optional.ofNullable(this.storeCertMapper.selectOne(new LambdaQueryWrapper() + .eq(StoreCertificate::getId, certDTO.getStoreCertId()).eq(StoreCertificate::getDelFlag, Constants.UNDELETED) + .eq(StoreCertificate::getStoreId, certDTO.getStoreId()))) + .orElseThrow(() -> new ServiceException("档口认证不存在!", HttpStatus.ERROR)); + // 先将旧的档口认证相关文件置为无效 + List oldFileList = Optional.ofNullable(this.fileMapper.selectList(new LambdaQueryWrapper() + .eq(SysFile::getDelFlag, Constants.UNDELETED).in(SysFile::getId, + Arrays.asList(storeCert.getIdCardFaceFileId(), storeCert.getIdCardEmblemFileId(), storeCert.getLicenseFileId())))) + .orElseThrow(() -> new ServiceException("档口认证相关文件不存在!", HttpStatus.ERROR)); + this.fileMapper.updateById(oldFileList.stream().peek(x -> x.setDelFlag(Constants.DELETED)).collect(Collectors.toList())); + // 更新属性 + BeanUtil.copyProperties(certDTO.getStoreCert(), storeCert); + // 新增档口认证的文件列表 + this.handleStoreCertFileList(certDTO, storeCert); + } + + /** + * 新增档口认证文件 + * + * @param certDTO 认证入参 + * @param storeCert 认证 + */ + public void handleStoreCertFileList(StoreCertDTO certDTO, StoreCertificate storeCert) { + // 档口认证文件类型与文件名映射 + Map typeNameTransMap = certDTO.getStoreCert().getFileList().stream().collect(Collectors + .toMap(StoreCertDTO.SCStoreFileDTO::getFileType, StoreCertDTO.SCStoreFileDTO::getFileName)); + // 上传的文件列表 + final List fileDTOList = certDTO.getStoreCert().getFileList(); + // 将文件插入到SysFile表中 + List fileList = BeanUtil.copyToList(fileDTOList, SysFile.class); + this.fileMapper.insert(fileList); + // 文件名称与文件ID映射 + Map fileMap = fileList.stream().collect(Collectors.toMap(SysFile::getFileName, SysFile::getId)); + // 设置身份证人脸文件ID + storeCert.setIdCardFaceFileId(fileMap.get(typeNameTransMap.get(FileType.ID_CARD_FACE.getValue()))); + // 设置身份证国徽文件ID + storeCert.setIdCardEmblemFileId(fileMap.get(typeNameTransMap.get(FileType.ID_CARD_EMBLEM.getValue()))); + // 设置营业执照文件ID + storeCert.setLicenseFileId(fileMap.get(typeNameTransMap.get(FileType.BUSINESS_LICENSE.getValue()))); + } + }