@@ -143,13 +143,15 @@ public GetReviewTotalDto getReviewTotal(UUID placeId) {
143143 throw new CustomException (ErrorCode .PLACE_NOT_FOUND );
144144 }
145145
146- List <ReviewEntity > reviewList = getReviewEntityBean .exec (place );
147- if (reviewList == null || reviewList .isEmpty ()) {
146+ List <ReviewEntity > reviewList = Optional .ofNullable (getReviewEntityBean .exec (place ))
147+ .orElse (List .of ());
148+
149+ if (reviewList .isEmpty ()) {
148150 return null ;
149151 }
150152
151153 List <UUID > top5TagIds = reviewList .stream ()
152- .flatMap (review -> review .getTagList ().stream ())
154+ .flatMap (review -> Optional . ofNullable ( review .getTagList ()). orElse ( List . of () ).stream ())
153155 .collect (Collectors .groupingBy (tagId -> tagId , Collectors .counting ()))
154156 .entrySet ().stream ()
155157 .sorted ((e1 , e2 ) -> Long .compare (e2 .getValue (), e1 .getValue ()))
@@ -159,11 +161,13 @@ public GetReviewTotalDto getReviewTotal(UUID placeId) {
159161
160162 List <TagEntity > topTags = top5TagIds .stream ()
161163 .map (getTagEntityBean ::exec )
162- .collect (Collectors .toList ());
164+ .filter (Objects ::nonNull )
165+ .toList ();
163166
164- List <String > tagNames = getTagNameBean .exec (topTags );
167+ List <String > tagNames = Optional . ofNullable ( getTagNameBean .exec (topTags )). orElse ( List . of () );
165168
166- double stars = Math .round (getReviewStarsAvgBean .exec (reviewList ) * 10 ) / 10.0 ;
169+ double starsRaw = getReviewStarsAvgBean .exec (reviewList );
170+ double stars = Math .round (starsRaw * 10 ) / 10.0 ;
167171
168172 return GetReviewTotalDto .builder ()
169173 .reviewNum (reviewList .size ())
0 commit comments