こんばんは、M1グランプリ結果発表最高に興奮しました。
今日の学習記録です。
先日ある程度機能の実装が完了したのでリファクタリングと修正を行いました。
・過去の日付の予約が可能
過去日付にも関わらず予約が可能となっていた為、現在の日付をLocalDateでaddObjectに渡しThymeleafでeachしているカレンダーの日付と比較し過去であった場合は、グレー表示にした。
[比較分]
th:unless="${#lists.contains(scheduleList, day) || nowdate >=day}
[変更前]
[変更後]
・DBの予約リスト論理削除
tableに列を追加しdateが過去の日付だった場合は、値を'Y'と入れることで論理削除とした。
また、エンティティクラスには@Where(clause = "before='N'")としJPAの検索条件から除外。
最初にDB上の過去日付を論理削除する処理を追加
@PostConstruct
public void init() {
Timestamp time = Timestamp.from(Instant.now());
List<ReservationEntity> entitie = reservationRepository.findByDateLessThanEqual(time);
entitie.stream().forEach(e -> {
e.setBefore("Y");
});
reservationRepository.saveAllAndFlush(entitie);
これだと、最初の起動時にしか消されないのかな。。。
また明日も継続してやっていきます。