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 510a2e1fa..bae744ef1 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 @@ -678,7 +678,8 @@ public class StoreServiceImpl implements IStoreService { // 更新属性 BeanUtil.copyProperties(certDTO.getStoreCert(), storeCert); // 新增档口认证的文件列表 - this.handleStoreCertFileList(certDTO, storeCert); + storeCert = this.handleStoreCertFileList(certDTO, storeCert); + this.storeCertMapper.updateById(storeCert); } /** @@ -687,23 +688,19 @@ public class StoreServiceImpl implements IStoreService { * @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()))); + public StoreCertificate handleStoreCertFileList(StoreCertDTO certDTO, StoreCertificate storeCert) { + // 新增身份证人脸 + StoreCertDTO.SCStoreFileDTO idCardFace = certDTO.getStoreCert().getFileList().stream().filter(x -> Objects.equals(x.getFileType(), FileType.ID_CARD_FACE.getValue())) + .findFirst().orElseThrow(() -> new ServiceException("身份证人脸文件不存在!", HttpStatus.ERROR)); + StoreCertDTO.SCStoreFileDTO idCardEmblem = certDTO.getStoreCert().getFileList().stream().filter(x -> Objects.equals(x.getFileType(), FileType.ID_CARD_EMBLEM.getValue())) + .findFirst().orElseThrow(() -> new ServiceException("身份证国徽文件不存在!", HttpStatus.ERROR)); + StoreCertDTO.SCStoreFileDTO license = certDTO.getStoreCert().getFileList().stream().filter(x -> Objects.equals(x.getFileType(), FileType.BUSINESS_LICENSE.getValue())) + .findFirst().orElseThrow(() -> new ServiceException("营业执照文件不存在!", HttpStatus.ERROR)); + SysFile idCardFaceFile = BeanUtil.toBean(idCardFace, SysFile.class); + SysFile idCardEmblemFile = BeanUtil.toBean(idCardEmblem, SysFile.class); + SysFile licenseFile = BeanUtil.toBean(license, SysFile.class); + this.fileMapper.insert(Arrays.asList(idCardFaceFile, idCardEmblemFile, licenseFile)); + return storeCert.setIdCardFaceFileId(idCardFaceFile.getId()).setIdCardEmblemFileId(idCardEmblemFile.getId()).setLicenseFileId(licenseFile.getId()); }