diff --git a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueOrderInfoServiceImpl.java b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueOrderInfoServiceImpl.java index 25107ef4..3e668959 100644 --- a/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueOrderInfoServiceImpl.java +++ b/dl-module-rescue/src/main/java/cn/iocoder/yudao/module/rescue/service/impl/RescueOrderInfoServiceImpl.java @@ -22,12 +22,12 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.locks.ReentrantLock; +import java.util.stream.Collectors; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; import static cn.iocoder.yudao.module.rescue.service.impl.RescueDriverInfoServiceImpl.getRandomString6; @@ -158,7 +158,7 @@ public class RescueOrderInfoServiceImpl extends ServiceImpl list = this.list(new LambdaQueryWrapper().eq(RescueOrderInfo::getRescueInfoId, rescueInfoId)); + // 没查到直接抛异常,理论上讲是不会抛的,但以防万一,抛了好过直接报错 + if (ObjectUtils.isEmpty(list) || CollectionUtil.isEmpty(list)){ + throw exception0(500, "系统故障"); + } + // 如果只有一条,就用这一条 + if (list.size() == 1){ + return list.get(0); + } + // 多条就创建时间降序排序取第一条 + List result = list.stream().sorted(Comparator.comparing(RescueOrderInfo::getCreateTime).reversed()).collect(Collectors.toList()); + return result.get(0); + } + public Map transactions(Long orderId){ RescueOrderInfo orderInfo = this.getById(orderId); @@ -216,9 +240,10 @@ public class RescueOrderInfoServiceImpl extends ServiceImpl