UserController.java 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. package com.diagbot.web;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.diagbot.annotation.SysLogger;
  4. import com.diagbot.dto.RespDTO;
  5. import com.diagbot.entity.User;
  6. import com.diagbot.facade.UserFacade;
  7. import com.diagbot.vo.UserSaveVO;
  8. import io.swagger.annotations.ApiOperation;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import org.springframework.web.bind.annotation.GetMapping;
  12. import org.springframework.web.bind.annotation.PostMapping;
  13. import org.springframework.web.bind.annotation.RequestBody;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RequestParam;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import springfox.documentation.annotations.ApiIgnore;
  18. import java.util.Map;
  19. /**
  20. * @Description: 用户对外接口层
  21. * @author: gaodm
  22. * @time: 2018/8/2 13:56
  23. */
  24. @RestController
  25. @RequestMapping("/user")
  26. public class UserController {
  27. @Autowired
  28. private UserFacade userFacade;
  29. @ApiOperation(value = "注册", notes = "username|password|organization|email|linkman|imgId|code为必填项")
  30. @PostMapping("/registry")
  31. @SysLogger("registry")
  32. @Transactional
  33. public RespDTO createUser(@RequestBody UserSaveVO userSaveVO){
  34. User user = userFacade.createUser(userSaveVO);
  35. return RespDTO.onSuc(user);
  36. }
  37. @ApiOperation(value = "登录", notes = "username|password为必选项")
  38. @PostMapping("/login")
  39. @SysLogger("login")
  40. public RespDTO login(@RequestParam String username, @RequestParam String password){
  41. return userFacade.login(username, password);
  42. }
  43. @ApiOperation(value = "重置密码", notes = "username|password为必选项")
  44. @PostMapping("/resetPassword")
  45. @SysLogger("resetPassword")
  46. public RespDTO resetPassword(String username, String password){
  47. return userFacade.resetPassword(username, password);
  48. }
  49. @ApiOperation(value = "根据用户名获取用户", notes = "根据用户名获取用户")
  50. @PostMapping("/getByUsername")
  51. @SysLogger("getByUsername")
  52. @ApiIgnore
  53. // @PreAuthorize("hasAnyAuthority('ROLE_USER')")
  54. public RespDTO getUserInfo(@RequestParam String username){
  55. //参数判读省略
  56. User user= userFacade.getUserInfo(username);
  57. return RespDTO.onSuc(user);
  58. }
  59. @ApiOperation(value = "根据用户id获取用户信息", notes = "根据用户id获取用户信息")
  60. @PostMapping("/getById")
  61. @SysLogger("getUserInfoByID")
  62. @ApiIgnore
  63. public RespDTO getUserInfoByID(Long id, Page page){
  64. //参数判读省略
  65. Page<Map> mapPage = new Page<>(page.getCurrent(),page.getSize());
  66. User userVo = new User();
  67. userVo.setId(id);
  68. Page<User> user= userFacade.selectUserListPage(mapPage, userVo);
  69. return RespDTO.onSuc(user);
  70. }
  71. // @ApiOperation(value = "注册事务", notes = "username和password为必选项")
  72. // @PostMapping("/registryTran")
  73. // @SysLogger("registryTran")
  74. // @Transactional
  75. // public RespDTO createUserTran(@RequestBody User user){
  76. // //参数判读省略,判读该用户在数据库是否已经存在省略
  77. // userFacade.createUser(user);
  78. // throw new CommonException(CommonErrorCode.FAIL);
  79. //// return RespDTO.onSuc(user);
  80. // }
  81. // @Autowired
  82. // private AmqpTemplate rabbitTemplate;
  83. // @GetMapping("/test")
  84. // public void test(){
  85. // rabbitTemplate.convertAndSend(RabbitConfig.queueName, "Hello from RabbitMQ!");
  86. // }
  87. /**
  88. * 增加用户
  89. * @param user 用户信息
  90. * @return 增加是否成功
  91. */
  92. @ApiOperation(value = "增加用户", notes = "username和password为必选项")
  93. @PostMapping("/addUser")
  94. @SysLogger("addUser")
  95. @Transactional
  96. @ApiIgnore
  97. public RespDTO addUser(@RequestBody User user){
  98. //参数判读省略,判读该用户在数据库是否已经存在省略
  99. userFacade.saveUser(user);
  100. // throw new CommonException(ErrorCode.FAIL);
  101. return RespDTO.onSuc(user);
  102. }
  103. /**
  104. * 修改用户
  105. * @param user 用户信息
  106. * @return 修改是否成功
  107. */
  108. @ApiOperation(value = "修改用户", notes = "username和password为必选项")
  109. @PostMapping("/updateUser")
  110. @SysLogger("updateUser")
  111. @Transactional
  112. @ApiIgnore
  113. public RespDTO updateUser(@RequestBody User user){
  114. //参数判读省略,判读该用户在数据库是否已经存在省略
  115. userFacade.updateUser(user);
  116. return RespDTO.onSuc(user);
  117. }
  118. /**
  119. * 查询用户信息
  120. * @param id 用户ID
  121. * @return 用户信息
  122. */
  123. @ApiOperation(value = "查询用户", notes = "查询用户")
  124. @GetMapping("/getUser")
  125. @SysLogger("getUser")
  126. @Transactional
  127. @ApiIgnore
  128. public RespDTO getUser(Long id){
  129. return RespDTO.onSuc(userFacade.getById(id));
  130. }
  131. /**
  132. * 删除用户
  133. * @param id 用户ID
  134. * @return 删除是否成功
  135. */
  136. @ApiOperation(value = "删除用户", notes = "删除用户")
  137. @PostMapping("/delUser")
  138. @SysLogger("delUser")
  139. @Transactional
  140. @ApiIgnore
  141. public RespDTO delUser(Long id){
  142. return RespDTO.onSuc(userFacade.removeById(id));
  143. }
  144. }