123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package cn.minbb.edu.controller.rest;
- import cn.minbb.edu.data.ResponseResult;
- import cn.minbb.edu.model.User;
- import cn.minbb.edu.model.UserRole;
- import cn.minbb.edu.service.StageService;
- import cn.minbb.edu.service.UserRoleService;
- import cn.minbb.edu.service.UserService;
- import com.alibaba.fastjson.JSONObject;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- import java.util.HashSet;
- import java.util.Set;
- @RestController
- @RequestMapping("app/user")
- public class SignController {
- private UserService userService;
- private UserRoleService userRoleService;
- private StageService stageService;
- @Autowired
- public SignController(UserService userService, UserRoleService userRoleService, StageService stageService) {
- this.userService = userService;
- this.userRoleService = userRoleService;
- this.stageService = stageService;
- }
- @PostMapping(value = "login")
- public ResponseResult<User> login(
- @RequestParam(value = "username") String username,
- @RequestParam(value = "password") String password,
- HttpServletRequest request) {
- ResponseResult<User> result = new ResponseResult<>();
- User user = userService.findUserByUsername(username);
- if (user == null) {
- // 用户不存在
- result.setCode(0);
- result.setSuccess(false);
- result.setMessage("用户不存在");
- } else {
- if (password.equals(user.getPassword())) {
- // OK
- Integer stageId = user.getStageId();
- if (null != stageId) user.setVoStage(stageService.findOneById(user.getStageId()));
- result.setCode(1);
- result.setSuccess(true);
- result.setMessage("登录成功");
- result.setData(user);
- } else {
- // 密码错误
- result.setCode(0);
- result.setSuccess(false);
- result.setMessage("密码错误");
- }
- }
- return result;
- }
- @PostMapping(value = "register")
- public ResponseResult<User> register(@RequestBody String userJSON, HttpServletRequest request) {
- ResponseResult<User> result = new ResponseResult<>();
- User userClient = JSONObject.parseObject(userJSON, User.class);
- if (userClient != null) {
- String username = userClient.getUsername();
- if (userService.findUserByUsername(username) == null) {
- // 用户不存在 - 可以注册
- User u = new User(userClient.getName(), username, userClient.getPassword());
- Set<UserRole> userRoleSet = new HashSet<>();
- userRoleSet.add(userRoleService.findOneByRole(UserRole.Role.USER));
- u.setUserRoleSet(userRoleSet);
- User user = userService.save(u);
- if (user != null) {
- // 注册成功
- result.setCode(1);
- result.setSuccess(true);
- result.setMessage("注册成功");
- result.setData(user);
- } else {
- // 注册失败
- result.setCode(0);
- result.setSuccess(false);
- result.setMessage("注册失败");
- }
- } else {
- // 用户存在 - 不可以注册
- result.setCode(0);
- result.setSuccess(false);
- result.setMessage("用户已存在");
- }
- } else {
- // 错误的注册请求
- result.setCode(0);
- result.setSuccess(false);
- result.setMessage("错误的注册请求");
- }
- return result;
- }
- }
|