Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
d0cd1b7bad
@ -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<EbikeFaultFileMapper,
|
||||
@Override
|
||||
public List<EbikeFaultFile> 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<EbikeFaultFileMapper,
|
||||
return Collections.emptyList();
|
||||
}
|
||||
QueryWrapper query = QueryWrapper.create()
|
||||
.and(EBIKE_ATTACHMENT_FILE.REPORT_ID.in(reportIds));
|
||||
.and(EBIKE_FAULT_FILE.REPORT_ID.in(reportIds));
|
||||
return this.list(query);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
@ -37,7 +38,7 @@ import java.io.InputStream;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.cdzy.user.model.entity.table.EbikeAttachmentFileTableDef.EBIKE_ATTACHMENT_FILE;
|
||||
import static com.cdzy.user.model.entity.table.EbikeFaultFileTableDef.EBIKE_FAULT_FILE;
|
||||
import static com.cdzy.user.model.entity.table.EbikeFaultPartTableDef.EBIKE_FAULT_PART;
|
||||
import static com.cdzy.user.model.entity.table.EbikeFaultReportTableDef.EBIKE_FAULT_REPORT;
|
||||
import static com.cdzy.user.model.entity.table.EbikeUserTableDef.EBIKE_USER;
|
||||
@ -95,15 +96,38 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
|
||||
.collect(Collectors.toList());
|
||||
ebikeAttachmentFileService.saveBatch(fileEntities);
|
||||
}
|
||||
// 保存故障上报部位
|
||||
List<Integer> faultPart = ebikeFaultReportDto.getFaultPart();
|
||||
List<EbikeFaultPart> fileEntities = faultPart.stream().map(e -> EbikeFaultPart.builder()
|
||||
.reportId(reportId)
|
||||
.faultPart(e)
|
||||
.createBy(ebikeFaultReportDto.getUserId())
|
||||
.build())
|
||||
|
||||
List<Integer> faultPart = Optional.ofNullable(ebikeFaultReportDto.getFaultPart())
|
||||
.orElse(Collections.emptyList());
|
||||
|
||||
if (!faultPart.isEmpty()) {
|
||||
List<EbikeFaultPart> partEntities = faultPart.stream()
|
||||
.map(part -> EbikeFaultPart.builder()
|
||||
.reportId(reportId)
|
||||
.faultPart(part)
|
||||
.createBy(ebikeFaultReportDto.getUserId())
|
||||
.build())
|
||||
.toList();
|
||||
ebikeFaultPartService.saveBatch(partEntities);
|
||||
}
|
||||
// 获取附件 URL 列表
|
||||
List<String> fileUrls = Optional.ofNullable(ebikeFaultReportDto.getAttachmentFiles())
|
||||
.orElse(Collections.emptyList())
|
||||
.stream()
|
||||
.map(EbikeFaultFileDto::getFileUrl)
|
||||
.filter(Objects::nonNull)
|
||||
.toList();
|
||||
ebikeFaultPartService.saveBatch(fileEntities);
|
||||
// 生成巡检工单
|
||||
FeignInspectionSwapOrderVo feignInspectionSwapOrderVo = FeignInspectionSwapOrderVo.builder()
|
||||
.bikeCode(ebikeFaultReportDto.getBikeCode())
|
||||
.parts(faultPart)
|
||||
.fileUrls(fileUrls)
|
||||
.build();
|
||||
JsonResult<FeignEbikeUserBikeInfo> jsonResult = operationsFeignClient.inspectionSwapOrder(feignInspectionSwapOrderVo);
|
||||
if (jsonResult.getCode() != Code.SUCCESS) {
|
||||
throw new EbikeException("故障上报生成巡检工单失败!");
|
||||
}
|
||||
|
||||
return reportId;
|
||||
}
|
||||
|
||||
@ -371,8 +395,8 @@ public class EbikeFaultReportServiceImpl extends ServiceImpl<EbikeFaultReportMap
|
||||
|
||||
// 获取上传图片 按照reportId分组
|
||||
QueryWrapper attachmentQuery = QueryWrapper.create()
|
||||
.select(EBIKE_ATTACHMENT_FILE.ALL_COLUMNS)
|
||||
.where(EBIKE_ATTACHMENT_FILE.REPORT_ID.in(reportIds));
|
||||
.select(EBIKE_FAULT_FILE.ALL_COLUMNS)
|
||||
.where(EBIKE_FAULT_FILE.REPORT_ID.in(reportIds));
|
||||
List<EbikeFaultFile> allAttachments = ebikeAttachmentFileService.list(attachmentQuery);
|
||||
Map<Long, List<EbikeFaultFile>> attachmentsByReportId = allAttachments.stream()
|
||||
.collect(Collectors.groupingBy(EbikeFaultFile::getReportId));
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user