Просмотр исходного кода

修复riderLocation为空时的空指针异常

codingliang 1 год назад
Родитель
Сommit
6596384847

+ 5 - 0
src/main/java/com/sqx/modules/timedtask/service/impl/RiderLocationServiceImpl.java

@@ -1,7 +1,9 @@
 package com.sqx.modules.timedtask.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sqx.common.exception.SqxException;
 import com.sqx.common.utils.Result;
 import com.sqx.modules.common.entity.CommonInfo;
 import com.sqx.modules.common.service.CommonInfoService;
@@ -55,6 +57,9 @@ public class RiderLocationServiceImpl extends ServiceImpl<RiderLocationDao, Ride
         HashMap hashMap = new HashMap();
         //查看骑手即时位置
         RiderLocation riderLocation = baseMapper.selectOne(new QueryWrapper<RiderLocation>().eq("user_id", riderUserId));
+        if (ObjectUtil.isNull(riderLocation)) {
+            throw new SqxException("无效的用户id");
+        }
         //计算骑手到用户的距离
         Double aDouble = riderLocationDao.calculateDistance(lng, lat, riderLocation.getLng(), riderLocation.getLat());
         //计算预计送达时间