diff --git a/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java b/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java index 076a591..2b2dca2 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/ScheduleManager.java @@ -7,10 +7,11 @@ import org.springframework.stereotype.Repository; import java.util.HashMap; +import java.util.HashSet; import java.util.Set; @Repository -public class ScheduleManager { +public class ScheduleManager implements IBookListener{ private final BookManager bookManager; @@ -19,6 +20,7 @@ @Autowired public ScheduleManager(BookManager bookManager) { this.bookManager = bookManager; + this.bookManager.addListener(this); } //管理 @@ -127,4 +129,25 @@ } } } + + @Override + public void bookChanged(Account account, Book book) { + + } + + @Override + public void bookDeleted(Account accountin, Book book) { + String account = accountin.getId(); + for(int year : schedules.get(account).keySet()){ + for (int month : schedules.get(account).get(year).keySet()){ + for(int day : schedules.get(account).get(year).get(month).keySet()){ + for (int scheduleId : schedules.get(account).get(year).get(month).get(day).keySet()){ + if(schedules.get(account).get(year).get(month).get(day).get(scheduleId).getBookId().equals(book.getBookId())){ + schedules.get(account).get(year).get(month).get(day).get(scheduleId).setBookId(0); + } + } + } + } + } + } }