diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java index 27ac134..55be23a 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/AsDeviceServiceImpl.java @@ -1563,6 +1563,19 @@ public class AsDeviceServiceImpl extends ServiceImpl i // order.setReturnTime(DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, "2024-07-23 17:09:32"));//2024-06-28 18:15:56 String token = Token.getToken(); AsDevice device = asDeviceMapper.selectAsDeviceBySn(order.getSn()); + if(ObjectUtil.isNull(device)){ + String usedSn = order.getUsedSn(); + // 判断字符串中是否包含逗号 + if (usedSn.contains(",")) { + // 使用逗号分割字符串 + String[] parts = usedSn.split(","); + // 获取最后一个对象 + String lastPart = parts[parts.length - 1]; + order.setSn(lastPart); + } else { + order.setSn(usedSn); + } + } if(ServiceConstants.RETURN_TYPE_NORMAL.equals(returnType)){ if(!"true".equals(isBluetooth)){ /** 2. 车辆远程关锁*/ @@ -1641,10 +1654,12 @@ public class AsDeviceServiceImpl extends ServiceImpl i throw new ServiceException("更新订单状态失败"); } /** 5.记录行程*/ - int tripLog = tripLogService.tripLog(order.getOrderNo(),device.getSn(),ServiceConstants.TRIP_LOG_TYPE_RETRUN_LOCK); - if(tripLog==0){ - log.info("【还车关锁】记录行程失败"); - throw new ServiceException("【还车关锁】记录行程失败"); + if(ObjectUtil.isNotNull(device)){ + int tripLog = tripLogService.tripLog(order.getOrderNo(),device.getSn(),ServiceConstants.TRIP_LOG_TYPE_RETRUN_LOCK); + if(tripLog==0){ + log.info("【还车关锁】记录行程失败"); + throw new ServiceException("【还车关锁】记录行程失败"); + } } log.info("还车成功"); return Boolean.TRUE; @@ -1821,7 +1836,7 @@ public class AsDeviceServiceImpl extends ServiceImpl i } /** 调度费*/ //判断是否在运营区内 - if(!isAreaZone(order.getSn(), area)){ + if(StrUtil.isNotBlank(order.getSn()) && !isAreaZone(order.getSn(), area)){ BigDecimal dispatchFee = area.getDispatchFee();//调度费 order.setDispatchFee(dispatchFee); } diff --git a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java index f1e6d94..95789a6 100644 --- a/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java +++ b/electripper-system/src/main/java/com/ruoyi/system/service/impl/EtOrderServiceImpl.java @@ -1712,8 +1712,7 @@ public class EtOrderServiceImpl implements IEtOrderService } newDevice.setLastTime(DateUtils.getNowDate()); } - newDevice.setIsAdminUnlocking("1"); - newDevice.setStatus(ServiceConstants.VEHICLE_STATUS_SCHEDULING); + newDevice.setStatus(ServiceConstants.VEHICLE_STATUS_IN_USING); newDevice.setLockStatus(ServiceConstants.LOCK_STATUS_OPEN); int i = asDeviceMapper.updateAsDevice(newDevice); if(i>0){