Browse Source

用户更新权限错误修复

master
La123123 1 month ago
parent
commit
cbace1f689
  1. 10
      im-admin-ui/src/views/system/role/index.vue
  2. 4
      im-admin-ui/src/views/system/user/index.vue
  3. 29
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
  4. 17
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IImAgentAdminService.java
  5. 18
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImAgentAdminServiceImpl.java

10
im-admin-ui/src/views/system/role/index.vue

@ -77,15 +77,15 @@
<el-tooltip v-if="scope.row.roleId !== 1" content="修改" placement="top"> <el-tooltip v-if="scope.row.roleId !== 1" content="修改" placement="top">
<el-button v-hasPermi="['system:role:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button> <el-button v-hasPermi="['system:role:edit']" link type="primary" icon="Edit" @click="handleUpdate(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="scope.row.roleId !== 1" content="删除" placement="top"> <!-- <el-tooltip v-if="scope.row.roleId !== 1" content="删除" placement="top">
<el-button v-hasPermi="['system:role:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button> <el-button v-hasPermi="['system:role:remove']" link type="primary" icon="Delete" @click="handleDelete(scope.row)"></el-button>
</el-tooltip> </el-tooltip> -->
<el-tooltip v-if="scope.row.roleId !== 1" content="数据权限" placement="top"> <!-- <el-tooltip v-if="scope.row.roleId !== 1" content="数据权限" placement="top">
<el-button v-hasPermi="['system:role:edit']" link type="primary" icon="CircleCheck" @click="handleDataScope(scope.row)"></el-button> <el-button v-hasPermi="['system:role:edit']" link type="primary" icon="CircleCheck" @click="handleDataScope(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="scope.row.roleId !== 1" content="分配用户" placement="top"> <el-tooltip v-if="scope.row.roleId !== 1" content="分配用户" placement="top">
<el-button v-hasPermi="['system:role:edit']" link type="primary" icon="User" @click="handleAuthUser(scope.row)"></el-button> <el-button v-hasPermi="['system:role:edit']" link type="primary" icon="User" @click="handleAuthUser(scope.row)"></el-button>
</el-tooltip> </el-tooltip> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -113,7 +113,7 @@
权限字符 权限字符
</span> </span>
</template> </template>
<el-input v-model="form.roleKey" placeholder="请输入权限字符" /> <el-input v-model="form.roleKey" placeholder="请输入权限字符" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item label="角色顺序" prop="roleSort"> <el-form-item label="角色顺序" prop="roleSort">
<el-input-number v-model="form.roleSort" controls-position="right" :min="0" /> <el-input-number v-model="form.roleSort" controls-position="right" :min="0" />

4
im-admin-ui/src/views/system/user/index.vue

@ -123,9 +123,9 @@
<el-button v-hasPermi="['system:user:resetPwd']" link type="primary" icon="Key" @click="handleResetPwd(scope.row)"></el-button> <el-button v-hasPermi="['system:user:resetPwd']" link type="primary" icon="Key" @click="handleResetPwd(scope.row)"></el-button>
</el-tooltip> </el-tooltip>
<el-tooltip v-if="scope.row.userId !== 1" content="分配角色" placement="top"> <!-- <el-tooltip v-if="scope.row.userId !== 1" content="分配角色" placement="top">
<el-button v-hasPermi="['system:user:edit']" link type="primary" icon="CircleCheck" @click="handleAuthRole(scope.row)"></el-button> <el-button v-hasPermi="['system:user:edit']" link type="primary" icon="CircleCheck" @click="handleAuthRole(scope.row)"></el-button>
</el-tooltip> </el-tooltip> -->
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

29
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java

@ -72,7 +72,7 @@ public class SysUserController extends BaseController {
*/ */
@Log(title = "用户管理", businessType = BusinessType.EXPORT) @Log(title = "用户管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:user:export") @SaCheckPermission("system:user:export")
@PostMapping("/export") //@PostMapping("/export")
public void export(SysUserBo user, HttpServletResponse response) { public void export(SysUserBo user, HttpServletResponse response) {
List<SysUserExportVo> list = userService.selectUserExportList(user); List<SysUserExportVo> list = userService.selectUserExportList(user);
ExcelUtil.exportExcel(list, "用户数据", SysUserExportVo.class, response); ExcelUtil.exportExcel(list, "用户数据", SysUserExportVo.class, response);
@ -208,7 +208,30 @@ public class SysUserController extends BaseController {
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) { } else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在"); return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
} }
return toAjax(userService.updateUser(user));
int update = userService.updateUser(user);
if(update > 0){
SysUser newUser = userService.getUserByUserName(user.getUserName());
//获取该用户权限,判断是否拥有agentAdmin权限
List<String> permissions = userService.getPermissionsByUserId(newUser.getUserId());
//判断该用户是否拥有agentAdmin权限
if(permissions.contains("agentAdmin")){
//判断是否已经插入过代理端数据
if(imAgentService.isExistAgent(newUser.getUserId())){
//更新代理用户名
imAgentService.updateAgentName(newUser.getUserId(), newUser.getUserName());
return toAjax(update);
}
//插入代理端数据
int insertAgent = imAgentService.insertAgentData(newUser.getUserId(), newUser.getUserName());
return toAjax(insertAgent);
}
}
return toAjax(update);
} }
/** /**
@ -290,7 +313,7 @@ public class SysUserController extends BaseController {
*/ */
@SaCheckPermission("system:user:edit") @SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT) @Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole") //@PutMapping("/authRole")
public R<Void> insertAuthRole(Long userId, Long[] roleIds) { public R<Void> insertAuthRole(Long userId, Long[] roleIds) {
userService.checkUserDataScope(userId); userService.checkUserDataScope(userId);
userService.insertUserAuth(userId, roleIds); userService.insertUserAuth(userId, roleIds);

17
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/IImAgentAdminService.java

@ -82,5 +82,22 @@ public interface IImAgentAdminService {
String checkIsExpired(Long sysId); String checkIsExpired(Long sysId);
/**
* 判断是否已经存在代理
*
* @param sysId 系统用户id
* @return 是否已经存在代理
*/
boolean isExistAgent(Long sysId);
/**
* 更新代理名称
*
* @param sysId 系统用户id
* @param agentName 代理名称
*/
void updateAgentName(Long sysId,String agentName);
} }

18
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImAgentAdminServiceImpl.java

@ -3,6 +3,7 @@ package org.dromara.system.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
@ -189,5 +190,22 @@ public class ImAgentAdminServiceImpl implements IImAgentAdminService {
} }
@Override
public boolean isExistAgent(Long sysId) {
LambdaQueryWrapper<ImAgentAdmin> lqw = Wrappers.lambdaQuery();
lqw.eq(ImAgentAdmin::getSysId, sysId);
return baseMapper.selectCount(lqw) > 0;
}
@Override
public void updateAgentName(Long sysId, String agentName) {
LambdaUpdateWrapper<ImAgentAdmin> luw = Wrappers.lambdaUpdate();
luw.set(ImAgentAdmin::getAgentName, agentName);
luw.eq(ImAgentAdmin::getSysId, sysId);
baseMapper.update(null, luw);
}
} }

Loading…
Cancel
Save