blob: 4ced292da3ee083833fee056963eb69c78e8145c [file] [log] [blame]
22301102e0c7c6e2025-05-17 11:08:45 +08001package com.pt.controller;
2
3import com.pt.entity.User;
4import org.springframework.beans.factory.annotation.Autowired;
5import org.springframework.http.ResponseEntity;
6import org.springframework.web.bind.annotation.*;
7import com.pt.service.UserService;
8
9@RestController
10@RequestMapping("/api/user")
11@CrossOrigin(origins = "*")
12public class UserController {
13
14 @Autowired
15 private UserService userService;
16
17 @PostMapping("/register")
18 public ResponseEntity<?> registerUser(@RequestParam("username") String username,
19 @RequestParam("password") String password,
20 @RequestParam("email") String email) {
21 User user = userService.findByUsername(username);
22 if (user != null) {
23 return ResponseEntity.badRequest().body("User already exists");
24 } else {
25 User newUser = new User();
26
27 String uid = String.valueOf(System.currentTimeMillis());
28 newUser.setUid(uid);
29 newUser.setUsername(username);
30 newUser.setPassword(password);
31 newUser.setEmail(email);
32 userService.save(newUser);
33 return ResponseEntity.ok("User registered successfully");
34 }
35 }
36
37 @PostMapping("/login")
38 public ResponseEntity<?> loginUser(@RequestParam("username") String username,
39 @RequestParam("password") String password) {
40 User user = userService.findByUsernameAndPassword(username, password);
41 if (user != null) {
42 return ResponseEntity.ok("Login successful");
43 } else {
44 return ResponseEntity.badRequest().body("Invalid username or password");
45 }
46 }
47
48 @PostMapping("/update/username")
49 public ResponseEntity<?> updateUsername(@RequestParam("username") String oldUsername,
50 @RequestParam("newUsername") String newUsername) {
51 User user = userService.findByUsername(oldUsername);
52 if (user != null) {
53 user.setUsername(newUsername);
54 userService.save(user);
55 return ResponseEntity.ok("Username updated successfully");
56 } else {
57 return ResponseEntity.badRequest().body("User not found");
58 }
59 }
60
61 @PostMapping("/update/password")
62 public ResponseEntity<?> updatePassword(@RequestParam("username") String username,
63 @RequestParam("newPassword") String newPassword) {
64 User user = userService.findByUsername(username);
65 if (user != null) {
66 user.setPassword(newPassword);
67 userService.save(user);
68 return ResponseEntity.ok("Password updated successfully");
69 } else {
70 return ResponseEntity.badRequest().body("Invalid username or password");
71 }
72 }
73
74 @PostMapping("/update/email")
75 public ResponseEntity<?> updateEmail(@RequestParam("username") String username,
76 @RequestParam("newEmail") String newEmail) {
77 User user = userService.findByUsername(username);
78 if (user != null) {
79 user.setEmail(newEmail);
80 userService.save(user);
81 return ResponseEntity.ok("Email updated successfully");
82 } else {
83 return ResponseEntity.badRequest().body("User not found");
84 }
85 }
86}