| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package cn.seecoder.fdroidrepository.Controller;
- import cn.seecoder.fdroidrepository.DataObject.User;
- import cn.seecoder.fdroidrepository.Service.ServiceImpl.USER_STATUS;
- import cn.seecoder.fdroidrepository.Service.UserService;
- import cn.seecoder.fdroidrepository.utils.Result;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- @RestController
- @RequestMapping("/api/users")
- public class UserController {
- @Autowired
- private UserService userService;
- @PostMapping("/register")
- public ResponseEntity<String> register(@RequestBody User user) {
- if (!userService.isUsernameUnique(user.getUsername())) {
- return new ResponseEntity<>("Username is already taken", HttpStatus.BAD_REQUEST);
- }
- userService.save(user);
- return new ResponseEntity<>("User registered successfully", HttpStatus.OK);
- }
- @GetMapping("/activation/{userId}/{code}")
- private Result<?> activate(@PathVariable int userId,@PathVariable String code){
- USER_STATUS result=userService.activate(userId,code);
- if(result==USER_STATUS.START_ACTIVATE){
- return new Result<>("200","activate success");
- }else if(result==USER_STATUS.REPEAT_ACTIVATE){
- return new Result<>("409","repeat activation");
- }
- return new Result<>("400","activate failed!");
- }
- @PostMapping("/login")
- public ResponseEntity<String> login(@RequestBody User user) {
- User existingUser = userService.findByUsername(user.getUsername());
- if (existingUser == null || !existingUser.getPassword().equals(user.getPassword())) {
- return new ResponseEntity<>("Invalid username or password", HttpStatus.UNAUTHORIZED);
- }
- return new ResponseEntity<>("Login successful", HttpStatus.OK);
- }
- }
|