SysUserController.java 4.6 KB

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