UserController.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. package com.xintong.visualinspection.controller;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.beans.factory.annotation.Value;
  6. import org.springframework.security.authentication.encoding.Md5PasswordEncoder;
  7. import org.springframework.security.core.context.SecurityContextHolder;
  8. import org.springframework.web.bind.annotation.PathVariable;
  9. import org.springframework.web.bind.annotation.RequestBody;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RequestMethod;
  12. import org.springframework.web.bind.annotation.RestController;
  13. import com.github.pagehelper.PageHelper;
  14. import com.github.pagehelper.PageInfo;
  15. import com.xintong.system.err.BusinessException;
  16. import com.xintong.system.securityTools.RedisCacheUtil;
  17. import com.xintong.visualinspection.bean.User;
  18. import com.xintong.visualinspection.service.AuthService;
  19. import com.xintong.visualinspection.service.RoleService;
  20. import com.xintong.visualinspection.service.UserService;
  21. import com.xintong.visualinspection.util.CacheUtil;
  22. /**
  23. * 文件名:TestController
  24. * 版本信息:日期:2017/3/30 Copyright 江苏省交通规划设计院 Corporation 2017 版权所有.
  25. */
  26. /**
  27. * @author wenhongquan
  28. *
  29. */
  30. @RestController
  31. @RequestMapping("/user")
  32. public class UserController extends BaseController {
  33. @Autowired
  34. private UserService userService;
  35. @Autowired
  36. private AuthService authService;
  37. @Autowired
  38. private RoleService roleService;
  39. @Autowired
  40. private RedisCacheUtil redisCacheUtil;
  41. @Value("${jwt.header}")
  42. private String tokenHeader;
  43. @RequestMapping(value = "/auth/login",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
  44. public String login(@RequestBody User user){
  45. User u = authService.login(user.getUsername(), user.getPassword());
  46. u.setOrganname(CacheUtil.getOrgannameFromMap(new Long(u.getOrganid())));
  47. u.setPassword(null);
  48. return returnSuccessResult("登陆成功", u);
  49. }
  50. @RequestMapping(value = "/logout",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
  51. public String logout(){
  52. //获取用户名
  53. String username = SecurityContextHolder.getContext().getAuthentication().getName();
  54. if(username!=null){
  55. redisCacheUtil.removeForUserName(username);
  56. }
  57. //返回成功
  58. return returnResult(0, "退出成功", null);
  59. }
  60. /**
  61. * 添加用户
  62. * @return
  63. * String
  64. * @exception
  65. * @since 1.0.0
  66. */
  67. @RequestMapping(value = "/addUser",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
  68. public String addUser(@RequestBody User user) throws Exception{
  69. user.setPassword(new Md5PasswordEncoder().encodePassword(user.getPassword(), null));
  70. userService.insert(user);
  71. List<User> us=userService.getUsers(user);
  72. if(us.size()==1){
  73. if(user.getRoleids()!=null){
  74. for(String id:user.getRoleids()){
  75. roleService.roleBindUser(Integer.parseInt(id), us.get(0).getId());
  76. }
  77. }
  78. }
  79. CacheUtil.refreshUserMap(userService);
  80. return returnResult(0, "添加成功", null);
  81. }
  82. /**
  83. * 修改用户
  84. * @return
  85. * String
  86. * @exception
  87. * @since 1.0.0
  88. */
  89. @RequestMapping(value = "/updateUser/{userid}",method=RequestMethod.PUT,produces="application/json;charset=UTF-8")
  90. public String updateUser(@RequestBody User user,@PathVariable int userid){
  91. try{
  92. user.setId(userid);
  93. if(user.getPassword()!=null && user.getPassword()!=""){
  94. user.setPassword(new Md5PasswordEncoder().encodePassword(user.getPassword(), null));
  95. }else{
  96. user.setPassword(null);
  97. }
  98. if(user.getRoleids()!=null){
  99. roleService.roleUnBindUser(user.getId());
  100. for(String id:user.getRoleids()){
  101. roleService.roleBindUser(Integer.parseInt(id), user.getId());
  102. }
  103. }
  104. userService.update(user);
  105. CacheUtil.refreshUserMap(userService);
  106. return super.returnResult(0, "修改成功", null);
  107. }catch(Exception e){
  108. throw new BusinessException(20003);
  109. }
  110. }
  111. /**
  112. * 删除用户(软删除)
  113. * @return
  114. * String
  115. * @exception
  116. * @since 1.0.0
  117. */
  118. @RequestMapping(value = "/deleteUser/{userid}",method=RequestMethod.DELETE,produces="application/json;charset=UTF-8")
  119. public String deleteUser(@PathVariable Integer userid){
  120. try{
  121. userService.delete((userid));
  122. CacheUtil.refreshUserMap(userService);
  123. return returnResult(0, "删除成功", null);
  124. }catch(Exception e){
  125. throw new BusinessException(20002);
  126. }
  127. }
  128. /**
  129. * 获取所用用户
  130. * @param page
  131. * @param size
  132. * @return
  133. */
  134. @RequestMapping(value = "/get/all/{page}/{size}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
  135. public String getallUsers(@PathVariable Integer page,@PathVariable Integer size ,HttpServletRequest request){
  136. try{
  137. PageHelper.startPage(page, size);
  138. List<User> users= userService.getAll();
  139. return returnResult(0, "获取成功", new PageInfo(users));
  140. }catch(Exception e){
  141. throw new BusinessException(20001);
  142. }
  143. }
  144. @RequestMapping(value = "/getUserList",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
  145. public String getUsers(@RequestBody User user){
  146. try{
  147. List<User> users= userService.getUsers(user);
  148. return returnResult(0, "获取成功", users);
  149. }catch(Exception e){
  150. throw new BusinessException(20001);
  151. }
  152. }
  153. @RequestMapping(value = "/getUserById/{userid}",method=RequestMethod.GET,produces="application/json;charset=UTF-8")
  154. public String getUser(@PathVariable Integer userid){
  155. User u = userService.getOne(userid);
  156. return returnResult(0, "获取成功", u);
  157. }
  158. @RequestMapping(value = "/getAllCheckman",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
  159. public String getAllCheckman(){
  160. try{
  161. List<User> users= userService.getAllCheckmans();
  162. return returnResult(0, "获取成功", users);
  163. }catch(Exception e){
  164. throw new BusinessException(20001);
  165. }
  166. }
  167. @RequestMapping(value = "/getFsUserList",method=RequestMethod.POST,produces="application/json;charset=UTF-8")
  168. public String getFsUsers(@RequestBody User user){
  169. try{
  170. List<User> users= userService.getFsUserByDeptId(user);
  171. return returnResult(0, "获取成功", users);
  172. }catch(Exception e){
  173. throw new BusinessException(20001);
  174. }
  175. }
  176. }