From 89a7d7125902fa60c0684b820aa2a68c72f3b15d Mon Sep 17 00:00:00 2001 From: s-ohasi <26-o-m-stella-tecnica@it-college.jp> Date: Tue, 20 Oct 2026 16:02:55 +0900 Subject: [PATCH 01/10] no message --- .../demo/controller/LoginController.java | 176 +++++++++--------- .../java/com/example/demo/form/LoginInfo.java | 24 +++ .../com/example/demo/form/LoginUserForm.java | 2 + .../com/example/demo/form/MessageForm.java | 14 ++ 4 files changed, 126 insertions(+), 90 deletions(-) create mode 100644 team1/src/main/java/com/example/demo/form/LoginInfo.java create mode 100644 team1/src/main/java/com/example/demo/form/MessageForm.java 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 a541e29..e337659 100644 --- a/team1/src/main/java/com/example/demo/controller/LoginController.java +++ b/team1/src/main/java/com/example/demo/controller/LoginController.java @@ -1,7 +1,5 @@ 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; @@ -14,15 +12,10 @@ 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.app.domain.model.LoginInfo; -import com.example.rhizome.app.domain.model.LoginUser; -import com.example.rhizome.app.presentation.controller.pageproperty.PageReturnAttributeKeyword; -import com.example.rhizome.app.presentation.controller.pageproperty.SessionKeyword; -import com.example.rhizome.app.presentation.controller.pageproperty.TransitionTargetPageNameKeyword; -import com.example.rhizome.app.presentation.form.LoginInfoForm; -import com.example.rhizome.app.presentation.form.LoginUserForm; -import com.example.rhizome.app.presentation.form.MessageForm; -import com.example.rhizome.app.presentation.form.UpdatePersonalUserForm; +import com.example.demo.form.LoginInfo; +import com.example.demo.form.LoginInfo.LoginInfoForm; +import com.example.demo.form.LoginUserForm; +import com.example.demo.form.MessageForm; @Controller public class LoginController { @@ -48,93 +41,96 @@ public class LoginController { } /** - * 画面から渡ってきたパラメータのチェックを行う - * - * @param loginInfoForm mailAddress, password を保持したインスタンス - * @param model ビューにデータを渡すためのコンテナ - * @return 遷移先の画面 - */ - @RequestMapping(value = DO_LOGIN, method = RequestMethod.POST) - public String doLogin(LoginInfoForm loginInfoForm, Model model) { + * 画面から渡ってきたパラメータのチェックを行う + * + * @param loginInfoForm mailAddress, password を保持したインスタンス + * @param model ビューにデータを渡すためのコンテナ + * @return 遷移先の画面 + */ + @RequestMapping(value = DO_LOGIN, method = RequestMethod.POST) + public String doLogin(LoginInfoForm loginInfoForm, Model model) { - // ログに出力する - final String MAIL_ADDRESS_PASSWORD_ERROR = "メールアドレス、パスワードの入力内容に誤りがあります"; - // 発生しうるErrorに対するメッセージ - final String LOGIN_ERROR = "IDまたはパスワードが間違っています"; + // ログに出力する + final String MAIL_ADDRESS_PASSWORD_ERROR = "メールアドレス、パスワードの入力内容に誤りがあります"; + // 発生しうるErrorに対するメッセージ + final String LOGIN_ERROR = "IDまたはパスワードが間違っています"; - try { - // mailAddress, password の入力に誤りがあるかチェック - if (!LoginUserForm.checkParameter(loginInfoForm)) { + try { + // mailAddress, password の入力に誤りがあるかチェック + if (!LoginUserForm.checkParameter(loginInfoForm)) { - // mail,passwordが仕様を満たしていない場合 - model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(MAIL_ADDRESS_PASSWORD_ERROR)); + // mail,passwordが仕様を満たしていない場合 + model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, + new MessageForm(MAIL_ADDRESS_PASSWORD_ERROR)); - // エラーだった場合に login.html に処理を戻す。mailAddress, password を login.htmlに表示するために - // ここで addAttribute する - model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); - // login.html に遷移する様に設定 - return TransitionTargetPageNameKeyword.LOGIN_HTML; - } - // Login者情報インスタンスを作成 - LoginInfo loginInfo = createLoginInfo(httpSession, loginInfoForm); + // エラーだった場合に login.html に処理を戻す。mailAddress, password を login.htmlに表示するために + // ここで addAttribute する + model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); + // login.html に遷移する様に設定 + return TransitionTargetPageNameKeyword.LOGIN_HTML; + } + // Login者情報インスタンスを作成 + LoginInfo loginInfo = createLoginInfo(httpSession, loginInfoForm); - // login 可能かチェック - if (!login.canLogin(loginInfo)) { - // ログイン不可の場合、エラーメッセージをセットして入力された値とともに login.html を再表示 - // 画面に表示するエラーメッセージをセット - model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(LOGIN_ERROR)); - // 画面に表示する mailAddress, password をセット - model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); - // login.html に遷移 - return TransitionTargetPageNameKeyword.LOGIN_HTML; - } - // ログイン(インスタンス作成) - LoginUser loginUser = login.doLogin(loginInfo); + // login 可能かチェック + if (!login.canLogin(loginInfo)) { + // ログイン不可の場合、エラーメッセージをセットして入力された値とともに login.html を再表示 + // 画面に表示するエラーメッセージをセット + model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(LOGIN_ERROR)); + // 画面に表示する mailAddress, password をセット + model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); + // login.html に遷移 + return TransitionTargetPageNameKeyword.LOGIN_HTML; + } + // ログイン(インスタンス作成) + LoginUser loginUser = login.doLogin(loginInfo); - // ログイン者の情報をセッション情報に格納 - // セッションに loginUser 情報を保持し続ける = ログイン中として扱う - httpSession.setAttribute(SessionKeyword.LOGIN_USER, LoginUserForm.convertFrom(loginUser)); + // ログイン者の情報をセッション情報に格納 + // セッションに loginUser 情報を保持し続ける = ログイン中として扱う + httpSession.setAttribute(SessionKeyword.LOGIN_USER, LoginUserForm.convertFrom(loginUser)); - // 管理者かチェック - if (!loginUser.isAdminUser()) { - // 管理者ではない場合直で自分の情報を更新するページに遷移する - // 編集対象のログイン者の情報を画面に渡す値にセット - model.addAttribute(PageReturnAttributeKeyword.UPDATE_PERSONAL_EMPLOYEE_USER_FORM, UpdatePersonalUserForm.convertFrom(loginUser)); - // 個人の情報更新ページに遷移 - return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML; - } - // メニュー画面に遷移 - return TransitionTargetPageNameKeyword.MENU_HTML; + // 管理者かチェック + if (!loginUser.isAdminUser()) { + // 管理者ではない場合直で自分の情報を更新するページに遷移する + // 編集対象のログイン者の情報を画面に渡す値にセット + model.addAttribute(PageReturnAttributeKeyword.UPDATE_PERSONAL_EMPLOYEE_USER_FORM, + UpdatePersonalUserForm.convertFrom(loginUser)); + // 個人の情報更新ページに遷移 + return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML; + } + // メニュー画面に遷移 + return TransitionTargetPageNameKeyword.MENU_HTML; - } catch (Exception e) { - // ログイン情報の破棄 - httpSession.invalidate(); - e.printStackTrace(); - // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラー画面に遷移 - return TransitionTargetPageNameKeyword.ERROR_HTML; - } - /** - * ログイン者情報のインスタンスを作成 - * - * @param httpSession セッション情報 - * @param loginInfoForm mailAddress, password を保持したインスタンス - */ - private static LoginInfo createLoginInfo(HttpSession httpSession, LoginInfoForm loginInfoForm) { - // セッションからログイン者情報を取得 - LoginUserForm loginUserForm = (LoginUserForm) httpSession.getAttribute(SessionKeyword.LOGIN_USER); + } catch (Exception e) { + // ログイン情報の破棄 + httpSession.invalidate(); + e.printStackTrace(); + // エラーログ出力 + LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + // エラー画面に遷移 + return TransitionTargetPageNameKeyword.ERROR_HTML; + } + } - // セッションにログイン者情報があるか - if (loginUserForm != null) { - // セッションにログイン者情報がある場合 - return new LoginInfo(loginUserForm.getMailAddress(), loginUserForm.getPassword()); - } + /** + * ログイン者情報のインスタンスを作成 + * + * @param httpSession セッション情報 + * @param loginInfoForm mailAddress, password を保持したインスタンス + */ + private static LoginInfo createLoginInfo(HttpSession httpSession, LoginInfoForm loginInfoForm) { + // セッションからログイン者情報を取得 + LoginUserForm loginUserForm = (LoginUserForm) httpSession.getAttribute(SessionKeyword.LOGIN_USER); - // セッションにない場合は画面からの input 値 を取得 - return new LoginInfo( - loginInfoForm.getMailAddress(), - loginInfoForm.getPassword() - ); -} + // セッションにログイン者情報があるか + if (loginUserForm != null) { + // セッションにログイン者情報がある場合 + return new LoginInfo(loginUserForm.getMailAddress(), loginUserForm.getPassword()); + } + + // セッションにない場合は画面からの input 値 を取得 + return new LoginInfo( + loginInfoForm.getMailAddress(), + loginInfoForm.getPassword()); + } } diff --git a/team1/src/main/java/com/example/demo/form/LoginInfo.java b/team1/src/main/java/com/example/demo/form/LoginInfo.java new file mode 100644 index 0000000..2e6dc0d --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/LoginInfo.java @@ -0,0 +1,24 @@ +package com.example.demo.form; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +public class LoginInfo { + //ログインをする人 + @Data + @AllArgsConstructor + @NoArgsConstructor + public class LoginInfoForm { + /** + * メールアドレス + */ + private String mailAddress; + /** + * パスワード + */ + private String password; + + } + +} 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 22b59d1..1e90646 100644 --- a/team1/src/main/java/com/example/demo/form/LoginUserForm.java +++ b/team1/src/main/java/com/example/demo/form/LoginUserForm.java @@ -1,5 +1,7 @@ package com.example.demo.form; +import com.example.demo.form.LoginInfo.LoginInfoForm; + import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; diff --git a/team1/src/main/java/com/example/demo/form/MessageForm.java b/team1/src/main/java/com/example/demo/form/MessageForm.java new file mode 100644 index 0000000..d124177 --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/MessageForm.java @@ -0,0 +1,14 @@ +package com.example.demo.form; + +//画面にエラー表示する +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MessageForm { + private String message; +} + From b2dc911b679c6349a761f11fd2f871c380b6ed1c Mon Sep 17 00:00:00 2001 From: s-ohasi <26-o-m-stella-tecnica@it-college.jp> Date: Wed, 21 Oct 2026 09:14:46 +0900 Subject: [PATCH 02/10] login.html --- team1/src/main/resources/templates/login.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/team1/src/main/resources/templates/login.html b/team1/src/main/resources/templates/login.html index ee543e6..313e0be 100644 --- a/team1/src/main/resources/templates/login.html +++ b/team1/src/main/resources/templates/login.html @@ -35,7 +35,7 @@ - > + パスワード Date: Wed, 21 Oct 2026 09:50:19 +0900 Subject: [PATCH 03/10] =?UTF-8?q?Confirm=E7=B3=BBHTML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ApprovalConfirmController.java | 80 +++++++++---------- .../ApprovalConfirmResultController.java | 11 +++ .../resources/templates/approvalComplete.html | 45 ++++++++--- .../resources/templates/approvalConfirm.html | 21 +++-- .../resources/templates/approvalRejected.html | 45 ++++++++--- 5 files changed, 133 insertions(+), 69 deletions(-) create mode 100644 team1/src/main/java/com/example/demo/controller/ApprovalConfirmResultController.java diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java index 19609f5..99f280c 100644 --- a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java +++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmController.java @@ -1,19 +1,9 @@ package com.example.demo.controller; -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.demo.form.ApprovalForm; - /** * 書籍貸出承認確認用のコントローラ */ @@ -21,44 +11,46 @@ import com.example.demo.form.ApprovalForm; public class ApprovalConfirmController { // ログ出力用インスタンス - private final static Logger LOGGER = Logger.getLogger(ApprovalConfirmController.class.getName()); +// private final static Logger LOGGER = Logger.getLogger(ApprovalConfirmController.class.getName()); // エラーメッセージ用の定数フィールド - private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; +// private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; - HttpSession httpSession; - Request request; +// HttpSession httpSession; +// Request request; +// +// @Autowired +// public ApprovalConfirmController( +// HttpSession httpSession, +// Request request) { +// this.httpSession = httpSession; +// this.request = request; +// } +// +// @ModelAttribute +// public ApprovalForm approvalForm() { +// return new ApprovalForm(); +// } - @Autowired - public ApprovalConfirmController( - HttpSession httpSession, - Request request) { - this.httpSession = httpSession; - this.request = request; - } - - @ModelAttribute - public ApprovalForm approvalForm() { - return new ApprovalForm(); - } - - @RequestMapping(value = "/ApprovalConfirm", method = RequestMethod.POST) - public String AprrvalForm(ApprovalForm ApprovalForm, Model model) { + @RequestMapping(value = "/approvalConfirm", method = RequestMethod.POST) + public String AprrvalForm() { - try { - - - return a ; - } catch (Exception e) { - // ログイン情報の破棄 - httpSession.invalidate(); - - e.printStackTrace(); - - // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラー画面遷移 - return "error"; - } + System.out.println("a"); + return "bookList"; +// try { +// +// +// return ; +// } catch (Exception e) { +// // ログイン情報の破棄 +// httpSession.invalidate(); +// +// e.printStackTrace(); +// +// // エラーログ出力 +// LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); +// // エラー画面遷移 +// return "error"; +// } } } diff --git a/team1/src/main/java/com/example/demo/controller/ApprovalConfirmResultController.java b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmResultController.java new file mode 100644 index 0000000..01741be --- /dev/null +++ b/team1/src/main/java/com/example/demo/controller/ApprovalConfirmResultController.java @@ -0,0 +1,11 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; + +/** + * 書籍貸出完了・却下処理用のコントローラ + */ +@Controller +public class ApprovalConfirmResultController { + +} diff --git a/team1/src/main/resources/templates/approvalComplete.html b/team1/src/main/resources/templates/approvalComplete.html index a462f51..bc7189b 100644 --- a/team1/src/main/resources/templates/approvalComplete.html +++ b/team1/src/main/resources/templates/approvalComplete.html @@ -1,15 +1,40 @@ - - - - - - - - 書籍貸出承認確認 - - + + + + + + + + + 書籍貸出承認完了画面 + + + +

書籍貸出申請を承認しました。

+
+承認待ち一覧に戻る | メニューに戻る + \ No newline at end of file diff --git a/team1/src/main/resources/templates/approvalConfirm.html b/team1/src/main/resources/templates/approvalConfirm.html index 06c1604..966e313 100644 --- a/team1/src/main/resources/templates/approvalConfirm.html +++ b/team1/src/main/resources/templates/approvalConfirm.html @@ -18,10 +18,8 @@ -
+
@@ -135,7 +133,20 @@ - + + + + + + + + + + + +
+ 承認待ち一覧に戻る + \ No newline at end of file diff --git a/team1/src/main/resources/templates/approvalRejected.html b/team1/src/main/resources/templates/approvalRejected.html index a462f51..79a8dbf 100644 --- a/team1/src/main/resources/templates/approvalRejected.html +++ b/team1/src/main/resources/templates/approvalRejected.html @@ -1,15 +1,40 @@ - - - - - - - - 書籍貸出承認確認 - - + + + + + + + + + 書籍貸出却下画面 + + + +

書籍貸出申請を却下しました。

+
+承認待ち一覧に戻る | メニューに戻る + \ No newline at end of file From 02eb671aabd66aaef27431443935339194584ce8 Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Wed, 21 Oct 2026 10:36:30 +0900 Subject: [PATCH 04/10] =?UTF-8?q?Service=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReturnConfirmController.java | 20 +++++--- .../controller/returnCompleteController.java | 2 +- .../example/demo/service/RerurnService.java | 47 +++++++++++++++++++ 3 files changed, 62 insertions(+), 7 deletions(-) create mode 100644 team1/src/main/java/com/example/demo/service/RerurnService.java diff --git a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java index e38bde2..f2669a8 100644 --- a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java +++ b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java @@ -1,7 +1,6 @@ package com.example.demo.controller; -import java.util.Date; - +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; @@ -9,23 +8,32 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.example.demo.form.ReturnForm; +import com.example.demo.service.RerurnService; @Controller public class ReturnConfirmController { + + RerurnService rerurnService; + + @Autowired + ReturnConfirmController(RerurnService rerurnService) { + this.rerurnService = rerurnService; + } + @ModelAttribute ReturnForm returnForm() { - Date date = new Date(); - return new ReturnForm(1, "テスト名", date, date, date, "ISBN", "書籍名", "出版社", "特記事項"); + return new ReturnForm(); } @RequestMapping(value = "/returnConfirm", method = { RequestMethod.POST, RequestMethod.GET }) public String returnConfirm(Model model) { try { + //仮の値を入れる + Integer id = 1; //申請IDを元に取得 //returnFormに値をセット - //仮の値を入れる // 画面に返す為の情報をセット - model.addAttribute("returnForm", returnForm()); + model.addAttribute("returnForm", rerurnService.getReturnForm(id)); return "returnConfirm"; } catch (Exception e) { e.printStackTrace(); diff --git a/team1/src/main/java/com/example/demo/controller/returnCompleteController.java b/team1/src/main/java/com/example/demo/controller/returnCompleteController.java index b1f592d..3362541 100644 --- a/team1/src/main/java/com/example/demo/controller/returnCompleteController.java +++ b/team1/src/main/java/com/example/demo/controller/returnCompleteController.java @@ -9,7 +9,7 @@ import com.example.demo.form.ReturnForm; //返却完了用のコントローラー @Controller -public class returnCompleteController { +public class ReturnCompleteController { @ModelAttribute ReturnForm returnForm() { diff --git a/team1/src/main/java/com/example/demo/service/RerurnService.java b/team1/src/main/java/com/example/demo/service/RerurnService.java new file mode 100644 index 0000000..03d1678 --- /dev/null +++ b/team1/src/main/java/com/example/demo/service/RerurnService.java @@ -0,0 +1,47 @@ +package com.example.demo.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.example.demo.form.ReturnForm; +import com.example.demo.repository.Book_CollectionRepository; +import com.example.demo.repository.Borrow_BooksRepository; +import com.example.demo.repository.EmployeeRepository; + +@Service +public class RerurnService { + + Book_CollectionRepository book_CollectionRepository; + Borrow_BooksRepository borrowRepository; + EmployeeRepository employeeRepository; + + @Autowired + public RerurnService( + Book_CollectionRepository book_CollectionRepository, + Borrow_BooksRepository borrowRepository, + EmployeeRepository employeeRepository) { + this.book_CollectionRepository = book_CollectionRepository; + this.borrowRepository = borrowRepository; + this.employeeRepository = employeeRepository; + } + + public ReturnForm getReturnForm(int id) { + ReturnForm result = new ReturnForm(); + var borrow = borrowRepository.findById(id); + result.setDateRequest(borrow.get().getDateRequest());//申請日 + result.setDateBorrow(borrow.get().getDateBorrow());//貸出日 + result.setDateScheduledReturn(borrow.get().getDateScheduledReturn());//返却予定日 + + var emp = employeeRepository.findById(borrow.get().getIdApplicant()); + result.setNmEmployee(emp.get().getNmEmployee());//申請者名、社員名 + + var book = book_CollectionRepository.findById(borrow.get().getIdBook()); + result.setIsBn(book.get().getIsBn());//ISBN + result.setNmBook(book.get().getNmBook());//書籍名 + result.setPubLisher(book.get().getPubLisher());//出版社 + result.setNoteText(book.get().getNoteText()); + + return result; + } + +} From 1cf896b986939f496622c6d5e3fd735687b0e1cc Mon Sep 17 00:00:00 2001 From: m-endo <26-s-i-tm-nets@it-college.jp> Date: Wed, 21 Oct 2026 11:14:41 +0900 Subject: [PATCH 05/10] =?UTF-8?q?HTML=E4=B8=80=E9=83=A8=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E3=80=81LendingForm=E3=82=AF=E3=83=A9=E3=82=B9=E4=BD=9C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/LendingController.java | 22 +++-- .../com/example/demo/form/LendingForm.java | 83 +++++++++++++++++++ .../main/resources/templates/application.html | 13 ++- .../templates/applicationComplete.html | 13 +-- .../templates/applicationConfirm.html | 11 ++- 5 files changed, 123 insertions(+), 19 deletions(-) create mode 100644 team1/src/main/java/com/example/demo/form/LendingForm.java 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 2c44fd6..ab7ea82 100644 --- a/team1/src/main/java/com/example/demo/controller/LendingController.java +++ b/team1/src/main/java/com/example/demo/controller/LendingController.java @@ -63,6 +63,7 @@ public class LendingController { } } + /** * 書籍貸出申請 実行処理 * @@ -71,12 +72,23 @@ public class LendingController { * @return 遷移先の画面 */ @PermissionCheck - @SessionCheck - @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) + @SessionCheck + @RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) public String executeLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) { final String LENDING_COMPLETE = "書籍申請完了しました"; + try + + { + + } catch (Exception e) { + // ログイン情報の破棄 + httpSession.invalidate(); + e.printStackTrace(); + + // エラーログ出力 + LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + // エラー画面遷移 + return TransitionTargetPageNameKeyword.ERROR_HTML; + } } - try { - - }catch } diff --git a/team1/src/main/java/com/example/demo/form/LendingForm.java b/team1/src/main/java/com/example/demo/form/LendingForm.java new file mode 100644 index 0000000..ecd438e --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/LendingForm.java @@ -0,0 +1,83 @@ +package com.example.demo.form; + +import java.time.LocalDate; +import java.util.ArrayList; +import java.util.List; + +import org.springframework.format.annotation.DateTimeFormat; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class LendingForm { + /** + * 蔵書ID + */ + private String id_book; + /** + * 書籍名 + */ + private String nm_book; + + //貸出日と返却予定日にアノテーションで日付や時刻の表示形式を指定 + + /** + * 貸出日 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + //LocalDate型にて日付(年・月・日)を取り扱う + private LocalDate date_borrow; + + /** + * 返却予定日 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate date_scheduled_return; + + //isNullメソッドを作り、未入力になってないか入力チェックを行う + /** + * 日付用の null 判定メソッド + */ + private static boolean isNull(LocalDate date) { + return null == date; + } + + //画面でエラーが出た場合の表示 + //エラーが出た場合、リストに文言を追加する + public List validateParameter() { + final String DATE_BORROW_NULL = "貸出日 が未入力です。"; + final String DATE_RETURN_NULL = "返却予定日 が未入力です。"; + final String DATE_ORDER_ERROR = "返却予定日 には、貸出日以降の日付を選択してください。"; + + 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/resources/templates/application.html b/team1/src/main/resources/templates/application.html index bbdd703..f23d059 100644 --- a/team1/src/main/resources/templates/application.html +++ b/team1/src/main/resources/templates/application.html @@ -16,9 +16,9 @@
-
+ - + @@ -29,12 +29,17 @@ + + - + + - + + - + - +
蔵書ID
貸出日
返却予定日
diff --git a/team1/src/main/resources/templates/applicationComplete.html b/team1/src/main/resources/templates/applicationComplete.html index 3c829ff..868a6fb 100644 --- a/team1/src/main/resources/templates/applicationComplete.html +++ b/team1/src/main/resources/templates/applicationComplete.html @@ -16,14 +16,15 @@ -

書籍申請完了しました

+

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

- - 書籍一覧に戻る - - - メニューに戻る + \ No newline at end of file diff --git a/team1/src/main/resources/templates/applicationConfirm.html b/team1/src/main/resources/templates/applicationConfirm.html index 42196dd..2f90bf7 100644 --- a/team1/src/main/resources/templates/applicationConfirm.html +++ b/team1/src/main/resources/templates/applicationConfirm.html @@ -34,11 +34,11 @@
貸出日
返却予定日
@@ -48,8 +48,11 @@
- - 申請情報入力に戻る + + + \ No newline at end of file From 6b7c6d3abf535706c2ffe42bc692da90e2b49bd4 Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Wed, 21 Oct 2026 14:03:22 +0900 Subject: [PATCH 06/10] =?UTF-8?q?Entity=E3=81=AE=E5=9E=8B=E3=80=81?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=9D=E3=83=BC=E3=83=88=E3=81=AE=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/entity/Book_collectionEntity.java | 160 +++++++++--------- .../demo/entity/Borrow_booksEntity.java | 6 +- .../example/demo/entity/EmployeeEntity.java | 4 +- 3 files changed, 84 insertions(+), 86 deletions(-) diff --git a/team1/src/main/java/com/example/demo/entity/Book_collectionEntity.java b/team1/src/main/java/com/example/demo/entity/Book_collectionEntity.java index 8bda2d8..c3b28f4 100644 --- a/team1/src/main/java/com/example/demo/entity/Book_collectionEntity.java +++ b/team1/src/main/java/com/example/demo/entity/Book_collectionEntity.java @@ -1,6 +1,6 @@ package com.example.demo.entity; - -import java.sql.Timestamp; + +import java.util.Date; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -14,7 +14,7 @@ import org.springframework.data.annotation.LastModifiedDate; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; - + //テーブル名 @Table(name = "book_collection") @Entity @@ -22,102 +22,100 @@ import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor public class Book_collectionEntity { - - + //蔵書ID @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id_book", nullable = false) private Integer idBook; - + //ISBN @Column(name = "isbn", nullable = false, length = 13) private String isBn; - + //書籍名 @Column(name = "nm_book", nullable = false, length = 50) - private String nmBook; - + private String nmBook; + //書籍名よみ @Column(name = "kn_book", nullable = true, length = 100) - private String knBook; - + private String knBook; + //出版社 @Column(name = "publisher", nullable = true, length = 50) - private String pubLisher; - + private String pubLisher; + //特記事項 - @Column(name = "note text", nullable = true) - private String noteText; - + @Column(name = "note", nullable = true) + private String noteText; + //貸出フラグ -> charに変更する @Column(name = "flg_lending", nullable = false, columnDefinition = "default 0") - private Character flgLending; - + private Character flgLending; + //更新者 @Column(name = "id_update", nullable = false) - private Integer idUpdate; - + private Integer idUpdate; + //更新日 - @Column(name = "date_update", nullable = false) - @LastModifiedDate - private Timestamp dateUpdate; - -// public static Book_collection convertFrom(Book_collection book_collection) { -// // 値を既に持ったインスタンスの生成に、コンストラクタを使用するとこうなります。 -// return new Book_collection Entity( -// book_colletion.getIdBook(), -// book_colletion.getisBn(), -// book_colletion.getnmBook(), -// book_colletion..getknBook(), -// book_colletion.getpublisher(), -// book_colletion.getnoteText(), -// book_colletion.getflgLending(), -// book_colletion.getidUpdate(), -// book_colletion.getdateUupdate() -// ); -// -//} -//public static EmployeeEntity convertFrom(SearchConditionEmployee searchConditionEmployee) { -// EmployeeEntity employeeEntity = new EmployeeEntity(); -// -// employeeEntity.setIdBook(searchConditionEmployee.getIdBook()); -// employeeEntity.setisBn(searchConditionEmployee.getisBn()); -// employeeEntity.setnmBook(searchConditionEmployee.getnmBook()); - -// employeeEntity.setknBook(searchConditionEmployee.knBook()); -// employeeEntity.setpublisher(searchConditionEmployee.getpublisher()); -// employeeEntity.setnoteText(searchConditionEmployee.getnoteText()); -// employeeEntity.setflgLending(searchConditionEmployee.getflgLending()); -// employeeEntity.setidUpdate(searchConditionEmployee.getidUpdate()); -// employeeEntity.setdateUpdate(searchConditionEmployee.getdateUupdate()); - - -// -//// public static List createbook_collectionList(List employeeEntityList) { -//// return employeeEntityList.stream().map(EmployeeEntity::createbook_collection).toList(); -//// } -// -// List book_collectionList = new ArrayList<>(); -// for(book_collectionEntity book_collectionEntity:employeeEntityList){ -// book_collection employee = book_collectionEntity.createbook_collection(book_collectionEntity); -// book_collectionList.add(employee); -// } -// return employeeList; -// -// -// public LoginUser createLoginUser() { -// // 値を既に持ったインスタンスの生成に、コンストラクタを使用するとこうなります。 -// return new LoginUser( -// getidBook(), -// getisBn(), -// getnmBook(), -// getknBook(), -// getpublisher(), -// getnoteText(), -// getflgLending(), -// getidUpdate(), -// getdateUpdate() -// ); -// } + @Column(name = "date_update", nullable = false) + @LastModifiedDate + private Date dateUpdate; + + // public static Book_collection convertFrom(Book_collection book_collection) { + // // 値を既に持ったインスタンスの生成に、コンストラクタを使用するとこうなります。 + // return new Book_collection Entity( + // book_colletion.getIdBook(), + // book_colletion.getisBn(), + // book_colletion.getnmBook(), + // book_colletion..getknBook(), + // book_colletion.getpublisher(), + // book_colletion.getnoteText(), + // book_colletion.getflgLending(), + // book_colletion.getidUpdate(), + // book_colletion.getdateUupdate() + // ); + // + //} + //public static EmployeeEntity convertFrom(SearchConditionEmployee searchConditionEmployee) { + // EmployeeEntity employeeEntity = new EmployeeEntity(); + // + // employeeEntity.setIdBook(searchConditionEmployee.getIdBook()); + // employeeEntity.setisBn(searchConditionEmployee.getisBn()); + // employeeEntity.setnmBook(searchConditionEmployee.getnmBook()); + + // employeeEntity.setknBook(searchConditionEmployee.knBook()); + // employeeEntity.setpublisher(searchConditionEmployee.getpublisher()); + // employeeEntity.setnoteText(searchConditionEmployee.getnoteText()); + // employeeEntity.setflgLending(searchConditionEmployee.getflgLending()); + // employeeEntity.setidUpdate(searchConditionEmployee.getidUpdate()); + // employeeEntity.setdateUpdate(searchConditionEmployee.getdateUupdate()); + + // + //// public static List createbook_collectionList(List employeeEntityList) { + //// return employeeEntityList.stream().map(EmployeeEntity::createbook_collection).toList(); + //// } + // + // List book_collectionList = new ArrayList<>(); + // for(book_collectionEntity book_collectionEntity:employeeEntityList){ + // book_collection employee = book_collectionEntity.createbook_collection(book_collectionEntity); + // book_collectionList.add(employee); + // } + // return employeeList; + // + // + // public LoginUser createLoginUser() { + // // 値を既に持ったインスタンスの生成に、コンストラクタを使用するとこうなります。 + // return new LoginUser( + // getidBook(), + // getisBn(), + // getnmBook(), + // getknBook(), + // getpublisher(), + // getnoteText(), + // getflgLending(), + // getidUpdate(), + // getdateUpdate() + // ); + // } } diff --git a/team1/src/main/java/com/example/demo/entity/Borrow_booksEntity.java b/team1/src/main/java/com/example/demo/entity/Borrow_booksEntity.java index 84cbce4..da9059d 100644 --- a/team1/src/main/java/com/example/demo/entity/Borrow_booksEntity.java +++ b/team1/src/main/java/com/example/demo/entity/Borrow_booksEntity.java @@ -1,6 +1,5 @@ package com.example.demo.entity; -import java.security.Timestamp; import java.util.Date; import jakarta.persistence.Column; @@ -8,8 +7,9 @@ import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; +import jakarta.persistence.Table; -import org.hibernate.annotations.Audited.Table; +//import org.hibernate.annotations.Audited.Table; import org.springframework.data.annotation.LastModifiedDate; import lombok.AllArgsConstructor; @@ -97,5 +97,5 @@ public class Borrow_booksEntity { * */ @Column(name = "date_update", nullable = false) @LastModifiedDate - private Timestamp dateUpdate; + private Date dateUpdate; } diff --git a/team1/src/main/java/com/example/demo/entity/EmployeeEntity.java b/team1/src/main/java/com/example/demo/entity/EmployeeEntity.java index c3589d3..98224e5 100644 --- a/team1/src/main/java/com/example/demo/entity/EmployeeEntity.java +++ b/team1/src/main/java/com/example/demo/entity/EmployeeEntity.java @@ -1,6 +1,6 @@ package com.example.demo.entity; -import java.security.Timestamp; +import java.util.Date; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -81,7 +81,7 @@ public class EmployeeEntity { */ @Column(name = "date_update", nullable = false) @LastModifiedDate - private Timestamp dateUpdate; + private Date dateUpdate; } // public static EmployeeEntity convertForm(Employee employee) { From 53fd6ae2dbeb50ee400fec193ae3cb818bceb767 Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Wed, 21 Oct 2026 14:10:37 +0900 Subject: [PATCH 07/10] =?UTF-8?q?service=E3=81=AE=E4=BD=9C=E6=88=90?= =?UTF-8?q?=E5=8F=8A=E3=81=B3=E4=BB=95=E6=A7=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/controller/ReturnConfirmController.java | 5 ++++- .../main/java/com/example/demo/service/RerurnService.java | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java index f2669a8..eef5e7e 100644 --- a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java +++ b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java @@ -31,9 +31,12 @@ public class ReturnConfirmController { //仮の値を入れる Integer id = 1; //申請IDを元に取得 + ReturnForm resultForm = rerurnService.getReturnForm(id); + resultForm.setIdRequest(id); + //returnFormに値をセット // 画面に返す為の情報をセット - model.addAttribute("returnForm", rerurnService.getReturnForm(id)); + model.addAttribute("returnForm", resultForm); return "returnConfirm"; } catch (Exception e) { e.printStackTrace(); diff --git a/team1/src/main/java/com/example/demo/service/RerurnService.java b/team1/src/main/java/com/example/demo/service/RerurnService.java index 03d1678..a39f7e3 100644 --- a/team1/src/main/java/com/example/demo/service/RerurnService.java +++ b/team1/src/main/java/com/example/demo/service/RerurnService.java @@ -1,8 +1,11 @@ package com.example.demo.service; +import java.util.Optional; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.example.demo.entity.Borrow_booksEntity; import com.example.demo.form.ReturnForm; import com.example.demo.repository.Book_CollectionRepository; import com.example.demo.repository.Borrow_BooksRepository; @@ -27,7 +30,8 @@ public class RerurnService { public ReturnForm getReturnForm(int id) { ReturnForm result = new ReturnForm(); - var borrow = borrowRepository.findById(id); + Optional borrow = borrowRepository.findById(id); + // System.out.println(borrow); result.setDateRequest(borrow.get().getDateRequest());//申請日 result.setDateBorrow(borrow.get().getDateBorrow());//貸出日 result.setDateScheduledReturn(borrow.get().getDateScheduledReturn());//返却予定日 From 3576a7613759dfb052516b073c567c2c3359f8d4 Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Wed, 21 Oct 2026 15:36:24 +0900 Subject: [PATCH 08/10] =?UTF-8?q?=E8=BF=94=E5=8D=B4=E3=81=AE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=83=A8=E5=88=86=E3=82=92service=E3=81=AB=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ler.java => ReturnCompleteController.java} | 26 ++++++++++++++----- .../controller/ReturnConfirmController.java | 6 ++--- ...{RerurnService.java => ReturnService.java} | 18 +++++++++++-- 3 files changed, 38 insertions(+), 12 deletions(-) rename team1/src/main/java/com/example/demo/controller/{returnCompleteController.java => ReturnCompleteController.java} (57%) rename team1/src/main/java/com/example/demo/service/{RerurnService.java => ReturnService.java} (69%) diff --git a/team1/src/main/java/com/example/demo/controller/returnCompleteController.java b/team1/src/main/java/com/example/demo/controller/ReturnCompleteController.java similarity index 57% rename from team1/src/main/java/com/example/demo/controller/returnCompleteController.java rename to team1/src/main/java/com/example/demo/controller/ReturnCompleteController.java index 3362541..38ab939 100644 --- a/team1/src/main/java/com/example/demo/controller/returnCompleteController.java +++ b/team1/src/main/java/com/example/demo/controller/ReturnCompleteController.java @@ -1,16 +1,29 @@ package com.example.demo.controller; +import jakarta.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.example.demo.form.ReturnForm; +import com.example.demo.service.ReturnService; //返却完了用のコントローラー @Controller public class ReturnCompleteController { + HttpSession httpSession; + ReturnService rerurnService; + + @Autowired + public ReturnCompleteController(HttpSession httpSession, ReturnService rerurnService) { + this.httpSession = httpSession; + this.rerurnService = rerurnService; + } + @ModelAttribute ReturnForm returnForm() { return new ReturnForm(); @@ -21,14 +34,13 @@ public class ReturnCompleteController { public String returnComplete(ReturnForm returnForm) { try { - System.out.println(returnForm.getNmBook()); + //セッションからIDを拾いたい + httpSession.getAttribute(""); + //いったん1ということで + int id = 1; + + rerurnService.setReturn(returnForm.getIdRequest(), id); - //各種 必要な値をDBから取得,セッションからログイン者の情報 - //蔵書テーブルの貸出フラグを貸出可、 - //貸出テーブルのステータスを返却済、 - //返却日を当日日付、 - //更新者を更新した人のID、 - //更新日を当日日付に更新する。 return "returnComplete"; } catch (Exception e) { diff --git a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java index eef5e7e..5bc1b5b 100644 --- a/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java +++ b/team1/src/main/java/com/example/demo/controller/ReturnConfirmController.java @@ -8,15 +8,15 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.example.demo.form.ReturnForm; -import com.example.demo.service.RerurnService; +import com.example.demo.service.ReturnService; @Controller public class ReturnConfirmController { - RerurnService rerurnService; + ReturnService rerurnService; @Autowired - ReturnConfirmController(RerurnService rerurnService) { + ReturnConfirmController(ReturnService rerurnService) { this.rerurnService = rerurnService; } diff --git a/team1/src/main/java/com/example/demo/service/RerurnService.java b/team1/src/main/java/com/example/demo/service/ReturnService.java similarity index 69% rename from team1/src/main/java/com/example/demo/service/RerurnService.java rename to team1/src/main/java/com/example/demo/service/ReturnService.java index a39f7e3..dd7e6b9 100644 --- a/team1/src/main/java/com/example/demo/service/RerurnService.java +++ b/team1/src/main/java/com/example/demo/service/ReturnService.java @@ -1,5 +1,6 @@ package com.example.demo.service; +import java.util.Date; import java.util.Optional; import org.springframework.beans.factory.annotation.Autowired; @@ -12,14 +13,14 @@ import com.example.demo.repository.Borrow_BooksRepository; import com.example.demo.repository.EmployeeRepository; @Service -public class RerurnService { +public class ReturnService { Book_CollectionRepository book_CollectionRepository; Borrow_BooksRepository borrowRepository; EmployeeRepository employeeRepository; @Autowired - public RerurnService( + public ReturnService( Book_CollectionRepository book_CollectionRepository, Borrow_BooksRepository borrowRepository, EmployeeRepository employeeRepository) { @@ -48,4 +49,17 @@ public class RerurnService { return result; } + public void setReturn(int id_request, int id_employee) { + var borrow = borrowRepository.findById(id_request); + var book = book_CollectionRepository.findById(borrow.get().getIdBook()); + book.get().setFlgLending('0');//「貸出フラグ」を【貸出可】 + borrow.get().setStatus('0');//貸出テーブルの「ステータス」を【返却済 + borrow.get().setDateReturn(new Date());//「返却日」を当日日付 + borrow.get().setIdUpdate(id_employee);//「更新者」を更新した人のID + borrow.get().setDateUpdate(new Date());//「更新日」を当日日付に更新する。 + + borrowRepository.save(borrow.get()); + book_CollectionRepository.save(book.get()); + } + } From a80e99da7f45261b8f66fbf2d34c6a9e10623750 Mon Sep 17 00:00:00 2001 From: s-sakiyama <26-m-s-stella-tecnica@it-college.jp> Date: Thu, 22 Oct 2026 11:17:28 +0900 Subject: [PATCH 09/10] =?UTF-8?q?service=E3=82=AF=E3=83=A9=E3=82=B9?= =?UTF-8?q?=E3=81=AB=E8=B2=B8=E3=81=97=E5=87=BA=E3=81=97=E3=81=AE=E6=89=BF?= =?UTF-8?q?=E8=AA=8D=E5=8D=B4=E4=B8=8B=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/demo/service/ReturnService.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/team1/src/main/java/com/example/demo/service/ReturnService.java b/team1/src/main/java/com/example/demo/service/ReturnService.java index dd7e6b9..3b6d189 100644 --- a/team1/src/main/java/com/example/demo/service/ReturnService.java +++ b/team1/src/main/java/com/example/demo/service/ReturnService.java @@ -62,4 +62,36 @@ public class ReturnService { book_CollectionRepository.save(book.get()); } + //貸出承認 + public void setReturnComplete(int id_request, int id_employee) { + var borrow = borrowRepository.findById(id_request); + var book = book_CollectionRepository.findById(borrow.get().getIdBook()); + + borrow.get().setStatus('2');//貸出テーブルの「ステータス」を【貸出中】 + borrow.get().setDateApproval(new Date());//「承認日」を当日日付 + borrow.get().setIdUpdate(id_employee);//「更新者」を更新した人のID + borrow.get().setDateUpdate(new Date());//「更新日」を当日日付に更新する。 + + borrowRepository.save(borrow.get()); + book_CollectionRepository.save(book.get()); + + } + + //却下 + //貸出テーブルの「ステータス」を【却下】、「更新者」を却下した人のID、「更新日」を当日日付に更新する。 + //また、蔵書テーブルの「貸出フラグ」を【貸出可】に更新する。 + public void setReturnRejected(int id_request, int id_employee) { + + var borrow = borrowRepository.findById(id_request); + var book = book_CollectionRepository.findById(borrow.get().getIdBook()); + + book.get().setFlgLending('0');//「貸出フラグ」を【貸出可】 + borrow.get().setStatus('9');//貸出テーブルの「ステータス」を【却下】 + borrow.get().setIdUpdate(id_employee);//「更新者」を却下した人のID + borrow.get().setDateUpdate(new Date());//「更新日」を当日日付に更新する。 + + borrowRepository.save(borrow.get()); + book_CollectionRepository.save(book.get()); + } + } From 09f451e7f61c5d326ca6fc0a860814ecbb120de0 Mon Sep 17 00:00:00 2001 From: s-ohasi <26-o-m-stella-tecnica@it-college.jp> Date: Thu, 22 Oct 2026 12:39:38 +0900 Subject: [PATCH 10/10] no message --- team1/pom.xml | 11 +- .../demo/controller/LendingController.java | 72 +++++----- .../demo/controller/LoginController.java | 133 +++++------------- .../demo/controller/LogoutController.java | 64 +++++++++ .../demo/controller/SelectBookController.java | 3 +- .../java/com/example/demo/form/LoginInfo.java | 24 ---- .../com/example/demo/form/LoginInfoForm.java | 22 +++ .../com/example/demo/form/LoginUserForm.java | 27 ++-- .../com/example/demo/model/LoginInfo.java | 13 ++ .../demo/repository/EmployeeRepository.java | 4 +- .../ApprovalBorrowBooksImpl.java | 13 +- .../com/example/demo/service/impl/Login.java | 11 ++ team1/src/main/resources/templates/login.html | 4 +- 13 files changed, 205 insertions(+), 196 deletions(-) create mode 100644 team1/src/main/java/com/example/demo/controller/LogoutController.java delete mode 100644 team1/src/main/java/com/example/demo/form/LoginInfo.java create mode 100644 team1/src/main/java/com/example/demo/form/LoginInfoForm.java create mode 100644 team1/src/main/java/com/example/demo/model/LoginInfo.java rename team1/src/main/java/com/example/demo/service/{Impl => impl}/ApprovalBorrowBooksImpl.java (81%) create mode 100644 team1/src/main/java/com/example/demo/service/impl/Login.java diff --git a/team1/pom.xml b/team1/pom.xml index 8b03b4f..d38cddb 100644 --- a/team1/pom.xml +++ b/team1/pom.xml @@ -74,16 +74,7 @@ spring-boot-starter-webmvc-test test - - com.example - HelloSpring - 0.0.1-SNAPSHOT - - - com.example.rhizome - EM-Spring - 0.0.1-SNAPSHOT - + 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 ab7ea82..8703362 100644 --- a/team1/src/main/java/com/example/demo/controller/LendingController.java +++ b/team1/src/main/java/com/example/demo/controller/LendingController.java @@ -1,4 +1,4 @@ -package com.example.demo.controller; +/*package com.example.demo.controller; import java.util.logging.Level; import java.util.logging.Logger; @@ -18,7 +18,7 @@ import main.java.com.example.rhizome.app.presentation.controller.pageproperty.Tr /** * 書籍貸出申請に関する処理を制御するコントローラ */ -@Controller +/*@Controller public class LendingController { // ログ出力用インスタンス private final static Logger LOGGER = Logger.getLogger(LendingController.class.getName()); @@ -34,35 +34,35 @@ public class LendingController { } //画面を開くための初期化(!formクラス名要確認!) - @ModelAttribute - public LendingForm lendingForm() { - return new LendingForm(); - } +// @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 { +// @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); +// model.addAllAttribute("lendingForm", lendingForm); // 貸出申請確認画面のHTML名を返す - return "applicationConform"; - } catch (Exception e) { +// return "applicationConform"; +// } catch (Exception e) { //ログイン情報の破棄 - httpSession.invalidate(); +// httpSession.invalidate(); - e.printStackTrace(); +// e.printStackTrace(); // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); +// LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); // エラー画面遷移 - return TransitionTargetPageNameKeyword.ERROR_HTML; +// return TransitionTargetPageNameKeyword.ERROR_HTML; - } - - } +// } + +// } /** * 書籍貸出申請 実行処理 @@ -71,24 +71,24 @@ public class LendingController { * @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 + //@PermissionCheck + //@SessionCheck + //@RequestMapping(value = "反応するURLを記載", method = RequestMethod.POST) + //public String executeLending(@ModelAttribute("lendingForm") LendingForm lendingForm, Model model) { + //final String LENDING_COMPLETE = "書籍申請完了しました"; + //try - { + //{ - } catch (Exception e) { + //} catch (Exception e) { // ログイン情報の破棄 - httpSession.invalidate(); - e.printStackTrace(); + //httpSession.invalidate(); + //e.printStackTrace(); // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); + //LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); // エラー画面遷移 - return TransitionTargetPageNameKeyword.ERROR_HTML; - } - } -} + //return TransitionTargetPageNameKeyword.ERROR_HTML; + //} + //} +//} 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 e337659..23fc734 100644 --- a/team1/src/main/java/com/example/demo/controller/LoginController.java +++ b/team1/src/main/java/com/example/demo/controller/LoginController.java @@ -1,6 +1,5 @@ package com.example.demo.controller; -import java.util.logging.Level; import java.util.logging.Logger; import jakarta.servlet.http.HttpSession; @@ -9,128 +8,70 @@ 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 org.springframework.web.bind.annotation.PostMapping; -import com.example.demo.form.LoginInfo; -import com.example.demo.form.LoginInfo.LoginInfoForm; +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 final static Logger LOGGER = Logger.getLogger(LoginController.class.getName()); + // // ログ出力用インスタンス + private static final Logger LOGGER = Logger.getLogger(LoginController.class.getName()); - // - private final static String SEVERE_ERROR_MESSAGE = "エラーが発生しました!"; - - HttpSession httpSession; - Login login; + // ログイン処理を行う + private final Login login; + // コンストラクタで部品を注入する(Autowired) @Autowired - public LoginController(HttpSession httpSession, Login login) { - this.httpSession = httpSession; + public LoginController(Login login) { this.login = login; } + // 画面で使うフォームの初期化 @ModelAttribute public LoginUserForm loginUserForm() { return new LoginUserForm(); } - /** - * 画面から渡ってきたパラメータのチェックを行う - * - * @param loginInfoForm mailAddress, password を保持したインスタンス - * @param model ビューにデータを渡すためのコンテナ - * @return 遷移先の画面 - */ - @RequestMapping(value = DO_LOGIN, method = RequestMethod.POST) - public String doLogin(LoginInfoForm loginInfoForm, Model model) { - - // ログに出力する - final String MAIL_ADDRESS_PASSWORD_ERROR = "メールアドレス、パスワードの入力内容に誤りがあります"; - // 発生しうるErrorに対するメッセージ - final String LOGIN_ERROR = "IDまたはパスワードが間違っています"; + // ログインボタンが押されたときの処理 + @PostMapping("/doLogin") + public String doLogin(LoginInfoForm loginInfoForm, HttpSession session, Model model) { try { - // mailAddress, password の入力に誤りがあるかチェック + // 入力チェック(メールアドレスやパスワードの形が正しいか) if (!LoginUserForm.checkParameter(loginInfoForm)) { - - // mail,passwordが仕様を満たしていない場合 - model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, - new MessageForm(MAIL_ADDRESS_PASSWORD_ERROR)); - - // エラーだった場合に login.html に処理を戻す。mailAddress, password を login.htmlに表示するために - // ここで addAttribute する - model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); - // login.html に遷移する様に設定 - return TransitionTargetPageNameKeyword.LOGIN_HTML; + // エラーメッセージと、入力されたデータを画面に返す + model.addAttribute("messageError", new MessageForm("メールアドレス、パスワードの入力内容に誤りがあります")); + model.addAttribute("loginInfoForm", loginInfoForm); + return "login"; // login.html を表示 } - // Login者情報インスタンスを作成 - LoginInfo loginInfo = createLoginInfo(httpSession, loginInfoForm); - // login 可能かチェック - if (!login.canLogin(loginInfo)) { - // ログイン不可の場合、エラーメッセージをセットして入力された値とともに login.html を再表示 - // 画面に表示するエラーメッセージをセット - model.addAttribute(PageReturnAttributeKeyword.MESSAGE_ERROR, new MessageForm(LOGIN_ERROR)); - // 画面に表示する mailAddress, password をセット - model.addAttribute(PageReturnAttributeKeyword.LOGIN_INFO_FORM, loginInfoForm); - // login.html に遷移 - return TransitionTargetPageNameKeyword.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(loginInfo); - // ログイン者の情報をセッション情報に格納 - // セッションに loginUser 情報を保持し続ける = ログイン中として扱う - httpSession.setAttribute(SessionKeyword.LOGIN_USER, LoginUserForm.convertFrom(loginUser)); + // ログイン処理の実行 + LoginUser loginUser = login.doLogin(loginInfoForm); - // 管理者かチェック - if (!loginUser.isAdminUser()) { - // 管理者ではない場合直で自分の情報を更新するページに遷移する - // 編集対象のログイン者の情報を画面に渡す値にセット - model.addAttribute(PageReturnAttributeKeyword.UPDATE_PERSONAL_EMPLOYEE_USER_FORM, - UpdatePersonalUserForm.convertFrom(loginUser)); - // 個人の情報更新ページに遷移 - return TransitionTargetPageNameKeyword.UPDATE_PERSONAL_EMPLOYEE_INPUT_HTML; - } - // メニュー画面に遷移 - return TransitionTargetPageNameKeyword.MENU_HTML; + // セッション(サーバーの秘密のメモ帳)にユーザー情報を保存 + //「ログイン中」の状態 + session.setAttribute("loginUser", LoginUserForm.convertFrom(loginUser)); + + // 成功したらメニュー画面へ進む + return "menu"; // menu.html を表示 } catch (Exception e) { - // ログイン情報の破棄 - httpSession.invalidate(); - e.printStackTrace(); - // エラーログ出力 - LOGGER.log(Level.SEVERE, SEVERE_ERROR_MESSAGE, e); - // エラー画面に遷移 - return TransitionTargetPageNameKeyword.ERROR_HTML; + // 予期せぬエラーが起きたら、セッションを消してエラー画面へ + session.invalidate(); + LOGGER.error("エラーが発生しました!", e); + return "error"; // error.html を表示 } } - - /** - * ログイン者情報のインスタンスを作成 - * - * @param httpSession セッション情報 - * @param loginInfoForm mailAddress, password を保持したインスタンス - */ - private static LoginInfo createLoginInfo(HttpSession httpSession, LoginInfoForm loginInfoForm) { - // セッションからログイン者情報を取得 - LoginUserForm loginUserForm = (LoginUserForm) httpSession.getAttribute(SessionKeyword.LOGIN_USER); - - // セッションにログイン者情報があるか - if (loginUserForm != null) { - // セッションにログイン者情報がある場合 - return new LoginInfo(loginUserForm.getMailAddress(), loginUserForm.getPassword()); - } - - // セッションにない場合は画面からの input 値 を取得 - return new LoginInfo( - loginInfoForm.getMailAddress(), - loginInfoForm.getPassword()); - } -} +} \ 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 new file mode 100644 index 0000000..5484dc2 --- /dev/null +++ b/team1/src/main/java/com/example/demo/controller/LogoutController.java @@ -0,0 +1,64 @@ +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; + } + + } +} diff --git a/team1/src/main/java/com/example/demo/controller/SelectBookController.java b/team1/src/main/java/com/example/demo/controller/SelectBookController.java index 4fa733c..d974f0b 100644 --- a/team1/src/main/java/com/example/demo/controller/SelectBookController.java +++ b/team1/src/main/java/com/example/demo/controller/SelectBookController.java @@ -1,4 +1,4 @@ -package com.example.demo.controller; +/*package com.example.demo.controller; import java.util.List; @@ -75,3 +75,4 @@ public class SelectBookController { // } } +*/ \ No newline at end of file diff --git a/team1/src/main/java/com/example/demo/form/LoginInfo.java b/team1/src/main/java/com/example/demo/form/LoginInfo.java deleted file mode 100644 index 2e6dc0d..0000000 --- a/team1/src/main/java/com/example/demo/form/LoginInfo.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.example.demo.form; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -public class LoginInfo { - //ログインをする人 - @Data - @AllArgsConstructor - @NoArgsConstructor - public class LoginInfoForm { - /** - * メールアドレス - */ - private String mailAddress; - /** - * パスワード - */ - private String password; - - } - -} diff --git a/team1/src/main/java/com/example/demo/form/LoginInfoForm.java b/team1/src/main/java/com/example/demo/form/LoginInfoForm.java new file mode 100644 index 0000000..ec02f33 --- /dev/null +++ b/team1/src/main/java/com/example/demo/form/LoginInfoForm.java @@ -0,0 +1,22 @@ +package com.example.demo.form; + +//ログイン情報 +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor + +public class LoginInfoForm { + /** + * メールアドレス + */ + private String mailAddress; + /** + * パスワード + */ + private String password; + +} 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 49feaa9..280677a 100644 --- a/team1/src/main/java/com/example/demo/form/LoginUserForm.java +++ b/team1/src/main/java/com/example/demo/form/LoginUserForm.java @@ -1,6 +1,6 @@ package com.example.demo.form; -import com.example.demo.form.LoginInfo.LoginInfoForm; +import com.example.rhizome.app.domain.model.LoginUser; import lombok.AllArgsConstructor; import lombok.Data; @@ -44,41 +44,30 @@ public class LoginUserForm { * @param loginUser business 層の LoginUser インスタンス * @return クラスから画面用(presentation 層)の LoginUserForm */ - public static LoginUserForm convertFrom(LoginUserForm loginUser) { + public static LoginUserForm convertFrom(LoginUser loginUser) { return new LoginUserForm( loginUser.getIdEmployee(), loginUser.getNmEmployee(), loginUser.getKnEmployee(), loginUser.getMailAddress(), loginUser.getPassword(), - loginUser.getFlgAdmin() + loginUser.getGetFlgadmin() ); } - /** - * 画面用(presentation 層)の LoginUserForm クラスから business 層の LoginUser クラスに - * 変換します。 - * - * @param loginUserForm 画面用(presentation 層)の LoginUserForm インスタンス - * @return business 層の LoginUser インスタンス - */ - public static LoginUserForm convertTo(LoginUserForm loginUserForm) { + + public static LoginUserForm convertTo(LoginUser loginUserForm) { return new LoginUserForm( loginUserForm.getIdEmployee(), loginUserForm.getNmEmployee(), loginUserForm.getKnEmployee(), loginUserForm.getMailAddress(), loginUserForm.getPassword(), - loginUserForm.getFlgAdmin() + loginUserForm.getGetFlgadmin() ); } - /** - * 画面から渡ってきた必須の値が仕様を満たしているか確認 - * - * @param loginInfoForm 画面から渡ってきた mailAddress, password を格納しているインスタンス - * @return true:仕様を満たしている , false:仕様を満たしていない - */ + public static boolean checkParameter(LoginInfoForm loginInfoForm) { if (null == loginInfoForm.getMailAddress()) { return false; @@ -102,6 +91,6 @@ public class LoginUserForm { * @return true:管理者権限を持っている , false:管理者権限を持っていない */ public boolean isAdminUser() { - return getFlgAdmin() == 1; + return getFlgadmin() == 1; } } diff --git a/team1/src/main/java/com/example/demo/model/LoginInfo.java b/team1/src/main/java/com/example/demo/model/LoginInfo.java new file mode 100644 index 0000000..21c3b8d --- /dev/null +++ b/team1/src/main/java/com/example/demo/model/LoginInfo.java @@ -0,0 +1,13 @@ +package com.example.demo.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +//ログインを試みる +@Getter +@AllArgsConstructor +public class LoginInfo { + private String maillAddress; + private String password; + +} diff --git a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java index b273e3b..9761b26 100644 --- a/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java +++ b/team1/src/main/java/com/example/demo/repository/EmployeeRepository.java @@ -1,7 +1,5 @@ package com.example.demo.repository; -import java.util.Optional; - import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @@ -9,6 +7,6 @@ import com.example.demo.entity.EmployeeEntity; @Repository public interface EmployeeRepository extends JpaRepository { - Optional findByMailAddressAndPassword(String mailAddress, String password); + } \ No newline at end of file diff --git a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java b/team1/src/main/java/com/example/demo/service/impl/ApprovalBorrowBooksImpl.java similarity index 81% rename from team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java rename to team1/src/main/java/com/example/demo/service/impl/ApprovalBorrowBooksImpl.java index 65a96fe..b201c3d 100644 --- a/team1/src/main/java/com/example/demo/service/Impl/ApprovalBorrowBooksImpl.java +++ b/team1/src/main/java/com/example/demo/service/impl/ApprovalBorrowBooksImpl.java @@ -1,4 +1,4 @@ -package com.example.demo.service.Impl; +/*package com.example.demo.service.Impl; import java.util.List; @@ -23,9 +23,12 @@ public class ApprovalBorrowBooksImpl implements ApprovalBorrowBooks { /* 申請情報から全件取得 * @return 取得した情報すべて */ - public List selectAll() { - return ???Entity.create???List(???Repository.findAll()); - } + //public List selectAll() { + //return ???Entity.create???List(???Repository.findAll()); + //} -} \ No newline at end of file +//} +//package com; + + 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 new file mode 100644 index 0000000..bd6c67b --- /dev/null +++ b/team1/src/main/java/com/example/demo/service/impl/Login.java @@ -0,0 +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); + +} diff --git a/team1/src/main/resources/templates/login.html b/team1/src/main/resources/templates/login.html index 313e0be..2843a36 100644 --- a/team1/src/main/resources/templates/login.html +++ b/team1/src/main/resources/templates/login.html @@ -18,8 +18,8 @@ method="post" th:object="${loginInfoForm}"> -
? - ? +
+