From 643cccdfd2c00285cfdce0be609f7cd909207ad6 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 07 二月 2025 16:07:21 +0800
Subject: [PATCH] bug修改
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java | 97 +++++++++++++++++++++++++++---------------------
1 files changed, 55 insertions(+), 42 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
index dc848a4..e14b510 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -1,47 +1,35 @@
package com.ruoyi.system.controller;
-import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.chargingPile.api.feignClient.SiteClient;
import com.ruoyi.chargingPile.api.model.Site;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.page.PageInfo;
+import com.ruoyi.common.security.service.TokenService;
+import com.ruoyi.common.security.annotation.Logical;
import com.ruoyi.other.api.domain.TUserSite;
import com.ruoyi.other.api.feignClient.RoleSiteClient;
import com.ruoyi.other.api.feignClient.UserSiteClient;
import com.ruoyi.system.api.query.ChangeUserQuery;
-import com.ruoyi.system.domain.dto.IndexDto;
-import com.ruoyi.system.domain.vo.UserRoleVO;
import com.ruoyi.system.api.model.*;
import com.ruoyi.system.domain.SysUserRole;
-import com.ruoyi.system.domain.dto.AddCompanyUserDto;
-import com.ruoyi.system.domain.vo.CompanyUserVo;
-import com.ruoyi.system.domain.vo.TCompanyToUserVo;
import com.ruoyi.system.query.GetSysUserList;
+import com.ruoyi.system.query.ShopUserStart;
import com.ruoyi.system.service.*;
+import io.seata.core.context.RootContext;
import io.seata.spring.annotation.GlobalTransactional;
import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.core.domain.R;
-import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
@@ -102,6 +90,7 @@
/**
* 获取用户列表
*/
+ @RequiresPermissions(value = {"/systemUserManagement", "/roleManagement/info"}, logical = Logical.OR)
@GetMapping("/list")
@ApiOperation(value = "获取系统用户列表", tags = {"管理后台-系统用户管理", "管理后台-角色管理"})
public AjaxResult list(GetSysUserList getSysUserList) {
@@ -122,6 +111,7 @@
/**
* 新增用户
*/
+ @RequiresPermissions(value = {"/systemUserManagement/add"}, logical = Logical.OR)
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ApiOperation(value = "添加系统用户", tags = {"管理后台-系统用户管理"})
@@ -158,6 +148,7 @@
}
+ @RequiresPermissions(value = {"/systemUserManagement/add", "/systemUserManagement/update"}, logical = Logical.OR)
@GetMapping("/verifyUserNameRepeat/{username}")
@ApiOperation(value = "校验账号是否重复", tags = {"管理后台-系统用户管理"})
public AjaxResult verifyUserNameRepeat(@PathVariable String username){
@@ -169,11 +160,17 @@
return success();
}
+
+
+ @RequiresPermissions(value = {"/systemUserManagement/update"}, logical = Logical.OR)
@GetMapping("/getRoleSiteName/{roleId}")
@ApiOperation(value = "获取角色对应的站点名称", tags = {"管理后台-系统用户管理"})
public AjaxResult<List<String>> getRoleSiteName(@PathVariable Integer roleId){
List<Integer> ids = roleSiteClient.getSiteIds(roleId.longValue()).getData();
List<Site> data = siteClient.getSiteByIds(ids).getData();
+ if(null == data){
+ return AjaxResult.success(new ArrayList<>());
+ }
List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList());
return AjaxResult.success(siteNames);
}
@@ -210,6 +207,7 @@
/**
* 修改用户
*/
+ @RequiresPermissions(value = {"/systemUserManagement/update"}, logical = Logical.OR)
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/update")
@ApiOperation(value = "编辑系统用户", tags = {"管理后台-系统用户管理"})
@@ -251,11 +249,18 @@
if (user.getPhonenumber() != null) {
user.setUserName(user.getPhonenumber());
}
- user.setPassword(null);
user.setUpdateBy(SecurityUtils.getUsername());
user.setUpdateTime(new Date());
userService.updateUser(user);
-
+
+ //删除旧的角色数据,添加新的角色
+ userRoleService.remove(new LambdaQueryWrapper<SysUserRole>().eq(SysUserRole::getUserId, user.getUserId()));
+ //添加新的角色数据
+ SysUserRole userRole = new SysUserRole();
+ userRole.setUserId(user.getUserId());
+ userRole.setRoleId(user.getRoleId());
+ userRoleService.save(userRole);
+
//删除旧的站点数据后添加新的
userSiteClient.delUserSite(user.getUserId());
List<Integer> siteIds = user.getSiteIds();
@@ -270,15 +275,17 @@
return success();
}
-
+ @Resource
+ private TokenService tokenService;
/**
* 删除用户
*/
+ @RequiresPermissions(value = {"/systemUserManagement/del"}, logical = Logical.OR)
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
@ApiOperation(value = "删除系统用户", tags = {"管理后台-系统用户管理"})
public AjaxResult remove(@PathVariable Long[] userIds) {
- if (ArrayUtils.contains(userIds, SecurityUtils.getUserId())) {
+ if (ArrayUtils.contains(userIds, tokenService.getLoginUser().getUserid())) {
return error("当前用户不能删除");
}
return toAjax(userService.deleteUserByIds(userIds));
@@ -287,19 +294,20 @@
+ @RequiresPermissions(value = {"/systemUserManagement/forbidden"}, logical = Logical.OR)
@PostMapping("/shopUserStart")
@ApiOperation(value = "账号管理--禁用/启用", tags = {"管理后台-系统用户管理"})
- public AjaxResult shopUserStart(@RequestParam("userId") Long userId, @RequestParam("remark") String remark) {
- if (userId == null) {
+ public AjaxResult shopUserStart(@RequestBody ShopUserStart shopUserStart) {
+ if (shopUserStart.getUserId() == null) {
return AjaxResult.error("userId不能为空");
}
- SysUser sysUser = userService.selectUserById(userId);
+ SysUser sysUser = userService.selectUserById(shopUserStart.getUserId());
if (sysUser.getStatus().equals("0")) {
sysUser.setStatus("1");
- sysUser.setRemark(remark);
+ sysUser.setForbiddenRemark(shopUserStart.getRemark());
} else {
sysUser.setStatus("0");
- sysUser.setRemark("");
+ sysUser.setForbiddenRemark("");
}
return toAjax(userService.updateUser(sysUser));
}
@@ -366,7 +374,7 @@
}
@PostMapping("/getSysUser")
- public R<SysUser> getSysUser(@RequestBody Long userId) {
+ public R<SysUser> getSysUser(@RequestParam("userId") Long userId) {
try {
SysUser sysUser = userService.selectUserById(userId);
return R.ok(sysUser);
@@ -383,11 +391,13 @@
sysUser.setUpdateBy(SecurityUtils.getUsername());
sysUser.setUpdateTime(new Date());
userService.updateUser(sysUser);
- userRoleService.deleteSysUserRoleByUserId(sysUser.getUserId());
- SysUserRole sysUserRole = new SysUserRole();
- sysUserRole.setRoleId(sysUser.getRoleId());
- sysUserRole.setUserId(sysUser.getUserId());
- userRoleService.insertSysUserRole(sysUserRole);
+ if(null != sysUser.getRoleId()){
+ userRoleService.deleteSysUserRoleByUserId(sysUser.getUserId());
+ SysUserRole sysUserRole = new SysUserRole();
+ sysUserRole.setRoleId(sysUser.getRoleId());
+ sysUserRole.setUserId(sysUser.getUserId());
+ userRoleService.insertSysUserRole(sysUserRole);
+ }
return R.ok(true);
} catch (Exception e) {
e.printStackTrace();
@@ -519,7 +529,7 @@
*/
@GetMapping("/getInfo")
public AjaxResult getInfo() {
- SysUser user = userService.selectUserById(SecurityUtils.getUserId());
+ SysUser user = userService.selectUserById(tokenService.getLoginUser().getUserid());
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
// 权限集合
@@ -535,7 +545,7 @@
/**
* 重置密码
*/
- @RequiresPermissions("system:user:edit")
+ @RequiresPermissions(value = {"/systemUserManagement/reset_passwords"}, logical = Logical.OR)
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
@ApiOperation(value = "重置密码", tags = {"管理后台-系统用户管理"})
@@ -550,7 +560,6 @@
/**
* 状态修改
*/
- @RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user) {
@@ -563,7 +572,6 @@
/**
* 根据用户编号获取授权角色
*/
- @RequiresPermissions("system:user:query")
@GetMapping("/authRole/{userId}")
public AjaxResult authRole(@PathVariable("userId") Long userId) {
AjaxResult ajax = AjaxResult.success();
@@ -577,7 +585,6 @@
/**
* 用户授权角色
*/
- @RequiresPermissions("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole")
public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
@@ -589,7 +596,6 @@
/**
* 获取部门树列表
*/
- @RequiresPermissions("system:user:list")
@GetMapping("/deptTree")
public AjaxResult deptTree(SysDept dept) {
return success(deptService.selectDeptTreeList(dept));
@@ -694,16 +700,16 @@
@ResponseBody
@PostMapping("/addSysUser")
@Transactional(rollbackFor = Exception.class)
- public R addSysUser(@RequestBody SysUser user){
+ public R<Long> addSysUser(@RequestBody SysUser user) {
if(StringUtils.isEmpty(user.getUserName())){
user.setUserName(user.getPhonenumber());
}
if(!org.springframework.util.StringUtils.hasLength(user.getNickName())){
user.setNickName(user.getPhonenumber());
}
- if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
- throw new RuntimeException("手机号已开通账号");
- }
+// if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
+// throw new RuntimeException("手机号已开通账号");
+// }
if (StringUtils.isNotEmpty(user.getUserName()) && !userService.checkUserNameUnique(user)) {
throw new RuntimeException("登录账号已存在");
}
@@ -717,7 +723,7 @@
sysUserRole.setRoleId(user.getRoleId());
sysUserRole.setUserId(user.getUserId());
userRoleService.insertSysUserRole(sysUserRole);
- return R.ok();
+ return R.ok(user.getUserId());
}
@@ -729,4 +735,11 @@
userService.resetPwd(user);
return R.ok();
}
+
+
+ @ResponseBody
+ @PostMapping("/getSysUserById")
+ public SysUser getSysUserById(@RequestParam("userId") Long userId){
+ return userService.getById(userId);
+ }
}
--
Gitblit v1.7.1