diff --git a/src/main/java/org/ntlab/citrusserver/entities/Book.java b/src/main/java/org/ntlab/citrusserver/entities/Book.java index c182121..c68c40e 100644 --- a/src/main/java/org/ntlab/citrusserver/entities/Book.java +++ b/src/main/java/org/ntlab/citrusserver/entities/Book.java @@ -17,7 +17,7 @@ this.title = title; this.publicity = publicity; this.color = color; - + this.time = time; } diff --git a/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java b/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java index 7185830..b5937f1 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/BookManager.java @@ -95,7 +95,7 @@ public void deleteAllBooks(String accountId) { - booksMap.get(accountId).clear(); + booksMap.remove(accountId); } //((( 目標・振り返りは省略 ))) diff --git a/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java b/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java index 760568e..7874daf 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java @@ -98,4 +98,22 @@ if(newBookId == null)newBookId = 0; schedules.get(accountId).get(year).get(month).get(day).get(scheduleId).setBookId(newBookId); } + + public void deleteSchedules(String accountId){ + schedules.remove(accountId); + } + + public void deleteScheduleBookId(String accountId, Integer bookId){ + for(int year : schedules.get(accountId).keySet()){ + for (int month : schedules.get(accountId).get(year).keySet()){ + for(int day : schedules.get(accountId).get(year).get(month).keySet()){ + for (int scheduleId : schedules.get(accountId).get(year).get(month).get(day).keySet()){ + if(schedules.get(accountId).get(year).get(month).get(day).get(scheduleId).getBookId().equals(bookId)){ + schedules.get(accountId).get(year).get(month).get(day).get(scheduleId).setBookId(0); + } + } + } + } + } + } } diff --git a/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java b/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java index 6289f93..3398b0b 100644 --- a/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java +++ b/src/main/java/org/ntlab/citrusserver/resources/BooksRest.java @@ -6,6 +6,7 @@ import org.ntlab.citrusserver.entities.Book; import org.ntlab.citrusserver.repositories.AccountManager; import org.ntlab.citrusserver.repositories.BookManager; +import org.ntlab.citrusserver.repositories.TodoManager; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -20,11 +21,13 @@ private final BookManager bookManager; private final AccountManager accountManager; + private final TodoManager todoManager; @Autowired // スプリングブートにいうサイン - public BooksRest(BookManager bm, AccountManager ac){//public クラス名()がコンストラクタ + public BooksRest(BookManager bm, AccountManager ac, TodoManager tm){//public クラス名()がコンストラクタ bookManager = bm; accountManager = ac; + todoManager = tm; } @@ -111,6 +114,7 @@ throw new WebApplicationException(response.build()); } else{ + todoManager.deleteAllTodosByBookId(account_id, book_id);//削除時、Todoも消す bookManager.deleteBook(account_id, book_id); return "success"; } @@ -229,4 +233,9 @@ } } } + + ///--------------------------------------------------------------------- + ///private + ///--------------------------------------------------------------------- + } \ No newline at end of file