From 2809e372e6cb1ff636fc19c821da09f2042d0ba1 Mon Sep 17 00:00:00 2001
From: zhuyibo <ZhuY109@cardiff.ac.uk>
Date: Thu, 5 Dec 2024 14:18:40 +0000
Subject: [PATCH] develope

---
 .../sports/Userdetail/UserController.java     | 69 ++++++++-----------
 .../demo/sports/Userdetail/UserService.java   |  2 +
 .../sports/Userdetail/UserServiceImpl.java    |  5 ++
 src/main/resources/static/js/UserCenter.js    |  9 ++-
 .../templates/Usercenter/Usercenter.html      |  2 +
 5 files changed, 41 insertions(+), 46 deletions(-)

diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
index b908c55..483e3b5 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserController.java
@@ -1,63 +1,50 @@
 package uk.ac.cf.spring.demo.sports.Userdetail;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.util.List;
-
+@RestController
 @Controller
 public class UserController {
-    // 依赖注入 UserService
     private final UserService userService;
 
+    // 使用 @Autowired 进行依赖注入(构造函数注入)
+    @Autowired
     public UserController(UserService userService) {
         this.userService = userService;
     }
 
-    // 显示所有用户列表
-    @GetMapping("/users")
-    public ModelAndView getUsers() {
-        ModelAndView modelAndView = new ModelAndView("user/allUserList");
-        List<User> users = userService.getAllUsers();
-        modelAndView.addObject("users", users);
-        return modelAndView;
+    // 获取所有用户列表
+    @GetMapping
+    public List<User> getAllUsers() {
+        return userService.getAllUsers();
     }
 
-    // 通过用户 ID 查看用户详情
-    @GetMapping("/users/{id}")
-    public ModelAndView getUserById(@PathVariable Long id) {
-        ModelAndView modelAndView = new ModelAndView("user/userDetails");
-        User user = userService.getUserById(id);
-        modelAndView.addObject("user", user);
-        return modelAndView;
+    // 通过用户 ID 获取用户详情
+    @GetMapping("/api/users/{id}")
+    public User getUserById(@PathVariable Long id) {
+        return userService.getUserById(id);
     }
 
-    // 显示添加用户的表单
-    @GetMapping("/users/add")
-    public ModelAndView addUser() {
-        ModelAndView modelAndView = new ModelAndView("user/userForm");
-        Userform emptyUserform = new Userform();
-        modelAndView.addObject("user", emptyUserform);
-        return modelAndView;
+    // 添加用户
+    @PostMapping
+    public void addUser(@RequestBody User user) {
+        userService.addUser(user);
     }
 
-    // 显示编辑用户信息的表单
-    @GetMapping("/users/edit/{id}")
-    public ModelAndView editUser(@PathVariable("id") Long id) {
-        ModelAndView modelAndView = new ModelAndView("user/userForm");
-        // 获取需要编辑的用户
-        User userToEdit = userService.getUserById(id);
-
-        // 创建表单对象
-        Userform userform = new Userform(
-                userToEdit.getId(),
-                userToEdit.getEmail(),
-                userToEdit.getUsername()
-        );
-
-        modelAndView.addObject("user", userform);
-        return modelAndView;
+    // 更新用户信息
+//    @PutMapping("/{id}")
+//    public void updateUser(@PathVariable Long id, @RequestBody User user) {
+//        user.setId(id); // 确保更新的对象有正确的 ID
+//        userService.updateUser(user);
+//    }
+
+    // 删除用户
+    @DeleteMapping("/{id}")
+    public void deleteUser(@PathVariable Long id) {
+        userService.deleteUser(id);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
index 640518b..7c3f4f4 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserService.java
@@ -18,4 +18,6 @@ public interface UserService {
 
     // 添加用户
     void addUser(User user);
+
+    void deleteUser(Long id);
 }
\ No newline at end of file
diff --git a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
index 235afbc..b180ab3 100644
--- a/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
+++ b/src/main/java/uk/ac/cf/spring/demo/sports/Userdetail/UserServiceImpl.java
@@ -34,4 +34,9 @@ public class UserServiceImpl implements UserService{
     public void addUser(User user) {
 
     }
+
+    @Override
+    public void deleteUser(Long id) {
+
+    }
 }
diff --git a/src/main/resources/static/js/UserCenter.js b/src/main/resources/static/js/UserCenter.js
index 0745190..5a1bef3 100644
--- a/src/main/resources/static/js/UserCenter.js
+++ b/src/main/resources/static/js/UserCenter.js
@@ -1,9 +1,9 @@
 // userTable.js
 
 // 动态加载用户数据
-async function loadUsers() {
+async function loadUsers(id) {
     try {
-        const response = await fetch('/api/users'); // 确保后端提供了此 API
+        const response = await fetch('/api/users/${id}'); // 确保后端提供了此 API
         if (!response.ok) {
             throw new Error(`HTTP error! Status: ${response.status}`);
         }
@@ -28,10 +28,9 @@ async function loadUsers() {
             `;
             tbody.appendChild(row);
         });
-    } catch (error) {
+    }
+    catch (error) {
         console.error('Error loading users:', error);
-        const tbody = document.querySelector('tbody');
-        tbody.innerHTML = `<tr><td colspan="4">Failed to load user data.</td></tr>`;
     }
 }
 
diff --git a/src/main/resources/templates/Usercenter/Usercenter.html b/src/main/resources/templates/Usercenter/Usercenter.html
index 4f1c57e..170d68f 100644
--- a/src/main/resources/templates/Usercenter/Usercenter.html
+++ b/src/main/resources/templates/Usercenter/Usercenter.html
@@ -3,8 +3,10 @@
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
+  <link rel="stylesheet" href="../css/UserCenter.css">
 </head>
 <body>
+
 <table>
   <thead>
   <tr>
-- 
GitLab