diff --git a/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java b/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java index 0a87c00..1d95766 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java @@ -65,8 +65,6 @@ } - //favorites - //get //いいねした人の一覧を返す: accountIdの本(bookId)にいいねしたotherAccountIdとその本の一覧 public HashMap> getFavorites(String accountId) { //otherAccountIDといいねしたbookIdの集合(本はaccountIdのもの限定) @@ -103,19 +101,26 @@ } - // accountを削除したいとき +// accountを削除したいとき public void removeFavoriteById(String accountId) { // accountIdはamika1107 - favoritedMap.remove(accountId); // tedのアカウントから下全部消す - for (String otherAccountId : favoritesMap.get(accountId).keySet()) { - favoritesMap.get(accountId).remove(otherAccountId); // tesのotherから下全部 + //birdのアカウントを消した時 + if (favoritedMap.containsKey(accountId)) { + for (Integer bookId : favoritedMap.get(accountId).keySet()) { + for (String fanAccountId : favoritedMap.get(accountId).get(bookId)) { + favoritesMap.get(fanAccountId).remove(accountId); // tesのotherから下全部 + } + } + favoritedMap.remove(accountId); // tedのアカウントから下全部消す } - for (Integer bookId : favoritedMap.get(accountId).keySet()) { - for (String otherAccountId : favoritedMap.get(accountId).get(bookId)) { - favoritedMap.get(accountId).get(bookId).remove(otherAccountId); + if(favoritesMap.containsKey(accountId)) { + for (String starAccountId : favoritesMap.get(accountId).keySet()) { + for (Integer bookId : favoritesMap.get(accountId).get(starAccountId)) { + favoritedMap.get(starAccountId).get(bookId).remove(accountId); + } } + favoritesMap.remove(accountId); } - favoritesMap.remove(accountId); } // bookIdを削除したいとき