@@ -48,15 +48,15 @@ public List<ViewportMarkerResponse> getMemberPlacesInViewport(
4848
4949 final int zoomLevel = request .zoomLevel ();
5050 final boolean isMaxZoom = zoomLevel == properties .maxZoomAtRefZ ();
51-
52- final double memberLatitude = request .memberCoordinate ().latitude ();
53- final double memberLongitude = request .memberCoordinate ().longitude ();
51+ final LocalDateTime now = LocalDateTime .now ();
5452
5553 // 1. 최대 줌 레벨에서는 클러스터링 X
5654 if (isMaxZoom ) {
5755 List <ViewportMarkerResponse > markers = new ArrayList <>(rows .size ());
5856 for (MemberPlaceViewportRow row : rows ) {
5957
58+ Boolean isExpired = resolveIsExpired (row , now );
59+
6060 markers .add (
6161 ViewportPlaceMarkerResponse .of (
6262 row .id (),
@@ -68,7 +68,7 @@ public List<ViewportMarkerResponse> getMemberPlacesInViewport(
6868 row .congestionMessage (),
6969 row .createdAt (),
7070 row .isFavorite (),
71- row . expiresAt (). isBefore ( LocalDateTime . now ())
71+ isExpired
7272 )
7373 );
7474 }
@@ -134,6 +134,8 @@ public List<ViewportMarkerResponse> getMemberPlacesInViewport(
134134 if (row == null )
135135 continue ;
136136
137+ Boolean isExpired = resolveIsExpired (row , now );
138+
137139 markers .add (
138140 ViewportPlaceMarkerResponse .of (
139141 row .id (),
@@ -145,12 +147,23 @@ public List<ViewportMarkerResponse> getMemberPlacesInViewport(
145147 row .congestionMessage (),
146148 row .createdAt (),
147149 row .isFavorite (),
148- row . expiresAt (). isBefore ( LocalDateTime . now ())
150+ isExpired
149151 )
150152 );
151153 }
152154 }
153155
154156 return markers ;
155157 }
158+
159+ private Boolean resolveIsExpired (
160+ MemberPlaceViewportRow row ,
161+ LocalDateTime now
162+ ) {
163+ if (row .expiresAt () == null ) {
164+ return null ;
165+ }
166+
167+ return row .expiresAt ().isBefore (now );
168+ }
156169}
0 commit comments