SysUserController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. package com.diagbot.web;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.diagbot.annotation.SysLogger;
  4. import com.diagbot.dto.JwtDTO;
  5. import com.diagbot.dto.LoginDTO;
  6. import com.diagbot.dto.ModifyPasswordVO;
  7. import com.diagbot.dto.RespDTO;
  8. import com.diagbot.dto.SysUserDeptDTO;
  9. import com.diagbot.dto.SysUserQueryDTO;
  10. import com.diagbot.dto.SysUserRoleDTO;
  11. import com.diagbot.entity.Token;
  12. import com.diagbot.facade.SysUserFacade;
  13. import com.diagbot.facade.TokenFacade;
  14. import com.diagbot.vo.JwtVO;
  15. import com.diagbot.vo.SysUserBaseVO;
  16. import com.diagbot.vo.SysUserDeptVO;
  17. import com.diagbot.vo.SysUserQueryVO;
  18. import com.diagbot.vo.SysUserRoleVO;
  19. import com.diagbot.vo.UserLoginNoPassVO;
  20. import com.diagbot.vo.UserLoginVO;
  21. import io.swagger.annotations.Api;
  22. import io.swagger.annotations.ApiOperation;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.security.oauth2.common.OAuth2AccessToken;
  25. import org.springframework.transaction.annotation.Transactional;
  26. import org.springframework.web.bind.annotation.GetMapping;
  27. import org.springframework.web.bind.annotation.PostMapping;
  28. import org.springframework.web.bind.annotation.RequestBody;
  29. import org.springframework.web.bind.annotation.RequestMapping;
  30. import org.springframework.web.bind.annotation.RestController;
  31. import springfox.documentation.annotations.ApiIgnore;
  32. import javax.servlet.http.HttpServletRequest;
  33. import javax.servlet.http.HttpServletResponse;
  34. import javax.validation.Valid;
  35. import java.io.IOException;
  36. /**
  37. * @Description: 用户账号API
  38. * @author: gaodm
  39. * @time: 2018/8/2 13:56
  40. */
  41. @RestController
  42. @Api(value = "用户账号API", tags = { "用户账号API" })
  43. @RequestMapping("/sys/user")
  44. @SuppressWarnings("unchecked")
  45. public class SysUserController {
  46. @Autowired
  47. private SysUserFacade userFacade;
  48. @Autowired
  49. private TokenFacade tokenFacade;
  50. @ApiOperation(value = "验证token有效性[by:gaodm]",
  51. notes = "token:token信息,必填<br>")
  52. @PostMapping("/verifyToken")
  53. @SysLogger("verifyToken")
  54. @ApiIgnore
  55. public RespDTO<Boolean> verifyToken(@RequestBody Token token) {
  56. Boolean data = tokenFacade.verifyToken(token.getToken(), 1);
  57. return RespDTO.onSuc(data);
  58. }
  59. @ApiOperation(value = "登录获取jwt[by:gaodm]",
  60. notes = "username:用户名,必填<br>" +
  61. "password:密码, 必填, 默认密码:dc483e80a7a0bd9ef71d8cf973673924<br> ")
  62. @PostMapping("/getJwt")
  63. @SysLogger("getJwt")
  64. public RespDTO<JwtDTO> getJwt(HttpServletRequest request,@RequestBody UserLoginVO userLoginVO) {
  65. JwtDTO data = userFacade.getJwt(request,userLoginVO.getUsername(), userLoginVO.getPassword(),userLoginVO.getCaptcha());
  66. return RespDTO.onSuc(data);
  67. }
  68. @ApiOperation(value = "获取验证码[by:cy]")
  69. @GetMapping("/getCaptcha")
  70. @SysLogger("getCaptcha")
  71. public void getCaptcha(HttpServletRequest request, HttpServletResponse response) throws IOException {
  72. userFacade.getCaptcha(request, response);
  73. }
  74. @ApiOperation(value = "登录获取jwt[by:gaodm]",
  75. notes = "username:用户名,必填<br>")
  76. @PostMapping("/getJwtNoPass")
  77. @SysLogger("getJwtNoPass")
  78. public RespDTO<JwtDTO> getJwtNoPass(@RequestBody UserLoginNoPassVO userLoginNoPassVO) {
  79. JwtDTO data = userFacade.getJwtNoPass(userLoginNoPassVO.getUsername());
  80. return RespDTO.onSuc(data);
  81. }
  82. @ApiOperation(value = "刷新jwt[by:gaodm]",
  83. notes = "refreshToken:刷新令牌,必填<br>")
  84. @PostMapping("/refreshJwt")
  85. @SysLogger("refreshJwt")
  86. public RespDTO<JwtDTO> refreshJwt(@RequestBody JwtVO jwtVO) {
  87. JwtDTO data = userFacade.refreshJwt(jwtVO.getToken());
  88. return RespDTO.onSuc(data);
  89. }
  90. @ApiOperation(value = "验证Token[by:gaodm]",
  91. notes = "checkToken:令牌,必填<br>")
  92. @PostMapping("/checkToken")
  93. @SysLogger("checkToken")
  94. public RespDTO<OAuth2AccessToken> checkToken(@RequestBody JwtVO jwtVO) {
  95. OAuth2AccessToken data = userFacade.checkToken(jwtVO.getToken());
  96. return RespDTO.onSuc(data);
  97. }
  98. @ApiOperation(value = "修改密码[by:gaodm]",
  99. notes = "password:原密码,必填<br>" +
  100. "modifyPassword:新密码, 必填<br> ")
  101. @PostMapping("/midifyPassword")
  102. @SysLogger("midifyPassword")
  103. @Transactional
  104. public RespDTO<Boolean> midifyPassword(@RequestBody ModifyPasswordVO modifyPasswordVO) {
  105. Boolean flag = userFacade.modifyPassword(modifyPasswordVO.getPassword(), modifyPasswordVO.getModifyPassword());
  106. return RespDTO.onSuc(flag);
  107. }
  108. @ApiOperation(value = "获取用户、医院、菜单信息[by:gaodm]",
  109. notes = "")
  110. @PostMapping("/getUserOrgMenu")
  111. @SysLogger("getUserOrgMenu")
  112. public RespDTO<LoginDTO> getUserOrgMenu() {
  113. LoginDTO data = userFacade.getUserOrgMenu();
  114. return RespDTO.onSuc(data);
  115. }
  116. //-------------用户维护BEGAIN------------------------
  117. @ApiOperation(value = "用户列表翻页信息查询[by:gaodm]",
  118. notes = "")
  119. @PostMapping("/userPage")
  120. @SysLogger("userPage")
  121. public RespDTO<IPage<SysUserQueryDTO>> userPage(@RequestBody SysUserQueryVO sysUserQueryVO) {
  122. return RespDTO.onSuc(userFacade.userPageFac(sysUserQueryVO));
  123. }
  124. @ApiOperation(value = "获取用户科室[by:gaodm]",
  125. notes = "")
  126. @PostMapping("/getUserDepts")
  127. @SysLogger("getUserDepts")
  128. public RespDTO<SysUserDeptDTO> getUserDepts(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
  129. return RespDTO.onSuc(userFacade.getUserDepts(sysUserBaseVO));
  130. }
  131. @ApiOperation(value = "获取用户角色[by:gaodm]",
  132. notes = "")
  133. @PostMapping("/getUserRoles")
  134. @SysLogger("getUserRoles")
  135. public RespDTO<SysUserRoleDTO> getUserRoles(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
  136. return RespDTO.onSuc(userFacade.getUserRoles(sysUserBaseVO));
  137. }
  138. @ApiOperation(value = "用户启用[by:gaodm]",
  139. notes = "")
  140. @PostMapping("/enable")
  141. @SysLogger("enable")
  142. @Transactional
  143. public RespDTO<Boolean> enable(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
  144. return RespDTO.onSuc(userFacade.enable(sysUserBaseVO));
  145. }
  146. @ApiOperation(value = "用户停用[by:gaodm]",
  147. notes = "")
  148. @PostMapping("/disable")
  149. @SysLogger("disable")
  150. @Transactional
  151. public RespDTO<Boolean> disable(@RequestBody @Valid SysUserBaseVO sysUserBaseVO) {
  152. return RespDTO.onSuc(userFacade.disable(sysUserBaseVO));
  153. }
  154. @ApiOperation(value = "编辑用户科室[by:gaodm]",
  155. notes = "")
  156. @PostMapping("/editUserDepts")
  157. @SysLogger("editUserDepts")
  158. @Transactional
  159. public RespDTO<Boolean> editUserDepts(@RequestBody @Valid SysUserDeptVO sysUserDeptVO) {
  160. return RespDTO.onSuc(userFacade.editUserDepts(sysUserDeptVO));
  161. }
  162. @ApiOperation(value = "编辑用户角色[by:gaodm]",
  163. notes = "")
  164. @PostMapping("/editUserRoles")
  165. @SysLogger("editUserRoles")
  166. @Transactional
  167. public RespDTO<Boolean> editUserRoles(@RequestBody @Valid SysUserRoleVO sysUserRoleVO) {
  168. return RespDTO.onSuc(userFacade.editUserRoles(sysUserRoleVO));
  169. }
  170. //-------------用户维护END---------------------------
  171. }