From d841bc52e4774909e9206d6dded21a5c1bd42c38 Mon Sep 17 00:00:00 2001 From: a-kawaguchi <26-a-kawaguchi-kyoeisystems@it-college.co.jp> Date: Fri, 18 Sep 2026 14:20:41 +0900 Subject: [PATCH 1/7] =?UTF-8?q?=E3=83=88=E3=83=83=E3=83=97=E3=83=A1?= =?UTF-8?q?=E3=83=8B=E3=83=A5=E3=83=BC=E3=81=8B=E3=82=89=E5=9B=B3=E6=9B=B8?= =?UTF-8?q?=E4=B8=80=E8=A6=A7=E3=81=B8=E3=81=AE=E7=94=BB=E9=9D=A2=E6=8E=A8?= =?UTF-8?q?=E7=A7=BB(form=E3=82=BF=E3=82=B0=E4=BD=BF=E7=94=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/BookController.java | 5 +++-- src/main/resources/templates/topmenu.html | 19 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/example/demo/controller/BookController.java b/src/main/java/com/example/demo/controller/BookController.java index d9788fc..2bc6f8b 100644 --- a/src/main/java/com/example/demo/controller/BookController.java +++ b/src/main/java/com/example/demo/controller/BookController.java @@ -1,14 +1,15 @@ package com.example.demo.controller; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; @Controller public class BookController { - @GetMapping("/book") + @PostMapping("/book") public String book() { return "book"; } + } diff --git a/src/main/resources/templates/topmenu.html b/src/main/resources/templates/topmenu.html index 65e2ed8..a03fe50 100644 --- a/src/main/resources/templates/topmenu.html +++ b/src/main/resources/templates/topmenu.html @@ -9,17 +9,20 @@ メインメニュー + - +
+ リンク名 + +
+
From 15458cd2cdf19f65d4e20a21fb021d3aa31dea64 Mon Sep 17 00:00:00 2001 From: s-tajihi <2026_04_00508@it-college.co.jp> Date: Fri, 18 Sep 2026 15:00:58 +0900 Subject: [PATCH 2/7] =?UTF-8?q?[edit]=20=E3=83=88=E3=83=83=E3=83=97?= =?UTF-8?q?=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC=E3=81=8B=E3=82=89=E5=90=84?= =?UTF-8?q?=E7=94=BB=E9=9D=A2=E3=81=B8=E3=81=AE=E9=81=B7=E7=A7=BB=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/ApprovalReceive.java | 13 +++++ .../demo/controller/LendListController.java | 13 +++++ .../resources/templates/approvalReceive.html | 28 ++++++++++- src/main/resources/templates/lendList.html | 48 +++++++++++++++++++ src/main/resources/templates/topmenu.html | 6 +-- 5 files changed, 103 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/example/demo/controller/ApprovalReceive.java create mode 100644 src/main/java/com/example/demo/controller/LendListController.java create mode 100644 src/main/resources/templates/lendList.html diff --git a/src/main/java/com/example/demo/controller/ApprovalReceive.java b/src/main/java/com/example/demo/controller/ApprovalReceive.java new file mode 100644 index 0000000..605c086 --- /dev/null +++ b/src/main/java/com/example/demo/controller/ApprovalReceive.java @@ -0,0 +1,13 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class ApprovalReceive { + @GetMapping("/approvalReceive") + public String approvalReceive() { + return "approvalReceive"; + + } +} diff --git a/src/main/java/com/example/demo/controller/LendListController.java b/src/main/java/com/example/demo/controller/LendListController.java new file mode 100644 index 0000000..7a2cdfe --- /dev/null +++ b/src/main/java/com/example/demo/controller/LendListController.java @@ -0,0 +1,13 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class LendListController { + @GetMapping("/lendList") + public String lendList() { + return "lendList"; + + } +} diff --git a/src/main/resources/templates/approvalReceive.html b/src/main/resources/templates/approvalReceive.html index 590e6a0..f8ae3c0 100644 --- a/src/main/resources/templates/approvalReceive.html +++ b/src/main/resources/templates/approvalReceive.html @@ -1,10 +1,34 @@ + - -寄贈申請 受信BOX + + 寄贈申請 受信BOX + +

寄贈申請 受信BOX

+ +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/lendList.html b/src/main/resources/templates/lendList.html new file mode 100644 index 0000000..2f9065a --- /dev/null +++ b/src/main/resources/templates/lendList.html @@ -0,0 +1,48 @@ + + + + + + 貸出中図書一覧 + + + +

貸出中図書一覧

+ + +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/templates/topmenu.html b/src/main/resources/templates/topmenu.html index a03fe50..4549f80 100644 --- a/src/main/resources/templates/topmenu.html +++ b/src/main/resources/templates/topmenu.html @@ -26,7 +26,7 @@ - +

寄贈申請

@@ -51,7 +51,7 @@
-
+

貸出中図書一覧

@@ -62,7 +62,7 @@
-
+

寄贈申請受信BOX

From 771d28edfed415c3c9ec868aae26dbb9ef34c42b Mon Sep 17 00:00:00 2001 From: h-hirane Date: Fri, 18 Sep 2026 17:00:39 +0900 Subject: [PATCH 3/7] =?UTF-8?q?[add]=20=E3=83=88=E3=83=83=E3=83=97?= =?UTF-8?q?=E3=83=A1=E3=83=8B=E3=83=A5=E3=83=BC=E3=81=AEhtml=E3=81=AE?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=81=E3=83=91=E3=82=B9=E3=83=AF=E3=83=BC?= =?UTF-8?q?=E3=83=89=E5=A4=89=E6=9B=B4=E3=81=AE=E3=83=9A=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=81=A8controller=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97?= =?UTF-8?q?=E3=81=BE=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PasswordChangeController.java | 14 + .../resources/static/js/passwordChange.js | 62 +++ .../resources/templates/passwordChange.html | 377 ++++++++++++++++++ src/main/resources/templates/topmenu.html | 10 + 4 files changed, 463 insertions(+) create mode 100644 src/main/java/com/example/demo/controller/PasswordChangeController.java create mode 100644 src/main/resources/static/js/passwordChange.js create mode 100644 src/main/resources/templates/passwordChange.html diff --git a/src/main/java/com/example/demo/controller/PasswordChangeController.java b/src/main/java/com/example/demo/controller/PasswordChangeController.java new file mode 100644 index 0000000..55894b2 --- /dev/null +++ b/src/main/java/com/example/demo/controller/PasswordChangeController.java @@ -0,0 +1,14 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@Controller +public class PasswordChangeController { + + @GetMapping("/passwordChange") + public String showPasswordChange() { + + return "passwordChange"; + } +} \ No newline at end of file diff --git a/src/main/resources/static/js/passwordChange.js b/src/main/resources/static/js/passwordChange.js new file mode 100644 index 0000000..a53327c --- /dev/null +++ b/src/main/resources/static/js/passwordChange.js @@ -0,0 +1,62 @@ +function togglePassword(id) { + + const input = document.getElementById(id); + + if (input === null) { + return; + } + + if (input.type === "password") { + input.type = "text"; + } else { + input.type = "password"; + } +} + + +function clearForm() { + + const form = document.getElementById("pwForm"); + + if (form === null) { + return; + } + + form.reset(); +} + + + +function showCompletedPopup() { + + const completedDialog = document.getElementById("completedDialog"); + + if (completedDialog === null) { + return; + } + + completedDialog.showModal(); +} + +function goTopMenu() { + + const topMenuUrl = document.body.dataset.topmenuUrl; + + if (topMenuUrl) { + window.location.href = topMenuUrl; + return; + } + + window.location.href = "/topmenu"; +} + +function goLogin(){ + const loginUrl = document.body.dataset.loginUrl; + + if (loginUrl){ + window.location.href = loginUrl; + return; + } + + window.location.href="/login" +} \ No newline at end of file diff --git a/src/main/resources/templates/passwordChange.html b/src/main/resources/templates/passwordChange.html new file mode 100644 index 0000000..93e54ab --- /dev/null +++ b/src/main/resources/templates/passwordChange.html @@ -0,0 +1,377 @@ + + + + + + ShareBooks|パスワード変更 + + + + + +
+ +
+ ShareBooks +
+ +
+ + + 🔔 + 3 + + + + テストユーザー(一般) + + + + +
+
+ +
+ + + + + +
+ + + + +

+ パスワード再設定 +

+ +

+ 現在のパスワードと新しいパスワードを入力し、 + 「確定」ボタンを押してください。 +

+ +

+ (※)は必須項目です。 +

+ +
+ + +
+ +
+ +

+ パスワード再設定入力 +

+ + +
+ + +
+ + + +
+ + + + + +
+
+ + +
+ + + +
+ + + + + +
+ +

+ ※ 半角英数字・記号を含む8文字以上16文字以下で入力してください。 +

+ +
+ + +
+ + + +
+ + + + + +
+ +

+ ※ 確認のため、もう一度新しいパスワードを入力してください。 +

+ +
+ +
+ +
+ + +
+ +
+ 注意事項 +
+ +
+ + +
+ + + +
+ + + + + + +
+
+ +
+ + +
+ +
+ +
+ パスワードの制約 +
+ +
+ 使用可能文字 +
+ +
+ 半角英数字・記号 +
+ +
+ +
+ 制約 +
+ +
    +
  • ✓ 8文字以上16文字以下
  • +
  • ✓ 1つ以上の小文字を使用
  • +
  • ✓ 1つ以上の大文字を使用
  • +
  • ✓ 1つ以上の数字を使用
  • +
  • ✓ 1つ以上の記号を使用
  • +
+ +
+ +
+ 設定例 +
+ +
+ Abcdef12! +
+ +
+ (9文字、英字大小・数字・記号を含む) +
+ +
+ +
+
+ +
+
+ +
+ + + + + +

+ 変更完了 +

+ +

+ パスワードの変更が完了しました。 +

+ + + +
+ + + + + \ No newline at end of file diff --git a/src/main/resources/templates/topmenu.html b/src/main/resources/templates/topmenu.html index 4549f80..83c566d 100644 --- a/src/main/resources/templates/topmenu.html +++ b/src/main/resources/templates/topmenu.html @@ -70,6 +70,16 @@ 寄贈申請の
受信一覧を確認します。

+ +
+ + +

パスワード変更

+ +

+ 初期パスワードを
変更します。 +

+
\ No newline at end of file From 853af1ec43a74b27b1ede989f5ffe4b81b0f013a Mon Sep 17 00:00:00 2001 From: y-kumaki <2026_04_00501@it-college.co.jp> Date: Fri, 18 Sep 2026 17:10:09 +0900 Subject: [PATCH 4/7] =?UTF-8?q?=E3=80=8CADD]=E5=9B=B3=E6=9B=B8=E4=B8=80?= =?UTF-8?q?=E8=A6=A7=E3=81=8B=E3=82=89=E6=9B=B4=E6=96=B0=E5=85=A5=E5=8A=9B?= =?UTF-8?q?=E3=81=B8=E3=81=AE=E9=81=B7=E7=A7=BB=E3=81=A8=E3=80=81=E5=9B=B3?= =?UTF-8?q?=E6=9B=B8=E6=9B=B4=E6=96=B0=E7=A2=BA=E8=AA=8D=E3=81=8B=E3=82=89?= =?UTF-8?q?=E5=9B=B3=E6=9B=B8=E4=B8=80=E8=A6=A7=E3=81=B8=E3=81=AE=E9=81=B7?= =?UTF-8?q?=E7=A7=BB=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=97=E3=81=BE=E3=81=97?= =?UTF-8?q?=E3=81=9F=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BookUpdateConfirmController.java | 13 ++++++++++ .../demo/controller/BookUpdateController.java | 19 +++++++++++++++ src/main/resources/templates/book.html | 7 ++++++ src/main/resources/templates/update.html | 9 ++++++- .../resources/templates/updateConfirm.html | 24 +++++++++++++++++++ 5 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/example/demo/controller/BookUpdateConfirmController.java create mode 100644 src/main/java/com/example/demo/controller/BookUpdateController.java create mode 100644 src/main/resources/templates/updateConfirm.html diff --git a/src/main/java/com/example/demo/controller/BookUpdateConfirmController.java b/src/main/java/com/example/demo/controller/BookUpdateConfirmController.java new file mode 100644 index 0000000..19c39fb --- /dev/null +++ b/src/main/java/com/example/demo/controller/BookUpdateConfirmController.java @@ -0,0 +1,13 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; + +@Controller +public class BookUpdateConfirmController { + + @PostMapping("/updateconfirm") + public String updateConfirm() { + return "updateconfirm"; + } +} diff --git a/src/main/java/com/example/demo/controller/BookUpdateController.java b/src/main/java/com/example/demo/controller/BookUpdateController.java new file mode 100644 index 0000000..bb6aad5 --- /dev/null +++ b/src/main/java/com/example/demo/controller/BookUpdateController.java @@ -0,0 +1,19 @@ +package com.example.demo.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; + +@Controller +public class BookUpdateController { + + @PostMapping("/update") + public String update() { + return "update"; + } + + @PostMapping("/bookUpdate") + public String bookUpdate() { + return "book"; + } + +} diff --git a/src/main/resources/templates/book.html b/src/main/resources/templates/book.html index d18c996..abb6211 100644 --- a/src/main/resources/templates/book.html +++ b/src/main/resources/templates/book.html @@ -13,6 +13,13 @@ 貸出 + +
+ +
\ No newline at end of file diff --git a/src/main/resources/templates/update.html b/src/main/resources/templates/update.html index 1883fdf..eed51f5 100644 --- a/src/main/resources/templates/update.html +++ b/src/main/resources/templates/update.html @@ -5,6 +5,13 @@ 図書情報更新入力 - + 更新入力画面 + +
+ +
\ No newline at end of file diff --git a/src/main/resources/templates/updateConfirm.html b/src/main/resources/templates/updateConfirm.html new file mode 100644 index 0000000..87eadc6 --- /dev/null +++ b/src/main/resources/templates/updateConfirm.html @@ -0,0 +1,24 @@ + + + + +更新内容確認 + + +更新内容確認画面 + +
+ +
+ +
+ +
+ + \ No newline at end of file From bef3b58ef4c1f4fdda723a3227fc0c85bde3f339 Mon Sep 17 00:00:00 2001 From: h-seya <2026_04_00278@it-college.co.jp> Date: Thu, 24 Sep 2026 13:02:56 +0900 Subject: [PATCH 5/7] =?UTF-8?q?[ADD]:account=E3=83=86=E3=83=BC=E3=83=96?= =?UTF-8?q?=E3=83=AB=E7=94=A8=E3=81=AEEntity=E3=82=AF=E3=83=A9=E3=82=B9?= =?UTF-8?q?=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/entity/Account.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main/java/com/example/demo/entity/Account.java diff --git a/src/main/java/com/example/demo/entity/Account.java b/src/main/java/com/example/demo/entity/Account.java new file mode 100644 index 0000000..e5834b0 --- /dev/null +++ b/src/main/java/com/example/demo/entity/Account.java @@ -0,0 +1,41 @@ +package com.example.demo.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/* + * accountテーブル用のEntityクラス + * ログイン時やセッションでの管理者判別に使う + */ + +@Entity +@Table(name = "account") +@Getter +@Setter +@NoArgsConstructor +public class Account { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name="login_info_id") + private int loginInfoId; + + @Column(name="employee_id") + private int employeeId; + + @Column(name="password_hash") + private String passwordHash; + + @Column(name="admin_flag") + private int adminFlag; + + +} From 21dd389deba7019ef39446ce1335f95e87d0286b Mon Sep 17 00:00:00 2001 From: h-seya <2026_04_00278@it-college.co.jp> Date: Thu, 24 Sep 2026 13:04:43 +0900 Subject: [PATCH 6/7] =?UTF-8?q?[EDIT]:=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB?= =?UTF-8?q?=E5=86=85=E3=81=AE=E8=A9=B3=E7=B4=B0=E9=83=A8=E5=88=86=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/entity/Account.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/example/demo/entity/Account.java b/src/main/java/com/example/demo/entity/Account.java index e5834b0..6379036 100644 --- a/src/main/java/com/example/demo/entity/Account.java +++ b/src/main/java/com/example/demo/entity/Account.java @@ -37,5 +37,4 @@ public class Account { @Column(name="admin_flag") private int adminFlag; - } From 004ea0d5b9b85cbd56c314b62f3d44c5f92a7026 Mon Sep 17 00:00:00 2001 From: h-seya <2026_04_00278@it-college.co.jp> Date: Thu, 24 Sep 2026 16:04:12 +0900 Subject: [PATCH 7/7] =?UTF-8?q?[ADD]:=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=83=BB=E3=83=AD=E3=82=B0=E3=82=A2=E3=82=A6=E3=83=88=E6=A9=9F?= =?UTF-8?q?=E8=83=BD=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/controller/LoginController.java | 79 +++++++++++++++--- .../{Account.java => AccountEntity.java} | 6 +- .../java/com/example/demo/form/LoginForm.java | 17 ++++ .../demo/repository/AccountRepository.java | 11 +++ .../example/demo/service/LoginService.java | 31 +++++++ src/main/resources/templates/login.html | 42 +++++----- src/main/resources/templates/topmenu.html | 81 ++++++++++++------- 7 files changed, 206 insertions(+), 61 deletions(-) rename src/main/java/com/example/demo/entity/{Account.java => AccountEntity.java} (89%) create mode 100644 src/main/java/com/example/demo/form/LoginForm.java create mode 100644 src/main/java/com/example/demo/repository/AccountRepository.java create mode 100644 src/main/java/com/example/demo/service/LoginService.java diff --git a/src/main/java/com/example/demo/controller/LoginController.java b/src/main/java/com/example/demo/controller/LoginController.java index 7961482..4e469fc 100644 --- a/src/main/java/com/example/demo/controller/LoginController.java +++ b/src/main/java/com/example/demo/controller/LoginController.java @@ -1,24 +1,79 @@ package com.example.demo.controller; +import jakarta.servlet.http.HttpSession; +import jakarta.validation.Valid; + 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.PostMapping; +import com.example.demo.entity.AccountEntity; +import com.example.demo.form.LoginForm; +import com.example.demo.service.LoginService; + +import lombok.RequiredArgsConstructor; + @Controller +@RequiredArgsConstructor public class LoginController { - @GetMapping("/login") - public String showLogin() { - return "login"; - } + private final LoginService loginService; - @PostMapping("/doLogin") - public String doLogin() { - return "redirect:/topmenu"; - } + // Boot起動直後にログイン画面に移動する用のメソッド + @GetMapping("/") + public String index(HttpSession session) { + if (session.getAttribute("loginEmployee") != null) { + return "redirect:/topmenu"; + } + return "redirect:/login"; + } - @GetMapping("/topmenu") - public String showTopMenu() { - return "topmenu"; - } + @GetMapping("/login") + public String loginForm(Model model, HttpSession session) { + if (session.getAttribute("loginEmployee") != null) { + return "redirect:/topmenu"; + } + + model.addAttribute("loginForm", new LoginForm()); + return "login"; + } + + // 実際のログイン処理 + @PostMapping("/login") + public String doLogin( + @Valid @ModelAttribute LoginForm loginForm, + BindingResult bindingResult, + Model model, + HttpSession session) { + + if (bindingResult.hasErrors()) { + return "login"; + } + + AccountEntity accountEntity = loginService.login(loginForm); + if (accountEntity == null) { + model.addAttribute("loginError", + "ログインIDまたはパスワードが正しくありません"); + return "login"; + } + + session.setAttribute("loginEmployee", accountEntity); + return "redirect:/topmenu"; + } + + // ログアウト処理 + @GetMapping("/logout") + public String logout(HttpSession session) { + session.invalidate(); + return "redirect:/login"; + } + + // 各画面からトップメニューへの遷移用 + @GetMapping("/topmenu") + public String showTopMenu() { + return "topmenu"; + } } \ No newline at end of file diff --git a/src/main/java/com/example/demo/entity/Account.java b/src/main/java/com/example/demo/entity/AccountEntity.java similarity index 89% rename from src/main/java/com/example/demo/entity/Account.java rename to src/main/java/com/example/demo/entity/AccountEntity.java index 6379036..fc90022 100644 --- a/src/main/java/com/example/demo/entity/Account.java +++ b/src/main/java/com/example/demo/entity/AccountEntity.java @@ -21,15 +21,15 @@ import lombok.Setter; @Getter @Setter @NoArgsConstructor -public class Account { +public class AccountEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name="login_info_id") - private int loginInfoId; + private Integer loginInfoId; @Column(name="employee_id") - private int employeeId; + private Integer employeeId; @Column(name="password_hash") private String passwordHash; diff --git a/src/main/java/com/example/demo/form/LoginForm.java b/src/main/java/com/example/demo/form/LoginForm.java new file mode 100644 index 0000000..2a5a7ab --- /dev/null +++ b/src/main/java/com/example/demo/form/LoginForm.java @@ -0,0 +1,17 @@ +package com.example.demo.form; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; + +import lombok.Data; + +@Data +public class LoginForm { + + @NotNull(message = "社員IDを入力してください") + private Integer employeeId; + + @NotBlank(message = "パスワードを入力してください") + private String passwordHash; + +} diff --git a/src/main/java/com/example/demo/repository/AccountRepository.java b/src/main/java/com/example/demo/repository/AccountRepository.java new file mode 100644 index 0000000..db7d155 --- /dev/null +++ b/src/main/java/com/example/demo/repository/AccountRepository.java @@ -0,0 +1,11 @@ +package com.example.demo.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.example.demo.entity.AccountEntity; + +public interface AccountRepository extends JpaRepository{ + + AccountEntity findByEmployeeId (Integer employeeId); + +} diff --git a/src/main/java/com/example/demo/service/LoginService.java b/src/main/java/com/example/demo/service/LoginService.java new file mode 100644 index 0000000..c87eead --- /dev/null +++ b/src/main/java/com/example/demo/service/LoginService.java @@ -0,0 +1,31 @@ +package com.example.demo.service; + +import org.springframework.stereotype.Service; + +import com.example.demo.entity.AccountEntity; +import com.example.demo.form.LoginForm; +import com.example.demo.repository.AccountRepository; + +import lombok.RequiredArgsConstructor; + +@Service +@RequiredArgsConstructor +public class LoginService { + + private final AccountRepository accountRepository; + + public AccountEntity login(LoginForm form) { + AccountEntity accountEntity = + accountRepository.findByEmployeeId(form.getEmployeeId()); + + if(accountEntity == null) { + return null; + } + + if(!accountEntity.getPasswordHash().equals(form.getPasswordHash())) + return null; + + return accountEntity; + } + +} diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 06b4373..70f5aac 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -1,29 +1,35 @@ - + + - -ログイン + + ログイン + - +

ログイン

-
-
- -
+

+

- - - - -
- - -
+ +
+ + +

+
+ +
+ + +

+
+ + +
+ \ No newline at end of file diff --git a/src/main/resources/templates/topmenu.html b/src/main/resources/templates/topmenu.html index 83c566d..2fff6ee 100644 --- a/src/main/resources/templates/topmenu.html +++ b/src/main/resources/templates/topmenu.html @@ -1,31 +1,55 @@ + - -トップメニュー + + トップメニュー + + +
+ +
+ ShareBooks +
+ +
+ + + テストユーザー(一般) + + + + ログアウト + + +
+ + +
+

メインメニュー

- - + + -
- リンク名 - -
-
+

+ 登録されている図書の
一覧を表示します。 +

+ + +
- +

寄贈申請

@@ -34,11 +58,11 @@ 寄贈申請フォームの
入力を行います。

- +
- + - +

新規図書登録

@@ -49,19 +73,19 @@

- - + + - +

貸出中図書一覧

貸出中図書の
一覧を表示します。 -

+

- +
- +

寄贈申請受信BOX

@@ -70,16 +94,17 @@ 寄贈申請の
受信一覧を確認します。

- +
- - + +

パスワード変更

- +

初期パスワードを
変更します。

+ \ No newline at end of file