107 lines
3.5 KiB
Java
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);
|
|
}
|
|
|
|
|
|
}
|