@@ -327,27 +327,25 @@ Optional<LockerDetailQueryProjection> findDetailById(
327327 );
328328
329329 @ Query (value = """
330- WITH target AS (
331- SELECT ST_SetSRID(ST_MakePoint(:longitude, :latitude), 4326)::geography AS point
332- )
333330 SELECT
334331 l.id AS lockerId,
335332 ST_Y(l.location::geometry) AS lockerLatitude,
336333 ST_X(l.location::geometry) AS lockerLongitude,
337334 l.place_id AS placeId
338335 FROM lockers l
339336 JOIN places p ON p.id = l.place_id
340- CROSS JOIN target
341- WHERE ST_DWithin(l.location, target.point, :radiusMeters)
337+ WHERE l.latitude BETWEEN :swLat AND :neLat
338+ AND l.longitude BETWEEN :swLng AND :neLng
342339 AND l.place_id IS NOT NULL
343340 AND l.publication_status = 'ACTIVE'
344341 AND p.publication_status = 'ACTIVE'
345- ORDER BY ST_Distance(l.location, target.point) ASC
342+ ORDER BY l.id ASC
346343 """ , nativeQuery = true )
347- List <NearbyLockerPlaceQueryProjection > findNearbyLockers (
348- @ Param ("latitude" ) double latitude ,
349- @ Param ("longitude" ) double longitude ,
350- @ Param ("radiusMeters" ) int radiusMeters
344+ List <NearbyLockerPlaceQueryProjection > findLockersWithinBounds (
345+ @ Param ("swLat" ) double swLat ,
346+ @ Param ("swLng" ) double swLng ,
347+ @ Param ("neLat" ) double neLat ,
348+ @ Param ("neLng" ) double neLng
351349 );
352350
353351 @ Query (value = """
0 commit comments