SysUserController.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package com.kmall.common.controller;
  2. import com.kmall.common.annotation.SysLog;
  3. import com.kmall.common.entity.SysUserEntity;
  4. import com.kmall.common.service.SysUserRoleService;
  5. import com.kmall.common.service.SysUserService;
  6. import com.kmall.common.utils.*;
  7. import com.kmall.common.validator.Assert;
  8. import com.kmall.common.validator.ValidatorUtils;
  9. import com.kmall.common.validator.group.AddGroup;
  10. import com.kmall.common.validator.group.UpdateGroup;
  11. import org.apache.commons.lang.ArrayUtils;
  12. import org.apache.shiro.authz.annotation.RequiresPermissions;
  13. import org.apache.shiro.crypto.hash.Sha256Hash;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.web.bind.annotation.*;
  16. import java.util.List;
  17. import java.util.Map;
  18. /**
  19. * 系统用户
  20. *
  21. * @author Scott
  22. * @email
  23. * @date 2016年10月31日 上午10:40:10
  24. */
  25. @RestController
  26. @RequestMapping("/sys/user")
  27. public class SysUserController extends AbstractController {
  28. @Autowired
  29. private SysUserService sysUserService;
  30. @Autowired
  31. private SysUserRoleService sysUserRoleService;
  32. /**
  33. * 所有用户列表
  34. */
  35. @RequestMapping("/list")
  36. @RequiresPermissions("sys:user:list")
  37. public R list(@RequestParam Map<String, Object> params) {
  38. //只有超级管理员,才能查看所有管理员列表
  39. if (getUserId() != Constant.SUPER_ADMIN) {
  40. params.put("createUserId", getUserId());
  41. }
  42. //查询列表数据
  43. Query query = new Query(params);
  44. List<SysUserEntity> userList = sysUserService.queryList(query);
  45. int total = sysUserService.queryTotal(query);
  46. PageUtils pageUtil = new PageUtils(userList, total, query.getLimit(), query.getPage());
  47. return R.ok().put("page", pageUtil);
  48. }
  49. /**
  50. * 获取登录的用户信息
  51. */
  52. @RequestMapping("/info")
  53. public R info() {
  54. return R.ok().put("user", getUser());
  55. }
  56. /**
  57. * 修改登录用户密码
  58. */
  59. @SysLog("修改密码")
  60. @RequestMapping("/password")
  61. public R password(String password, String newPassword) {
  62. Assert.isBlank(password, "原密码不为能空");
  63. Assert.isBlank(newPassword, "新密码不为能空");
  64. //sha256加密
  65. password = new Sha256Hash(password).toHex();
  66. //sha256加密
  67. newPassword = new Sha256Hash(newPassword).toHex();
  68. //更新密码
  69. int count = sysUserService.updatePassword(getUserId(), password, newPassword);
  70. if (count == 0) {
  71. return R.error("原密码不正确");
  72. }
  73. //退出
  74. ShiroUtils.logout();
  75. return R.ok();
  76. }
  77. /**
  78. * 用户信息
  79. */
  80. @RequestMapping("/info/{userId}")
  81. @RequiresPermissions("sys:user:info")
  82. public R info(@PathVariable("userId") Long userId) {
  83. SysUserEntity user = sysUserService.queryObject(userId);
  84. //获取用户所属的角色列表
  85. List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);
  86. user.setRoleIdList(roleIdList);
  87. return R.ok().put("user", user);
  88. }
  89. /**
  90. * 保存用户
  91. */
  92. @SysLog("保存用户")
  93. @RequestMapping("/save")
  94. @RequiresPermissions("sys:user:save")
  95. public R save(@RequestBody SysUserEntity user) {
  96. //ValidatorUtils.validateEntity(user);
  97. user.setCreateUserId(getUserId());
  98. sysUserService.save(user);
  99. return R.ok();
  100. }
  101. /**
  102. * 修改用户
  103. */
  104. @SysLog("修改用户")
  105. @RequestMapping("/update")
  106. @RequiresPermissions("sys:user:update")
  107. public R update(@RequestBody SysUserEntity user) {
  108. //ValidatorUtils.validateEntity(user);
  109. user.setCreateUserId(getUserId());
  110. sysUserService.update(user);
  111. return R.ok();
  112. }
  113. /**
  114. * 删除用户
  115. */
  116. @SysLog("删除用户")
  117. @RequestMapping("/delete")
  118. @RequiresPermissions("sys:user:delete")
  119. public R delete(@RequestBody Long[] userIds) {
  120. if (ArrayUtils.contains(userIds, 1L)) {
  121. return R.error("系统管理员不能删除");
  122. }
  123. if (ArrayUtils.contains(userIds, getUserId())) {
  124. return R.error("当前用户不能删除");
  125. }
  126. sysUserService.deleteBatch(userIds);
  127. return R.ok();
  128. }
  129. }