123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package com.lstznkj.groundstation.controller;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.lstznkj.groundstation.model.Result;
- import com.lstznkj.groundstation.model.User;
- import com.lstznkj.groundstation.security.jwt.JWTUtils;
- import com.lstznkj.groundstation.service.UserService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletRequest;
- @Api("用户")
- @RestController
- public class UserController {
- @Autowired
- private JWTUtils jwtUtils;
- @Autowired
- private UserService userService;
- @Autowired
- private ObjectMapper objectMapper;
- @Autowired
- private BCryptPasswordEncoder passwordEncoder;
- private Logger logger= LoggerFactory.getLogger(getClass());
- @ApiOperation("获取用户信息")
- @GetMapping("/users/{username}")
- public Object getUser(HttpServletRequest request, @PathVariable String username)
- {
- Result<User> result=new Result<>();
- String token = request.getHeader("Authorization");
- String realUsername=jwtUtils.getUsername(token);
- if(realUsername!= username)
- {
- result.setSuccess(false);
- result.setInfo("非法请求!");
- }
- return userService.findUserByAccount(realUsername);
- }
- @DeleteMapping("/users/{username}")
- public Object deleteUser(HttpServletRequest request,@PathVariable String username)
- {
- String token = request.getHeader("Authorization");
- String realUsername=jwtUtils.getUsername(token);
- Result<User> result=new Result<>();
- logger.info(realUsername+" start to delete user:"+username);
- result=userService.deleteUser(username);
- return result;
- }
- @PutMapping("/users/{username}")
- public Object updateUser(HttpServletRequest request,@PathVariable String username,@RequestBody User user){
- String token = request.getHeader("Authorization");
- String realUsername=jwtUtils.getUsername(token);
- Result<User> result=new Result<>();
- try {
- logger.info(jwtUtils.getUsername(token)+" update user:"+objectMapper.writeValueAsString(user));
- result=userService.updateUser(user);
- }catch (Exception ex){
- ex.printStackTrace();
- result.setSuccess(false);
- result.setInfo("修改用户信息失败!!!");
- }
- return result;
- }
- @PutMapping("/users/{username}/password")
- public Object updateUserPassword(HttpServletRequest request,@PathVariable String username,@RequestBody User user)
- {
- String token = request.getHeader("Authorization");
- try {
- logger.info(jwtUtils.getUsername(token)+" change user:"+user.getUsername()+"'s password"+objectMapper.writeValueAsString(user));
- return userService.adminUpdateUserPassword(user);
- }catch (Exception ex){
- ex.printStackTrace();
- }
- return null;
- }
- @ApiOperation("获取所有用户信息")
- @GetMapping("/users")
- // @PreAuthorize("hasRole('ROLE_ADMIN')")
- public Object getAllUser(HttpServletRequest request)
- {
- return userService.findAllUsers();
- }
- @ApiOperation("用户注册")
- @PutMapping("/users/register")
- public Object addUser(HttpServletRequest request, @RequestBody User user) {
- // String token = request.getHeader("Authorization");
- // String realUsername=jwtUtils.getUsername(token);
- try {
- logger.info(" start to add user");
- }
- catch (Exception ex){
- ex.printStackTrace();
- }
- return userService.adduser(user);
- }
- @RequestMapping(value = "/users",method = RequestMethod.POST)
- public Object createUser(HttpServletRequest request, @RequestBody User user)
- {
- Result<User> result=new Result<>();
- String token = request.getHeader("Authorization");
- try {
- logger.info(jwtUtils.getUsername(token)+" create user:"+objectMapper.writeValueAsString(user));
- user.setPassword(passwordEncoder.encode(user.getPassword()));
- result=userService.createUser(user,user.getSysRoles());
- }catch (Exception ex){
- ex.printStackTrace();
- result.setSuccess(false);
- result.setInfo("创建用户失败!!!");
- }
- return result;
- }
- /***
- * 退出业务逻辑未完成
- * @param request
- * @return
- */
- @ApiOperation("用户退出登录")
- @PostMapping("/user/logout")
- public Object logout(HttpServletRequest request)
- {
- String token = request.getHeader("Authorization");
- if(token!=null)
- {
- String realUsername=jwtUtils.getUsername(token);
- logger.info(realUsername+" logout!");
- }
- return null;
- }
- }
|