You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

224 lines
5.9 KiB

3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
  1. package com.spring.modules.sys.controller;
  2. import com.spring.common.annotation.SysLog;
  3. import com.spring.common.constant.SysMsgConstant;
  4. import com.spring.common.utils.Constant;
  5. import com.spring.common.utils.PageUtils;
  6. import com.spring.common.utils.R;
  7. import com.spring.common.validator.Assert;
  8. import com.spring.common.validator.ValidatorUtils;
  9. import com.spring.common.validator.group.AddGroup;
  10. import com.spring.common.validator.group.UpdateGroup;
  11. import com.spring.modules.base.data.SysUserEntityData;
  12. import com.spring.modules.sys.dao.SysMenuDao;
  13. import com.spring.modules.sys.entity.SysUserEntity;
  14. import com.spring.modules.sys.entity.UserJobEntity;
  15. import com.spring.modules.sys.form.IfsPassWordForm;
  16. import com.spring.modules.sys.form.PasswordForm;
  17. import com.spring.modules.sys.service.SysUserRoleService;
  18. import com.spring.modules.sys.service.SysUserService;
  19. import org.apache.commons.lang.ArrayUtils;
  20. import org.apache.shiro.SecurityUtils;
  21. import org.apache.shiro.authz.annotation.RequiresPermissions;
  22. import org.apache.shiro.crypto.hash.Sha256Hash;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.util.List;
  26. import java.util.Map;
  27. /**
  28. * 系统用户
  29. *
  30. *
  31. */
  32. @RestController
  33. @RequestMapping("/sys/user")
  34. public class SysUserController extends AbstractController {
  35. @Autowired
  36. private SysUserService sysUserService;
  37. @Autowired
  38. private SysUserRoleService sysUserRoleService;
  39. @Autowired
  40. private SysMenuDao sysMenuDao;
  41. /**
  42. * 所有用户列表
  43. */
  44. @GetMapping("/list")
  45. @RequiresPermissions("sys:user:list")
  46. @ResponseBody
  47. public R list( SysUserEntityData params){
  48. //只有超级管理员,才能查看所有管理员列表
  49. if(getUserId() != Constant.SUPER_ADMIN&&sysMenuDao.checkSuperAdmin(((SysUserEntity) SecurityUtils.getSubject().getPrincipal()).getUserId()).size()==0){
  50. params.setCreateUserId(getUserId());
  51. }
  52. PageUtils page = sysUserService.queryPage(params);
  53. return R.ok().put("page", page);
  54. }
  55. /**
  56. * @author: sxm
  57. * @description: 获取用户列表非分页
  58. * @param [params]
  59. * @return: com.alteams.common.utils.R
  60. * @date: 2022/8/12 13:29
  61. */
  62. @PostMapping("/userList")
  63. public R userList(@RequestBody SysUserEntity params){
  64. List<SysUserEntity> list = sysUserService.userList(params);
  65. return R.ok().put("list", list);
  66. }
  67. /**
  68. * 获取登录的用户信息
  69. */
  70. @GetMapping("/info")
  71. public R info(){
  72. return R.ok().put("user", getUser());
  73. }
  74. /*
  75. * @Author li_she
  76. * @Description 修改用户默认语言
  77. * @Date 2021/6/2 11:10
  78. * @Param
  79. * @return
  80. **/
  81. @PostMapping("updateUserLanguageDefault")
  82. public R updateUserLanguageDefault(SysUserEntity userEntity){
  83. sysUserService.updateUserLanguageDefault(userEntity);
  84. return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000));
  85. }
  86. /**
  87. * 修改登录用户密码
  88. */
  89. @SysLog("修改密码")
  90. @PostMapping("/password")
  91. public R password(@RequestBody PasswordForm form){
  92. Assert.isBlank(form.getNewPassword(), getLanguageMsg(SysMsgConstant.OBJECT_ID_200611));
  93. //sha256加密
  94. String password = new Sha256Hash(form.getPassword(), getUser().getSalt()).toHex();
  95. //sha256加密
  96. String newPassword = new Sha256Hash(form.getNewPassword(), getUser().getSalt()).toHex();
  97. //更新密码
  98. boolean flag = sysUserService.updatePassword(getUserId(), password, newPassword);
  99. if(!flag){
  100. return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200216));
  101. }
  102. return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000));
  103. }
  104. @SysLog("修改IFS账号密码")
  105. @PostMapping("/updateIfsPassWord")
  106. public R updateIfsPassWord(@RequestBody IfsPassWordForm form){
  107. //更新密码
  108. boolean flag = sysUserService.updateIFSPassword(getUserId(), form.getIfsUsername(), form.getIfsPassword());
  109. if(!flag){
  110. return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200216));
  111. }
  112. return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000));
  113. }
  114. /**
  115. * 用户信息
  116. */
  117. @GetMapping("/info/{userId}")
  118. @RequiresPermissions("sys:user:info")
  119. public R info(@PathVariable("userId") Long userId){
  120. SysUserEntity user = sysUserService.getById(userId);
  121. //获取用户所属的角色列表
  122. List<Long> roleIdList = sysUserRoleService.queryRoleIdList(userId);
  123. user.setRoleIdList(roleIdList);
  124. return R.ok().put("user", user);
  125. }
  126. /**
  127. * 保存用户
  128. */
  129. @SysLog("保存用户")
  130. @PostMapping("/save")
  131. @RequiresPermissions("sys:user:save")
  132. public R save(@RequestBody SysUserEntity user){
  133. ValidatorUtils.validateEntity(user, AddGroup.class);
  134. user.setCreateUserId(getUserId());
  135. sysUserService.saveUser(user);
  136. return R.ok();
  137. }
  138. /**
  139. * 修改用户
  140. */
  141. @SysLog("修改用户")
  142. @PostMapping("/update")
  143. @RequiresPermissions("sys:user:update")
  144. public R update(@RequestBody SysUserEntity user){
  145. ValidatorUtils.validateEntity(user, UpdateGroup.class);
  146. user.setCreateUserId(getUserId());
  147. sysUserService.update(user);
  148. return R.ok();
  149. }
  150. /**
  151. * 删除用户
  152. */
  153. @SysLog("删除用户")
  154. @PostMapping("/delete")
  155. @RequiresPermissions("sys:user:delete")
  156. public R delete(@RequestBody Long[] userIds){
  157. if(ArrayUtils.contains(userIds, 1L)){
  158. return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200217));
  159. }
  160. if(ArrayUtils.contains(userIds, getUserId())){
  161. return R.error(getLanguageMsg(SysMsgConstant.OBJECT_ID_200218));
  162. }
  163. sysUserService.deleteBatch(userIds);
  164. return R.ok();
  165. }
  166. /*
  167. * @Author li_she
  168. * @Description 修改用户默认语言
  169. * @Date 2021/6/3 14:36
  170. * @Param user
  171. * @return R
  172. **/
  173. @PostMapping("updateUserLanguage")
  174. public R updateUserLanguage(@RequestBody SysUserEntity user){
  175. user.setUserId(getUserId());
  176. sysUserService.updateUserLanguageDefault(user);
  177. return R.ok();
  178. }
  179. /**
  180. * 修改状态
  181. * @param user
  182. * @return
  183. */
  184. @PostMapping("updateUserStatus")
  185. public R updateUserStatus(@RequestBody SysUserEntity user){
  186. SysUserEntity user1 = getUser();
  187. System.out.println(user1);
  188. sysUserService.update(user);
  189. return R.ok();
  190. }
  191. }