用户注册和登录功能调整

main
HZXhuang 2 years ago
parent a9ceab422f
commit 5614f33907

@ -28,6 +28,10 @@ public enum ResponseStatusEnum implements CommonResp{
REQUEST_BODY_MISSING("1017", "请求数据体缺失"),
LOGIN_NOT_ADMIN("1018", "管理员登录失败,不是管理员"),
USERNAME_EMPTY("1019", "用户名为空"),
PASSWORD_EMPTY("1020", "密码为空"),
NAME_EMPTY("1021", "用户昵称为空"),
/** 20XX 表示服务器错误 */
PICTURE_UPLOAD_FAILED("2001","上传图片失败"),

@ -16,8 +16,8 @@ public class UserController {
UserService userService;
@Operation(summary = "注册", description = "用户注册接口")
@PostMapping("/regist")
public Result regist(@RequestBody User user){
@PostMapping("/register")
public Result register(@RequestBody User user){
System.out.println(user);
return userService.register(user);
}

@ -6,6 +6,7 @@ import cn.hutool.log.level.Level;
import org.example.common.ResponseStatusEnum;
import org.example.utils.Result;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@ -47,4 +48,9 @@ public class GlobalExceptionHandler {
return Result.error(ResponseStatusEnum.REQUEST_BODY_MISSING);
}
@ExceptionHandler(value = HttpRequestMethodNotSupportedException.class)
public Result handler(HttpRequestMethodNotSupportedException exception) {
log.log(Level.ERROR, exception.getMessage());
return Result.error(String.valueOf(exception.getStatusCode().value()), exception.getMessage());
}
}

@ -1,6 +1,9 @@
package org.example.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.micrometer.common.util.StringUtils;
import org.example.common.ResponseStatusEnum;
import org.example.exception.CustomException;
import org.example.mapper.UserMapper;
import org.example.pojo.User;
import org.example.service.UserService;
@ -16,23 +19,25 @@ public class UserServiceImpl implements UserService {
public Result register(User user){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
validate(user.getUsername(), user.getPassword(), user.getName());
queryWrapper.eq("username",user.getUsername());
boolean isExist = userMapper.exists(queryWrapper);
if(isExist){
return Result.error("-1","用户名已被使用");
return Result.error(ResponseStatusEnum.USER_ACCOUNT_EXISTED);
}
user.setPassword(MD5Util.encrypt(user.getPassword()));
Integer rows = userMapper.insert(user);
if(rows>0){
int rows = userMapper.insert(user);
if(rows > 0){
return Result.success();
}
return Result.error("-1","failure");
return Result.error(ResponseStatusEnum.ERROR);
}
@Override
public Result login(User user) {
String username = user.getUsername();
String password = user.getPassword();
validate(username, password);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username",username).eq("password",MD5Util.encrypt(password));
User res = userMapper.selectOne(queryWrapper);
@ -40,6 +45,30 @@ public class UserServiceImpl implements UserService {
res.setPassword(null);
return Result.success(res);
}
return Result.error("-1","账号或者密码错误");
return Result.error(ResponseStatusEnum.USERNAME_PASSWORD_ERROR);
}
public void validate(String username, String password) {
if (StringUtils.isEmpty(username)) {
// 用户名为空
throw new CustomException(ResponseStatusEnum.USERNAME_EMPTY);
}
if (StringUtils.isEmpty(password)) {
// 密码为空
throw new CustomException(ResponseStatusEnum.PASSWORD_EMPTY);
}
}
/**
*
* @param username
* @param password
* @param name
*/
public void validate(String username, String password, String name) {
validate(username, password);
if (StringUtils.isEmpty(name)) {
throw new CustomException(ResponseStatusEnum.NAME_EMPTY);
}
}
}

Loading…
Cancel
Save