You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.0 KiB
89 lines
3.0 KiB
package com.bupt.note.Controller;
|
|
|
|
import com.bupt.note.Model.User;
|
|
import com.bupt.note.Repository.UserRepository;
|
|
import com.bupt.note.ResponseData.ResponseData;
|
|
import com.bupt.note.ResponseData.ResponseDataUtil;
|
|
import com.bupt.note.ResponseData.ResultEnums;
|
|
import com.bupt.note.dto.UpdatePwd;
|
|
import com.bupt.note.dto.UserForm;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
/**
|
|
* 用户接口
|
|
*/
|
|
@RestController
|
|
@RequestMapping(value = "/v1/api/users")
|
|
public class UserController {
|
|
|
|
@Autowired
|
|
UserRepository userRepository;
|
|
|
|
private Logger logger= LoggerFactory.getLogger(UserController.class);
|
|
|
|
/**
|
|
* 注册用户
|
|
* @param user 用户信息
|
|
* @return
|
|
*/
|
|
@PostMapping("/sign_up")
|
|
public ResponseData signUp(@RequestBody UserForm user) {
|
|
if (!userRepository.existsByUserName(user.getUserName())) {
|
|
userRepository.save(user.getUser());
|
|
User u = userRepository.findByUserName(user.getUserName());
|
|
return ResponseDataUtil.buildSuccess(u);
|
|
}
|
|
return ResponseDataUtil.buildError(ResultEnums.ErrUserNameConflict);
|
|
}
|
|
|
|
/**
|
|
* 登录用户
|
|
* @param user 用户信息
|
|
* @return
|
|
*/
|
|
@PostMapping("/sign_in")
|
|
public ResponseData signIn(@RequestBody UserForm user){
|
|
if(StringUtils.isNoneEmpty(user.getUserName(),user.getPassword())&&
|
|
userRepository.existsByUserName(user.getUserName())){
|
|
User exists= userRepository.findByUserName(user.getUserName());
|
|
if(user.getPassword().equals(exists.getPassword())){
|
|
return ResponseDataUtil.buildError(ResultEnums.SUCCESS);
|
|
}else{
|
|
logger.error("账号或者密码错误");
|
|
return ResponseDataUtil.buildError(ResultEnums.ERROR);
|
|
}
|
|
}else {
|
|
logger.error("登陆校验失败");
|
|
return ResponseDataUtil.buildSuccess(ResultEnums.ERROR);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 修改密码
|
|
* @param user
|
|
* @return
|
|
*/
|
|
@PutMapping("update")
|
|
public ResponseData put(@RequestBody UpdatePwd user,@CookieValue("user") String username){
|
|
if(StringUtils.isNoneEmpty(username,user.getOldpwd(),user.getNewpwd())&&
|
|
userRepository.existsByUserName(username)){
|
|
User exists= userRepository.findByUserName(username);
|
|
if(user.getOldpwd().equals(exists.getPassword())){
|
|
exists.setPassword(user.getNewpwd());
|
|
userRepository.save(exists);
|
|
return ResponseDataUtil.buildSuccess();
|
|
}else{
|
|
logger.error("原密码错误");
|
|
return ResponseDataUtil.buildError("原密码错误");
|
|
}
|
|
}else{
|
|
logger.error("修改密码表单校验失败");
|
|
return ResponseDataUtil.buildError();
|
|
}
|
|
|
|
}
|
|
}
|
|
|