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 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); } }