소스 검색

修复空指针

luoyangwei 1 년 전
부모
커밋
538da1b9c1
2개의 변경된 파일8개의 추가작업 그리고 5개의 파일을 삭제
  1. 7 5
      internal/service/amap_service.go
  2. 1 0
      server/routers.go

+ 7 - 5
internal/service/amap_service.go

@@ -141,11 +141,13 @@ func (s *AMapService) Request(ctx context.Context, request *v1.PostLocationReque
 	if err != nil {
 		return nil, eris.Wrapf(err, "error select by previous")
 	} else {
-		// 无效的点位
-		if isInvalidPosition := previousPositionDiff(prevMapLocation, result.Result.Location, request.PositionTime); isInvalidPosition {
-			log.Warn().Str("prev", prevMapLocation.Location).Str("now", result.Result.Location).
-				Msgf("定位命中距离算法判断, 丢弃点位")
-			return nil, v1.ErrLocationInvalid
+		if prevMapLocation != nil {
+			// 无效的点位
+			if isInvalidPosition := previousPositionDiff(prevMapLocation, result.Result.Location, request.PositionTime); isInvalidPosition {
+				log.Warn().Str("prev", prevMapLocation.Location).Str("now", result.Result.Location).
+					Msgf("定位命中距离算法判断, 丢弃点位")
+				return nil, v1.ErrLocationInvalid
+			}
 		}
 	}
 

+ 1 - 0
server/routers.go

@@ -32,6 +32,7 @@ func (r *ExtRouter) registration(app *fiber.App) {
 }
 
 func (r *ExtRouter) insecureRoutes(router fiber.Router) {}
+
 func (r *ExtRouter) authorizerRoutes(router fiber.Router) {
 	router.Post("/location", middleware.NewVersioning().
 		Append(v1.VersioningV100, r.locationHeader.Post).