Przeglądaj źródła

feat: user controller层

370774330@qq.com 5 lat temu
rodzic
commit
dd01a06b49

+ 57 - 0
web/src/main/java/seecoder/devcloud/web/controller/user/UserController.java

@@ -0,0 +1,57 @@
+package seecoder.devcloud.web.controller.user;
+
+import jnr.ffi.annotations.In;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import seecoder.devcloud.web.service.user.UserService;
+import seecoder.devcloud.web.vo.Response;
+import seecoder.devcloud.web.vo.user.ChangePasswordVO;
+import seecoder.devcloud.web.vo.user.RegisterVO;
+import seecoder.devcloud.web.vo.user.UserVO;
+
+import javax.validation.Validation;
+import javax.validation.constraints.Pattern;
+
+/**
+ * @author PuHong Weng
+ * @date 2021/3/5
+ * @description:
+ */
+@RestController("/user")
+@ResponseBody
+public class UserController {
+
+    private final UserService userService;
+
+    @Autowired
+    public UserController(UserService userService) {
+        this.userService = userService;
+    }
+
+    @PostMapping("/register")
+    public Response<UserVO> register(@RequestBody RegisterVO registerVO){
+        return Response.ok(userService.register(registerVO)) ;
+    }
+
+    @PutMapping("/password")
+    public Response changePassword(@RequestBody ChangePasswordVO vo){
+        userService.changePassword(vo);
+        return Response.ok();
+    }
+
+    @PutMapping("nickname")
+    public Response<UserVO> changeUserInfo(
+            @RequestParam("userId") Integer userid,
+            @RequestParam("nickname")
+            @Pattern(regexp = "^\\w+${4,23}", message = "昵称只能包含大小写字母、数字和下划线,且必须为4-23位!")
+                    String nickName) {
+        return userService.changeUserInfo(userid, nickName);
+    }
+
+    @GetMapping("/id")
+    public Response<UserVO> findUserById(
+            @RequestParam("userId") Integer userId){
+        return Response.ok(userService.getUserById(userId));
+    }
+
+}

+ 1 - 0
web/src/main/java/seecoder/devcloud/web/vo/user/RegisterVO.java

@@ -26,6 +26,7 @@ public class RegisterVO {
 	@Pattern(groups = {PostMapping.class},regexp = "[0-9a-zA-Z_]{8,16}", message = "密码只能包含大小写字母、数字和下划线,且必须为8-16位!")
 	@NotNull(groups = {PostMapping.class},message = "请填写密码!")
 	private String password;
+	@Pattern(regexp = "^\\w+${4,23}", message = "昵称只能包含大小写字母、数字和下划线,且必须为4-23位!")
 	private String nickname="nickname";
 
 	public RegisterVO(@Email(message = "邮箱格式不正确!") @NotNull(message = "请填写邮箱!") String username, @Pattern(regexp = "[0-9a-zA-Z_]{8,16}", message = "密码只能包含大小写字母、数字和下划线,且必须为8-16位!") @NotNull(message = "请填写密码!") String password, String nickname) {