From 2b18099dc6d1b3f3ce083c61017160a2df2f316d8cfe02ae22670d5bbc06a4d1 Mon Sep 17 00:00:00 2001 From: yanglei Date: Wed, 26 Nov 2025 11:05:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=B1=BB=E5=9E=8B=E5=8F=8A=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EbikeFaultReportServiceImpl.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultReportServiceImpl.java b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultReportServiceImpl.java index 72d6665..49a48f9 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultReportServiceImpl.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultReportServiceImpl.java @@ -22,6 +22,7 @@ import com.cdzy.user.service.EbikeFaultReportService; import com.cdzy.user.utils.MinioUtil; import com.ebike.feign.clients.OperationsFeignClient; import com.ebike.feign.model.dto.FeignEbikeUserBikeInfo; +import com.ebike.feign.model.vo.FeignInspectionSwapOrderVo; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryMethods; import com.mybatisflex.core.query.QueryWrapper; @@ -104,6 +105,23 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl fileUrls = null; + if (Objects.nonNull(attachmentFiles)) { + fileUrls = attachmentFiles.stream() + .map(EbikeFaultFileDto::getFileUrl) + .filter(Objects::nonNull) + .toList(); + } + FeignInspectionSwapOrderVo feignInspectionSwapOrderVo = FeignInspectionSwapOrderVo.builder() + .bikeCode(ebikeFaultReportDto.getBikeCode()) + .parts(faultPart) + .fileUrls(fileUrls) + .build(); + JsonResult jsonResult = operationsFeignClient.inspectionSwapOrder(feignInspectionSwapOrderVo); + if (jsonResult.getCode() != Code.SUCCESS) { + throw new EbikeException("故障上报生成巡检工单失败!"); + } return reportId; } From a3fda60ae3c095f3aae1b7fe556148a4e065c53c5ec09a9db0b6691fd27b9a33 Mon Sep 17 00:00:00 2001 From: yanglei Date: Wed, 26 Nov 2025 11:10:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=95=85=E9=9A=9C=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=B7=A1=E6=A3=80=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EbikeFaultFileServiceImpl.java | 13 +++--- .../impl/EbikeFaultReportServiceImpl.java | 42 +++++++++++-------- 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultFileServiceImpl.java b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultFileServiceImpl.java index 2a1a6eb..dc104cd 100644 --- a/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultFileServiceImpl.java +++ b/ebike-user/src/main/java/com/cdzy/user/service/impl/EbikeFaultFileServiceImpl.java @@ -10,7 +10,8 @@ import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; -import static com.cdzy.user.model.entity.table.EbikeAttachmentFileTableDef.EBIKE_ATTACHMENT_FILE; +import static com.cdzy.user.model.entity.table.EbikeFaultFileTableDef.EBIKE_FAULT_FILE; + /** * 用车相关附件文件记录 服务实现类 @@ -24,16 +25,16 @@ public class EbikeFaultFileServiceImpl extends ServiceImpl queryFiles(Long reportId) { QueryWrapper query = QueryWrapper.create() - .select(EBIKE_ATTACHMENT_FILE.ALL_COLUMNS) - .where(EBIKE_ATTACHMENT_FILE.REPORT_ID.eq(reportId)); + .select(EBIKE_FAULT_FILE.ALL_COLUMNS) + .where(EBIKE_FAULT_FILE.REPORT_ID.eq(reportId)); return this.mapper.selectListByQuery(query); } @Override public void deleteFileByReportId(Long reportId) { QueryWrapper query = QueryWrapper.create() - .select(EBIKE_ATTACHMENT_FILE.ALL_COLUMNS) - .where(EBIKE_ATTACHMENT_FILE.REPORT_ID.eq(reportId)); + .select(EBIKE_FAULT_FILE.ALL_COLUMNS) + .where(EBIKE_FAULT_FILE.REPORT_ID.eq(reportId)); this.mapper.deleteByQuery(query); } @@ -43,7 +44,7 @@ public class EbikeFaultFileServiceImpl extends ServiceImpl faultPart = ebikeFaultReportDto.getFaultPart(); - List fileEntities = faultPart.stream().map(e -> EbikeFaultPart.builder() - .reportId(reportId) - .faultPart(e) - .createBy(ebikeFaultReportDto.getUserId()) - .build()) - .toList(); - ebikeFaultPartService.saveBatch(fileEntities); - // 根据bikeCode生成巡检工单 - List fileUrls = null; - if (Objects.nonNull(attachmentFiles)) { - fileUrls = attachmentFiles.stream() - .map(EbikeFaultFileDto::getFileUrl) - .filter(Objects::nonNull) + + List faultPart = Optional.ofNullable(ebikeFaultReportDto.getFaultPart()) + .orElse(Collections.emptyList()); + + if (!faultPart.isEmpty()) { + List partEntities = faultPart.stream() + .map(part -> EbikeFaultPart.builder() + .reportId(reportId) + .faultPart(part) + .createBy(ebikeFaultReportDto.getUserId()) + .build()) .toList(); + ebikeFaultPartService.saveBatch(partEntities); } + // 获取附件 URL 列表 + List fileUrls = Optional.ofNullable(ebikeFaultReportDto.getAttachmentFiles()) + .orElse(Collections.emptyList()) + .stream() + .map(EbikeFaultFileDto::getFileUrl) + .filter(Objects::nonNull) + .toList(); + // 生成巡检工单 FeignInspectionSwapOrderVo feignInspectionSwapOrderVo = FeignInspectionSwapOrderVo.builder() .bikeCode(ebikeFaultReportDto.getBikeCode()) .parts(faultPart) @@ -122,6 +127,7 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl allAttachments = ebikeAttachmentFileService.list(attachmentQuery); Map> attachmentsByReportId = allAttachments.stream() .collect(Collectors.groupingBy(EbikeFaultFile::getReportId));