@@ -147,18 +147,20 @@ public Page<FontResponse> getFonts(Long memberId, int page, int size) {
147147 PageRequest pageRequest = PageRequest .of (page , size , sort );
148148
149149 Page <Font > fontPage = fontRepository .findAllByMemberIdAndStatus (memberId , pageRequest , FontStatus .DONE );
150- log .debug ("Service detail: Found {} fonts on page {} for member ID: {}" ,
150+ log .debug ("Service detail: Found {} fonts on page {} for member ID: {}" ,
151151 fontPage .getNumberOfElements (), page , memberId );
152152
153153 Page <FontResponse > result = fontPage .map (font -> {
154154 boolean bookmarked = bookmarkRepository .existsByMemberIdAndFontId (memberId , font .getId ());
155- Member writer = memberLookupService .getOrThrowById (font .getMemberId ());
155+ String writerNickname = memberLookupService .findById (font .getMemberId ())
156+ .map (Member ::getNickname )
157+ .orElse ("알 수 없는 사용자" );
156158 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
157- return FontResponse .from (font , bookmarked , writer . getNickname () , woff2Url );
159+ return FontResponse .from (font , bookmarked , writerNickname , woff2Url );
158160 });
159161
160-
161- log .info ("Service completed: Retrieved {} fonts out of {} total for member ID: {}" ,
162+
163+ log .info ("Service completed: Retrieved {} fonts out of {} total for member ID: {}" ,
162164 result .getNumberOfElements (), result .getTotalElements (), memberId );
163165 return result ;
164166 }
@@ -169,16 +171,18 @@ public FontResponse getFont(Long fontId, Long memberId) {
169171 log .info ("Service executing: Fetching font details for font ID: {}" , fontId );
170172 Font targetFont = getOrThrowById (fontId );
171173 checkFontStatusIsDone (targetFont );
172- Member writer = memberLookupService .getOrThrowById (targetFont .getMemberId ());
174+ String writerNickname = memberLookupService .findById (targetFont .getMemberId ())
175+ .map (Member ::getNickname )
176+ .orElse ("알 수 없는 사용자" );
173177
174178 boolean isBookmarked = false ;
175179 if (memberId != null ) {
176180 isBookmarked = bookmarkRepository .existsByMemberIdAndFontId (memberId , fontId );
177181 }
178182 String woff2Url = cloudStorageService .getWoff2Url (targetFont .getKey ());
179- FontResponse fontResponse = FontResponse .from (targetFont , isBookmarked , writer . getNickname () , woff2Url );
183+ FontResponse fontResponse = FontResponse .from (targetFont , isBookmarked , writerNickname , woff2Url );
180184
181- log .info ("Service completed: Retrieved font details for font ID: {} with name: {}" ,
185+ log .info ("Service completed: Retrieved font details for font ID: {} with name: {}" ,
182186 fontId , targetFont .getName ());
183187
184188 return fontResponse ;
@@ -202,9 +206,9 @@ public FontDeleteResponse delete(Long memberId, Long fontId) {
202206
203207 @ Override
204208 public Page <FontPageResponse > getFontPage (Long memberId , int page , int size , String sortBy , String keyword ) {
205- log .info ("Service executing: Fetching font page with memberId: {}, page: {}, size: {}, sortBy: {}, keyword: {}" ,
209+ log .info ("Service executing: Fetching font page with memberId: {}, page: {}, size: {}, sortBy: {}, keyword: {}" ,
206210 memberId , page , size , sortBy , keyword );
207-
211+
208212 Sort sort = Sort .by (Sort .Order .desc ("createdAt" ));
209213 if ("downloadCount" .equalsIgnoreCase (sortBy )) {
210214 sort = Sort .by (Sort .Order .desc ("downloadCount" ));
@@ -221,26 +225,30 @@ public Page<FontPageResponse> getFontPage(Long memberId, int page, int size, Str
221225 log .debug ("Service detail: Searching fonts with keyword: {}" , keyword );
222226 fontPage = fontRepository .findByNameContainingAndStatus (keyword , pageRequest , FontStatus .DONE );
223227 }
224-
228+
225229 log .debug ("Service detail: Found {} fonts on page {}" , fontPage .getNumberOfElements (), page );
226230
227231 Page <FontPageResponse > result ;
228232 if (memberId == null ) {
229233 result = fontPage .map (font -> {
230- Member member = memberLookupService .getOrThrowById (font .getMemberId ());
234+ String writerNickname = memberLookupService .findById (font .getMemberId ())
235+ .map (Member ::getNickname )
236+ .orElse ("알 수 없는 사용자" );
231237 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
232- return FontPageResponse .from (font , member . getNickname () , false , woff2Url );
238+ return FontPageResponse .from (font , writerNickname , false , woff2Url );
233239 });
234240 } else {
235241 result = fontPage .map (font -> {
236- Member member = memberLookupService .getOrThrowById (font .getMemberId ());
242+ String writerNickname = memberLookupService .findById (font .getMemberId ())
243+ .map (Member ::getNickname )
244+ .orElse ("알 수 없는 사용자" );
237245 boolean bookmarked = bookmarkRepository .existsByMemberIdAndFontId (memberId , font .getId ());
238246 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
239- return FontPageResponse .from (font , member . getNickname () , bookmarked , woff2Url );
247+ return FontPageResponse .from (font , writerNickname , bookmarked , woff2Url );
240248 });
241249 }
242-
243- log .info ("Service completed: Retrieved {} fonts out of {} total, {} pages" ,
250+
251+ log .info ("Service completed: Retrieved {} fonts out of {} total, {} pages" ,
244252 result .getNumberOfElements (), result .getTotalElements (), result .getTotalPages ());
245253 return result ;
246254 }
@@ -261,12 +269,14 @@ public List<FontResponse> getOtherFonts(Long fontId) {
261269 List <FontResponse > result = fonts .stream ()
262270 .map (f -> {
263271 boolean bookmarked = bookmarkRepository .existsByMemberIdAndFontId (member .getId (), f .getId ());
264- Member writer = memberLookupService .getOrThrowById (f .getMemberId ());
265- String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
266- return FontResponse .from (f , bookmarked , writer .getNickname (), woff2Url );
272+ String writerNickname = memberLookupService .findById (f .getMemberId ())
273+ .map (Member ::getNickname )
274+ .orElse ("알 수 없는 사용자" );
275+ String woff2Url = cloudStorageService .getWoff2Url (f .getKey ());
276+ return FontResponse .from (f , bookmarked , writerNickname , woff2Url );
267277 })
268278 .collect (Collectors .toList ());
269-
279+
270280 log .info ("Service completed: Retrieved {} other fonts from creator of font ID: {}" , result .size (), fontId );
271281 return result ;
272282 }
@@ -283,12 +293,14 @@ public List<FontResponse> getMyPopularFonts(Long memberId) {
283293 List <FontResponse > result = fonts .stream ()
284294 .map (font -> {
285295 boolean bookmarked = bookmarkRepository .existsByMemberIdAndFontId (member .getId (), font .getId ());
286- Member writer = memberLookupService .getOrThrowById (font .getMemberId ());
296+ String writerNickname = memberLookupService .findById (font .getMemberId ())
297+ .map (Member ::getNickname )
298+ .orElse ("알 수 없는 사용자" );
287299 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
288- return FontResponse .from (font , bookmarked , writer . getNickname () , woff2Url );
300+ return FontResponse .from (font , bookmarked , writerNickname , woff2Url );
289301 })
290302 .collect (Collectors .toList ());
291-
303+
292304 log .info ("Service completed: Retrieved {} popular fonts for member ID: {}" , result .size (), memberId );
293305 return result ;
294306 }
@@ -304,23 +316,27 @@ public List<FontResponse> getPopularFonts(Long memberId) {
304316 if (memberId == null ) {
305317 result = fonts .stream ()
306318 .map (font -> {
307- Member writer = memberLookupService .getOrThrowById (font .getMemberId ());
319+ String writerNickname = memberLookupService .findById (font .getMemberId ())
320+ .map (Member ::getNickname )
321+ .orElse ("알 수 없는 사용자" );
308322 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
309- return FontResponse .from (font , false , writer . getNickname () , woff2Url );
323+ return FontResponse .from (font , false , writerNickname , woff2Url );
310324 })
311325 .collect (Collectors .toList ());
312326 } else {
313327 Member member = memberLookupService .getOrThrowById (memberId );
314328 result = fonts .stream ()
315329 .map (font -> {
316330 boolean bookmarked = bookmarkRepository .existsByMemberIdAndFontId (member .getId (), font .getId ());
317- Member writer = memberLookupService .getOrThrowById (font .getMemberId ());
331+ String writerNickname = memberLookupService .findById (font .getMemberId ())
332+ .map (Member ::getNickname )
333+ .orElse ("알 수 없는 사용자" );
318334 String woff2Url = cloudStorageService .getWoff2Url (font .getKey ());
319- return FontResponse .from (font , bookmarked , writer . getNickname () , woff2Url );
335+ return FontResponse .from (font , bookmarked , writerNickname , woff2Url );
320336 })
321337 .collect (Collectors .toList ());
322338 }
323-
339+
324340 log .info ("Service completed: Retrieved {} globally popular fonts" , result .size ());
325341 return result ;
326342 }
0 commit comments