diff --git a/team1/src/main/java/com/example/demo/controller/LendingController.java b/team1/src/main/java/com/example/demo/controller/LendingController.java index 8703362..bed45e4 100644 --- a/team1/src/main/java/com/example/demo/controller/LendingController.java +++ b/team1/src/main/java/com/example/demo/controller/LendingController.java @@ -1,94 +1,161 @@ -/*package com.example.demo.controller; +package com.example.demo.controller; -import java.util.logging.Level; -import java.util.logging.Logger; +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; -import jakarta.servlet.http.HttpSession; - -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.PostMapping; -import main.java.com.example.rhizome.aop.aspect.PermissionCheck; -import main.java.com.example.rhizome.aop.aspect.SessionCheck; -import main.java.com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword; +import com.example.demo.form.LendingForm; -/** - * 書籍貸出申請に関する処理を制御するコントローラ - */ -/*@Controller +@Controller public class LendingController { - // ログ出力用インスタンス - private final static Logger LOGGER = Logger.getLogger(LendingController.class.getName()); - // エラーメッセージ用の定数フィールド - private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; - HttpSession httpSession; + //(仮記入)まとめられたserviceクラスを入れる準備 + //private final LendingService lendingService; - //コンストラクタ注入(一番最初に動く処理) - @Autowired - public LendingController(HttpSession httpSession) { - this.httpSession = httpSession; - } - - //画面を開くための初期化(!formクラス名要確認!) -// @ModelAttribute -// public LendingForm lendingForm() { -// return new LendingForm(); -// } - -// @PermissionCheck -// @SessionCheck -// @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) -// public String confirmLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) { -// try { - - // HTML側の th:object="${lendingForm}" に渡すデータをセット -// model.addAllAttribute("lendingForm", lendingForm); - // 貸出申請確認画面のHTML名を返す -// return "applicationConform"; -// } catch (Exception e) { - //ログイン情報の破棄 -// httpSession.invalidate(); - -// e.printStackTrace(); - - // エラーログ出力 -// LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラー画面遷移 -// return TransitionTargetPageNameKeyword.ERROR_HTML; - -// } - -// } + //(仮記入)アノテーションを使用してコンストラクタにインスタンスを代入する + //@Autowired + //public LendingController(LendingService lendingService) { + //this.LendingService lendingService; + //} /** - * 書籍貸出申請 実行処理 - * - * @param lendingForm 確認画面の隠しフィールド(hidden)から引き継いだデータ - * @param model ビューにデータを渡すためのコンテナ - * @return 遷移先の画面 - */ - //@PermissionCheck - //@SessionCheck - //@RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) - //public String executeLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) { - //final String LENDING_COMPLETE = "書籍申請完了しました"; - //try + * 【画面1】書籍貸出申請入力画面を表示する + */ + @GetMapping("/requestLending") + public String showLendingForm(Model model) { + LendingForm form = new LendingForm(); - //{ + //以下ダミーデータを挿入中 + form.setId_book(1); + form.setNm_book("これからはじめるJava言語"); + model.addAttribute("lendingForm", form); + return "application"; - //} catch (Exception e) { - // ログイン情報の破棄 - //httpSession.invalidate(); - //e.printStackTrace(); + //(仮記入)書籍一覧画面(bookList.html)からの情報取得の処理 - // エラーログ出力 - //LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラー画面遷移 - //return TransitionTargetPageNameKeyword.ERROR_HTML; - //} - //} -//} + //@GetMapping("/requestLending") + // public String showLendingForm( + // 書籍一覧から送られてくる蔵書ID + // @RequestParam("idBook") int idBook, + // 書籍一覧から送られてくる書籍名 + //@RequestParam("nmBook") String nmBook, + // Model model) { + // + // LendingForm form = new LendingForm(); + // + //前の画面(bookList)から貰ったデータの移し替え + // form.setIdBook(idBook); + // form.setNmBook(nmBook); + // + //次の画面(application.html)へ渡す + // model.addAttribute("lendingForm", form); + // return "application"; + } + + /** + * 申請画面から確認画面へ進む + */ + //@PostMappingでデータを送信(POST) + @PostMapping("/confirmLending") + public String confirmLending(@ModelAttribute("lendingForm") LendingForm form, + //インタフェースBindingResultにて入力結果を表す + BindingResult result, + Model model) { + + //日付チェック + List errorList = validateParameter(form); + + // エラーが1つでもある場合入力画面に戻す + if (!errorList.isEmpty()) { + model.addAttribute("errors", errorList); + return "application"; // 入力画面に戻す + } + + return "applicationConfirm"; + } + + /** + * + * 確認画面の「申請情報入力に戻る」文字を押すとリンクさせた入力画面へ戻る処理 + */ + //@PostMappingで確認画面のデータ(hidden)を持ったまま送信(POST) + @PostMapping("/backToRequest") + public String backToRequest(@ModelAttribute("lendingForm") LendingForm form, Model model) { + // 確認画面に隠されていたデータを、もう一度トレイ(Model)に載せて引き継ぐ + model.addAttribute("lendingForm", form); + // 1番目の入力画面「application.html」を表示して戻す(日付が残る!) + return "application"; + } + + /** + * 確認画面の「申請」ボタンを押して完了画面へ遷移 + */ + //@PostMappingでデータを送信(POST) + @PostMapping("/executeLending") + public String executeLending(@ModelAttribute("lendingForm") LendingForm form) { + //redirect記載で完了画面のURLへ接続し直す + return "redirect:/lendingComplete"; + } + + //(仮記入)まとめられたserviceクラスの呼び出し + //lendingService.executeLending(form); + //redirectメソッドにて次画面である完了画面のURLへ接続し直す + //return "redirect:/lendingComplete"; + + /** + * 書籍貸出申請完了画面を表示する + */ + //@GetMappingでデータをもらう + @GetMapping("/lendingComplete") + public String showCompletePage() { + return "applicationComplete"; + } + + //isNullメソッドを作り、未入力になってないか入力チェックを行う + /** + * 日付用の null 判定メソッド + */ + private static boolean isNull(LocalDate date) { + return null == date; + } + + //画面でエラーが出た場合の表示 + //エラーが出た場合、リストに文言を追加する + public List validateParameter(LendingForm form) { + final String DATE_BORROW_NULL = "貸出日 が未入力です。"; + final String DATE_RETURN_NULL = "返却予定日 が未入力です。"; + final String DATE_ORDER_ERROR = "返却予定日 には、貸出日以降の日付を選択してください。"; + + List error = new ArrayList<>(); + + // 1.「貸出日」が未入力(null)かどうかをチェックする + if (form.getDate_borrow() == null) { + //errorリストの中にメッセージ"貸出日が未入力です"を入れる + error.add(DATE_BORROW_NULL); + } + + // 2.「返却予定日」が未入力(null)かどうかをチェック + if (form.getDate_scheduled_return() == null) { + //errorリストの中にメッセージ"返却予定日 が未入力です。"を入れる + error.add(DATE_RETURN_NULL); + } + + // 3「両方ともnullではない(入力されている)」ときのみ日付の前後を比較する + if (form.getDate_borrow() != null && form.getDate_scheduled_return() != null) { + // 返却予定日が貸出日より過去の場合のエラー + if (form.getDate_scheduled_return().isBefore(form.getDate_borrow())) { + //errorリストの中にメッセージ"返却予定日 には、貸出日以降の日付を選択してください。"を入れる + error.add(DATE_ORDER_ERROR); + } + } + + return error; + } +} diff --git a/team1/src/main/java/com/example/demo/controller/LoginController.java b/team1/src/main/java/com/example/demo/controller/LoginController.java index 23fc734..62b84b9 100644 --- a/team1/src/main/java/com/example/demo/controller/LoginController.java +++ b/team1/src/main/java/com/example/demo/controller/LoginController.java @@ -1,77 +1,77 @@ -package com.example.demo.controller; - -import java.util.logging.Logger; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; - -import com.example.demo.form.LoginInfoForm; -import com.example.demo.form.LoginUserForm; -import com.example.demo.form.MessageForm; -import com.example.demo.service.impl.Login; - -@Controller -public class LoginController { - - // // ログ出力用インスタンス - private static final Logger LOGGER = Logger.getLogger(LoginController.class.getName()); - - // ログイン処理を行う - private final Login login; - - // コンストラクタで部品を注入する(Autowired) - @Autowired - public LoginController(Login login) { - this.login = login; - } - - // 画面で使うフォームの初期化 - @ModelAttribute - public LoginUserForm loginUserForm() { - return new LoginUserForm(); - } - - // ログインボタンが押されたときの処理 - @PostMapping("/doLogin") - public String doLogin(LoginInfoForm loginInfoForm, HttpSession session, Model model) { - - try { - // 入力チェック(メールアドレスやパスワードの形が正しいか) - if (!LoginUserForm.checkParameter(loginInfoForm)) { - // エラーメッセージと、入力されたデータを画面に返す - model.addAttribute("messageError", new MessageForm("メールアドレス、パスワードの入力内容に誤りがあります")); - model.addAttribute("loginInfoForm", loginInfoForm); - return "login"; // login.html を表示 - } - - // 認証チェック(IDとパスワードが一致するか) - if (!login.canLogin(loginInfoForm)) { - // 間違っている場合のメッセージを画面に返す - model.addAttribute("messageError", new MessageForm("IDまたはパスワードが間違っています")); - model.addAttribute("loginInfoForm", loginInfoForm); - return "login"; // login.html を表示 - } - - // ログイン処理の実行 - LoginUser loginUser = login.doLogin(loginInfoForm); - - // セッション(サーバーの秘密のメモ帳)にユーザー情報を保存 - //「ログイン中」の状態 - session.setAttribute("loginUser", LoginUserForm.convertFrom(loginUser)); - - // 成功したらメニュー画面へ進む - return "menu"; // menu.html を表示 - - } catch (Exception e) { - // 予期せぬエラーが起きたら、セッションを消してエラー画面へ - session.invalidate(); - LOGGER.error("エラーが発生しました!", e); - return "error"; // error.html を表示 - } - } -} \ No newline at end of file +//package com.example.demo.controller; +// +//import java.util.logging.Logger; +// +//import jakarta.servlet.http.HttpSession; +// +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Controller; +//import org.springframework.ui.Model; +//import org.springframework.web.bind.annotation.ModelAttribute; +//import org.springframework.web.bind.annotation.PostMapping; +// +//import com.example.demo.form.LoginInfoForm; +//import com.example.demo.form.LoginUserForm; +//import com.example.demo.form.MessageForm; +//import com.example.demo.service.impl.Login; +// +//@Controller +//public class LoginController { +// +// // // ログ出力用インスタンス +// private static final Logger LOGGER = Logger.getLogger(LoginController.class.getName()); +// +// // ログイン処理を行う +// private final Login login; +// +// // コンストラクタで部品を注入する(Autowired) +// @Autowired +// public LoginController(Login login) { +// this.login = login; +// } +// +// // 画面で使うフォームの初期化 +// @ModelAttribute +// public LoginUserForm loginUserForm() { +// return new LoginUserForm(); +// } +// +// // ログインボタンが押されたときの処理 +// @PostMapping("/doLogin") +// public String doLogin(LoginInfoForm loginInfoForm, HttpSession session, Model model) { +// +// try { +// // 入力チェック(メールアドレスやパスワードの形が正しいか) +// if (!LoginUserForm.checkParameter(loginInfoForm)) { +// // エラーメッセージと、入力されたデータを画面に返す +// model.addAttribute("messageError", new MessageForm("メールアドレス、パスワードの入力内容に誤りがあります")); +// model.addAttribute("loginInfoForm", loginInfoForm); +// return "login"; // login.html を表示 +// } +// +// // 認証チェック(IDとパスワードが一致するか) +// if (!login.canLogin(loginInfoForm)) { +// // 間違っている場合のメッセージを画面に返す +// model.addAttribute("messageError", new MessageForm("IDまたはパスワードが間違っています")); +// model.addAttribute("loginInfoForm", loginInfoForm); +// return "login"; // login.html を表示 +// } +// +// // ログイン処理の実行 +// LoginUser loginUser = login.doLogin(loginInfoForm); +// +// // セッション(サーバーの秘密のメモ帳)にユーザー情報を保存 +// //「ログイン中」の状態 +// session.setAttribute("loginUser", LoginUserForm.convertFrom(loginUser)); +// +// // 成功したらメニュー画面へ進む +// return "menu"; // menu.html を表示 +// +// } catch (Exception e) { +// // 予期せぬエラーが起きたら、セッションを消してエラー画面へ +// session.invalidate(); +// LOGGER.error("エラーが発生しました!", e); +// return "error"; // error.html を表示 +// } +// } +//} \ No newline at end of file diff --git a/team1/src/main/java/com/example/demo/controller/LogoutController.java b/team1/src/main/java/com/example/demo/controller/LogoutController.java index 5484dc2..3143452 100644 --- a/team1/src/main/java/com/example/demo/controller/LogoutController.java +++ b/team1/src/main/java/com/example/demo/controller/LogoutController.java @@ -1,64 +1,46 @@ package com.example.demo.controller; -import static com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword.*; - -import java.util.logging.Level; -import java.util.logging.Logger; - -import jakarta.servlet.http.HttpSession; - -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; - -import com.example.rhizome.aop.aspect.PermissionCheck; -import com.example.rhizome.aop.aspect.SessionCheck; -import com.example.rhizome.app.presentation.controller.pageproperty.PageReturnAttributeKeyword; -import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword; -import com.example.rhizome.app.presentation.form.LoginUserForm; @Controller public class LogoutController { - // ログ出力用インスタンス - private final static Logger LOGGER = Logger.getLogger(LogoutController.class.getName()); - // エラーメッセージ用の定数フィールド - private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; - - HttpSession httpSession; - - @Autowired - public LogoutController(HttpSession httpSession) { - this.httpSession = httpSession; - } - - @ModelAttribute - public LoginUserForm loginUserForm() { - return new LoginUserForm(); - } - - @PermissionCheck - @SessionCheck - @RequestMapping(value = LOGOUT, method = RequestMethod.POST) - public String doLogout(Model model) { - try { - // セッション情報の破棄 - httpSession.invalidate(); - - // ログイン画面に遷移するための情報を設定 - model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginUserForm()); - // login.html に遷移 - return TransitionTargetPageNameKeyword.LOGIN_HTML; - - } catch (Exception e) { - - // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラーページに遷移 - return TransitionTargetPageNameKeyword.ERROR_HTML; - } - - } + // // ログ出力用インスタンス + // private final static Logger LOGGER = Logger.getLogger(LogoutController.class.getName()); + // // エラーメッセージ用の定数フィールド + // private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; + // + // HttpSession httpSession; + // + // @Autowired + // public LogoutController(HttpSession httpSession) { + // this.httpSession = httpSession; + // } + // + // @ModelAttribute + // public LoginUserForm loginUserForm() { + // return new LoginUserForm(); + // } + // + // @PermissionCheck + // @SessionCheck + // @RequestMapping(value = LOGOUT, method = RequestMethod.POST) + // public String doLogout(Model model) { + // try { + // // セッション情報の破棄 + // httpSession.invalidate(); + // + // // ログイン画面に遷移するための情報を設定 + // model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginUserForm()); + // // login.html に遷移 + // return TransitionTargetPageNameKeyword.LOGIN_HTML; + // + // } catch (Exception e) { + // + // // エラーログ出力 + // LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + // // エラーページに遷移 + // return TransitionTargetPageNameKeyword.ERROR_HTML; + // } + // + // } } diff --git a/team1/src/main/java/com/example/demo/form/LendingForm.java b/team1/src/main/java/com/example/demo/form/LendingForm.java index ecd438e..22657ac 100644 --- a/team1/src/main/java/com/example/demo/form/LendingForm.java +++ b/team1/src/main/java/com/example/demo/form/LendingForm.java @@ -1,8 +1,6 @@ package com.example.demo.form; import java.time.LocalDate; -import java.util.ArrayList; -import java.util.List; import org.springframework.format.annotation.DateTimeFormat; @@ -17,7 +15,7 @@ public class LendingForm { /** * 蔵書ID */ - private String id_book; + private int id_book; /** * 書籍名 */ @@ -38,46 +36,18 @@ public class LendingForm { @DateTimeFormat(pattern = "yyyy-MM-dd") private LocalDate date_scheduled_return; - //isNullメソッドを作り、未入力になってないか入力チェックを行う /** - * 日付用の null 判定メソッド + * 貸出日を取得するメソッド */ - private static boolean isNull(LocalDate date) { - return null == date; + public LocalDate getDate_borrow() { + return this.date_borrow; } - //画面でエラーが出た場合の表示 - //エラーが出た場合、リストに文言を追加する - public List validateParameter() { - final String DATE_BORROW_NULL = "貸出日 が未入力です。"; - final String DATE_RETURN_NULL = "返却予定日 が未入力です。"; - final String DATE_ORDER_ERROR = "返却予定日 には、貸出日以降の日付を選択してください。"; + /** + * 返却予定日を取得するメソッド + */ + public LocalDate getDate_scheduled_return() { + return this.date_scheduled_return; - List error = new ArrayList<>(); - - // 1.「貸出日」が未入力(null)かどうかをチェックする - if (date_borrow == null) { - //errorリストの中にメッセージ"貸出日が未入力です"を入れる - error.add(DATE_BORROW_NULL); - } - - // 2.「返却予定日」が未入力(null)かどうかをチェック - if (date_scheduled_return == null) { - //errorリストの中にメッセージ"返却予定日 が未入力です。"を入れる - error.add(DATE_RETURN_NULL); - } - - // - // 3「両方ともnullではない(入力されている)」ときのみ日付の前後を比較する - if (date_borrow != null && date_scheduled_return != null) { - - // 返却予定日が貸出日より過去の場合のエラー - if (date_scheduled_return.isBefore(date_borrow)) { - //errorリストの中にメッセージ"返却予定日 には、貸出日以降の日付を選択してください。"を入れる - error.add(DATE_ORDER_ERROR); - } - } - - return error; } -} \ No newline at end of file +} diff --git a/team1/src/main/java/com/example/demo/form/LoginUserForm.java b/team1/src/main/java/com/example/demo/form/LoginUserForm.java index 280677a..d916445 100644 --- a/team1/src/main/java/com/example/demo/form/LoginUserForm.java +++ b/team1/src/main/java/com/example/demo/form/LoginUserForm.java @@ -1,96 +1,96 @@ -package com.example.demo.form; - -import com.example.rhizome.app.domain.model.LoginUser; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -//ログインをする人 -@Data -@AllArgsConstructor -@NoArgsConstructor -public class LoginUserForm { - /** - * 社員ID - */ - private Integer idEmployee; - /** - * 社員名 - */ - private String nmEmployee; - /** - * 社員名よみ - */ - private String knEmployee; - /** - * メールアドレス - */ - private String mailAddress; - /** - * パスワード - */ - private String password; - - /** - * 管理者フラグ - */ - private Integer flgadmin; - - /** - * business 層の LoginUser クラスから画面用(presentation 層)の LoginUserForm に - * 変換します。 - * - * @param loginUser business 層の LoginUser インスタンス - * @return クラスから画面用(presentation 層)の LoginUserForm - */ - public static LoginUserForm convertFrom(LoginUser loginUser) { - return new LoginUserForm( - loginUser.getIdEmployee(), - loginUser.getNmEmployee(), - loginUser.getKnEmployee(), - loginUser.getMailAddress(), - loginUser.getPassword(), - loginUser.getGetFlgadmin() - ); - } - - - public static LoginUserForm convertTo(LoginUser loginUserForm) { - return new LoginUserForm( - loginUserForm.getIdEmployee(), - loginUserForm.getNmEmployee(), - loginUserForm.getKnEmployee(), - loginUserForm.getMailAddress(), - loginUserForm.getPassword(), - loginUserForm.getGetFlgadmin() - ); - } - - - public static boolean checkParameter(LoginInfoForm loginInfoForm) { - if (null == loginInfoForm.getMailAddress()) { - return false; - } - - if (loginInfoForm.getMailAddress().isBlank()) { - return false; - } - - if (null == loginInfoForm.getPassword()) { - return false; - } - - return !loginInfoForm.getPassword().isBlank(); - - } - - /** - * 管理者権限を持っているか確認 - * - * @return true:管理者権限を持っている , false:管理者権限を持っていない - */ - public boolean isAdminUser() { - return getFlgadmin() == 1; - } -} +//package com.example.demo.form; +// +//import com.example.rhizome.app.domain.model.LoginUser; +// +//import lombok.AllArgsConstructor; +//import lombok.Data; +//import lombok.NoArgsConstructor; +// +////ログインをする人 +//@Data +//@AllArgsConstructor +//@NoArgsConstructor +//public class LoginUserForm { +// /** +// * 社員ID +// */ +// private Integer idEmployee; +// /** +// * 社員名 +// */ +// private String nmEmployee; +// /** +// * 社員名よみ +// */ +// private String knEmployee; +// /** +// * メールアドレス +// */ +// private String mailAddress; +// /** +// * パスワード +// */ +// private String password; +// +// /** +// * 管理者フラグ +// */ +// private Integer flgadmin; +// +// /** +// * business 層の LoginUser クラスから画面用(presentation 層)の LoginUserForm に +// * 変換します。 +// * +// * @param loginUser business 層の LoginUser インスタンス +// * @return クラスから画面用(presentation 層)の LoginUserForm +// */ +// public static LoginUserForm convertFrom(LoginUser loginUser) { +// return new LoginUserForm( +// loginUser.getIdEmployee(), +// loginUser.getNmEmployee(), +// loginUser.getKnEmployee(), +// loginUser.getMailAddress(), +// loginUser.getPassword(), +// loginUser.getGetFlgadmin() +// ); +// } +// +// +// public static LoginUserForm convertTo(LoginUser loginUserForm) { +// return new LoginUserForm( +// loginUserForm.getIdEmployee(), +// loginUserForm.getNmEmployee(), +// loginUserForm.getKnEmployee(), +// loginUserForm.getMailAddress(), +// loginUserForm.getPassword(), +// loginUserForm.getGetFlgadmin() +// ); +// } +// +// +// public static boolean checkParameter(LoginInfoForm loginInfoForm) { +// if (null == loginInfoForm.getMailAddress()) { +// return false; +// } +// +// if (loginInfoForm.getMailAddress().isBlank()) { +// return false; +// } +// +// if (null == loginInfoForm.getPassword()) { +// return false; +// } +// +// return !loginInfoForm.getPassword().isBlank(); +// +// } +// +// /** +// * 管理者権限を持っているか確認 +// * +// * @return true:管理者権限を持っている , false:管理者権限を持っていない +// */ +// public boolean isAdminUser() { +// return getFlgadmin() == 1; +// } +//} diff --git a/team1/src/main/java/com/example/demo/service/LendingService.java b/team1/src/main/java/com/example/demo/service/LendingService.java new file mode 100644 index 0000000..0fee374 --- /dev/null +++ b/team1/src/main/java/com/example/demo/service/LendingService.java @@ -0,0 +1,15 @@ +package com.example.demo.service; + +import com.example.demo.form.LendingForm; + +/** + * 書籍貸出申請の業務処理を定義するインターフェース + */ +public interface LendingService { + + /** + * 貸出申請の登録処理と、蔵書のステータス更新を行う + * + */ + void executeLending(LendingForm form); +} diff --git a/team1/src/main/java/com/example/demo/service/impl/LendingServiceImpl.java b/team1/src/main/java/com/example/demo/service/impl/LendingServiceImpl.java new file mode 100644 index 0000000..e60c29e --- /dev/null +++ b/team1/src/main/java/com/example/demo/service/impl/LendingServiceImpl.java @@ -0,0 +1,44 @@ +package com.example.demo.service.Impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.demo.form.LendingForm; +import com.example.demo.repository.Book_CollectionRepository; +import com.example.demo.repository.Borrow_BooksRepository; +import com.example.demo.repository.EmployeeRepository; +import com.example.demo.service.LendingService; + +/** + * 書籍貸出申請の処理をまとめたサービスクラス + */ + +@Service +@Transactional +public class LendingServiceImpl implements LendingService { + //3つリポジトリクラス記載 + private final Book_CollectionRepository bookCollectionRepository; + private final Borrow_BooksRepository borrowBooksRepository; + private final EmployeeRepository employeeRepository; + + //@Autwiredでリポジトリを自動で接続 + @Autowired + public LendingServiceImpl(Book_CollectionRepository bookCollectionRepository, + Borrow_BooksRepository borrowBooksRepository, EmployeeRepository employeeRepository) { + this.bookCollectionRepository = bookCollectionRepository; + this.borrowBooksRepository = borrowBooksRepository; + this.employeeRepository = employeeRepository; + } + + /** + * 【本番処理】貸出申請データを組み立ててデータベースへ保存 + */ + + @Override + public void executeLending(LendingForm form) { + + //画面の蔵書IDをEntityに合わせるために変換 + //Integer bookId = Integer.parseUnsignedInt(form.getId_book()); + } +} diff --git a/team1/src/main/java/com/example/demo/service/impl/Login.java b/team1/src/main/java/com/example/demo/service/impl/Login.java index bd6c67b..71d2e52 100644 --- a/team1/src/main/java/com/example/demo/service/impl/Login.java +++ b/team1/src/main/java/com/example/demo/service/impl/Login.java @@ -1,11 +1,11 @@ -package com.example.demo.service.impl; - -import com.example.demo.form.LoginInfoForm; -import com.example.rhizome.app.domain.model.LoginUser; - -public interface Login { - LoginUser doLogin(LoginInfoForm loginInfo); - - boolean canLogin(LoginInfoForm loginInfo); - -} +//package com.example.demo.service.impl; +// +//import com.example.demo.form.LoginInfoForm; +//import com.example.rhizome.app.domain.model.LoginUser; +// +//public interface Login { +// LoginUser doLogin(LoginInfoForm loginInfo); +// +// boolean canLogin(LoginInfoForm loginInfo); +// +//} diff --git a/team1/src/main/resources/templates/application.html b/team1/src/main/resources/templates/application.html index f23d059..e532b51 100644 --- a/team1/src/main/resources/templates/application.html +++ b/team1/src/main/resources/templates/application.html @@ -10,10 +10,17 @@ +
- ログイン者名: + ログイン者名:テスト太郎(ダミー)
+ +
diff --git a/team1/src/main/resources/templates/applicationComplete.html b/team1/src/main/resources/templates/applicationComplete.html index 868a6fb..77e22d9 100644 --- a/team1/src/main/resources/templates/applicationComplete.html +++ b/team1/src/main/resources/templates/applicationComplete.html @@ -10,10 +10,18 @@ +
- ログイン者名: + ログイン者名:テスト太郎(ダミー)
+ + +

書籍貸出申請完了しました

diff --git a/team1/src/main/resources/templates/applicationConfirm.html b/team1/src/main/resources/templates/applicationConfirm.html index 2f90bf7..9ed74d3 100644 --- a/team1/src/main/resources/templates/applicationConfirm.html +++ b/team1/src/main/resources/templates/applicationConfirm.html @@ -1,6 +1,3 @@ - - - @@ -10,10 +7,17 @@ +
- ログイン者名: + ログイン者名:テスト太郎(ダミー)
+ + @@ -34,11 +38,15 @@ 貸出日 - + + 返却予定日 - + + @@ -49,9 +57,11 @@
-