Survey/src/main/java/com/example/survey/controller/UserController.java
2021-08-24 12:16:21 +08:00

107 lines
3.5 KiB
Java

package com.example.survey.controller;
import com.example.survey.dto.user.*;
import com.example.survey.enumeration.ResultEnum;
import com.example.survey.service.UserService;
import com.example.survey.util.TokenUtil;
import com.example.survey.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
/**
* @author Pope
*/
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
UserService userService;
@GetMapping("/userList")
public ResultVO getUser(@RequestParam(value = "pageSize", defaultValue = "30") int pageSize,
@RequestParam(value = "currentPage") int currentPage,
@RequestParam(value = "username", required = false) String username,
@RequestParam(value = "phone", required = false) String phone) {
Map<String, Object> resultMap = new HashMap<>(16, 0.75F);
resultMap.put("totalCount", userService.countUser(username,phone));
resultMap.put("pageSize", pageSize);
resultMap.put("currentPage", currentPage);
resultMap.put("data", userService.listUserLimit(username, phone, currentPage, pageSize));
ResultVO resultVo = new ResultVO(ResultEnum.SUCCESS);
resultVo.setData(resultMap);
return resultVo;
}
@DeleteMapping("/user")
public ResultVO deleteUser(@RequestBody DeleteUserDTO deleteUserDTO) {
userService.deleteUser(deleteUserDTO);
return new ResultVO(ResultEnum.SUCCESS);
}
@PostMapping("/login")
public ResultVO login(@RequestBody LoginDTO loginDTO) {
//用户名密码验证
LoginVO loginVO = userService.matchAuth(loginDTO);
if (loginVO == null) {
//登录失败
return new ResultVO(ResultEnum.WRONG_PASSWORD);
}
ResultVO resultVo = new ResultVO(ResultEnum.SUCCESS);
resultVo.setData(loginVO);
return resultVo;
}
@GetMapping("/check")
public ResultVO check(ServletRequest servletRequest) {
//用户名密码验证
HttpServletRequest request = (HttpServletRequest) servletRequest;
String token = request.getHeader("Authorization");
ResultVO resultVo;
if (token == null) {
resultVo = new ResultVO(ResultEnum.NO_TOKEN);
return resultVo;
}
LoginVO loginVO = userService.checkAuth(token);
resultVo = new ResultVO(ResultEnum.SUCCESS);
resultVo.setData(loginVO);
return resultVo;
}
@PutMapping("/userRole")
public ResultVO modifyUserRole(@RequestBody ModifyUserRoleDTO modifyUserRoleDTO) {
userService.modifyRole(modifyUserRoleDTO);
return new ResultVO(ResultEnum.SUCCESS);
}
@PutMapping("/userInfo")
public ResultVO changeUserInfo(@RequestBody ModifyUserInfoDTO modifyUserInfoDTO) {
userService.modifyUserInfo(modifyUserInfoDTO);
return new ResultVO(ResultEnum.SUCCESS);
}
@PutMapping("/pwd")
public ResultVO resetPwd(@RequestBody ResetPwdDTO resetPwdDTO) {
userService.resetPwd(resetPwdDTO);
return new ResultVO(ResultEnum.SUCCESS);
}
@PostMapping("/user")
public ResultVO createUser(@RequestBody CreateUserDTO createUserDTO) {
userService.addUser(createUserDTO);
return new ResultVO(ResultEnum.SUCCESS);
}
}