|
|
@ -2,6 +2,8 @@ package org.dromara.system.controller.system; |
|
|
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission; |
|
|
import cn.dev33.satoken.annotation.SaCheckPermission; |
|
|
import cn.dev33.satoken.secure.BCrypt; |
|
|
import cn.dev33.satoken.secure.BCrypt; |
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
import cn.hutool.core.lang.tree.Tree; |
|
|
import cn.hutool.core.lang.tree.Tree; |
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
@ -23,14 +25,13 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.common.satoken.utils.LoginHelper; |
|
|
import org.dromara.common.tenant.helper.TenantHelper; |
|
|
import org.dromara.common.tenant.helper.TenantHelper; |
|
|
import org.dromara.common.web.core.BaseController; |
|
|
import org.dromara.common.web.core.BaseController; |
|
|
|
|
|
import org.dromara.system.domain.ImAgentAdmin; |
|
|
import org.dromara.system.domain.SysUser; |
|
|
import org.dromara.system.domain.SysUser; |
|
|
import org.dromara.system.domain.bo.SysDeptBo; |
|
|
import org.dromara.system.domain.bo.*; |
|
|
import org.dromara.system.domain.bo.SysPostBo; |
|
|
|
|
|
import org.dromara.system.domain.bo.SysRoleBo; |
|
|
|
|
|
import org.dromara.system.domain.bo.SysUserBo; |
|
|
|
|
|
import org.dromara.system.domain.vo.*; |
|
|
import org.dromara.system.domain.vo.*; |
|
|
import org.dromara.system.listener.SysUserImportListener; |
|
|
import org.dromara.system.listener.SysUserImportListener; |
|
|
import org.dromara.system.service.*; |
|
|
import org.dromara.system.service.*; |
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
import org.springframework.http.MediaType; |
|
|
import org.springframework.http.MediaType; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.validation.annotation.Validated; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
import org.springframework.web.bind.annotation.*; |
|
|
@ -55,6 +56,8 @@ public class SysUserController extends BaseController { |
|
|
private final ISysPostService postService; |
|
|
private final ISysPostService postService; |
|
|
private final ISysDeptService deptService; |
|
|
private final ISysDeptService deptService; |
|
|
private final ISysTenantService tenantService; |
|
|
private final ISysTenantService tenantService; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private IImAgentAdminService imAgentAdminService; |
|
|
|
|
|
|
|
|
private final IImAgentAdminService imAgentService; |
|
|
private final IImAgentAdminService imAgentService; |
|
|
|
|
|
|
|
|
@ -100,6 +103,29 @@ public class SysUserController extends BaseController { |
|
|
ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response); |
|
|
ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// /**
|
|
|
|
|
|
// * 获取用户信息
|
|
|
|
|
|
// *
|
|
|
|
|
|
// * @return 用户信息
|
|
|
|
|
|
// */
|
|
|
|
|
|
// @GetMapping("/getInfo")
|
|
|
|
|
|
// public R<UserInfoVo> getInfo() {
|
|
|
|
|
|
// UserInfoVo userInfoVo = new UserInfoVo();
|
|
|
|
|
|
// LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
|
|
|
// if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) {
|
|
|
|
|
|
// // 超级管理员 如果重新加载用户信息需清除动态租户
|
|
|
|
|
|
// TenantHelper.clearDynamic();
|
|
|
|
|
|
// }
|
|
|
|
|
|
// SysUserVo user = userService.selectUserById(loginUser.getUserId());
|
|
|
|
|
|
// if (ObjectUtil.isNull(user)) {
|
|
|
|
|
|
// return R.fail("没有权限访问用户数据!");
|
|
|
|
|
|
// }
|
|
|
|
|
|
// userInfoVo.setUser(user);
|
|
|
|
|
|
// userInfoVo.setPermissions(loginUser.getMenuPermission());
|
|
|
|
|
|
// userInfoVo.setRoles(loginUser.getRolePermission());
|
|
|
|
|
|
// return R.ok(userInfoVo);
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 获取用户信息 |
|
|
* 获取用户信息 |
|
|
* |
|
|
* |
|
|
@ -109,20 +135,54 @@ public class SysUserController extends BaseController { |
|
|
public R<UserInfoVo> getInfo() { |
|
|
public R<UserInfoVo> getInfo() { |
|
|
UserInfoVo userInfoVo = new UserInfoVo(); |
|
|
UserInfoVo userInfoVo = new UserInfoVo(); |
|
|
LoginUser loginUser = LoginHelper.getLoginUser(); |
|
|
LoginUser loginUser = LoginHelper.getLoginUser(); |
|
|
|
|
|
|
|
|
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { |
|
|
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) { |
|
|
// 超级管理员 如果重新加载用户信息需清除动态租户
|
|
|
// 超级管理员 如果重新加载用户信息需清除动态租户
|
|
|
TenantHelper.clearDynamic(); |
|
|
TenantHelper.clearDynamic(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
SysUserVo user = userService.selectUserById(loginUser.getUserId()); |
|
|
SysUserVo user = userService.selectUserById(loginUser.getUserId()); |
|
|
if (ObjectUtil.isNull(user)) { |
|
|
if (ObjectUtil.isNull(user)) { |
|
|
return R.fail("没有权限访问用户数据!"); |
|
|
return R.fail("没有权限访问用户数据!"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 获取 ImAgentAdmin 信息
|
|
|
|
|
|
ImAgentAdmin tokenInfo = getImAgentAdminBySysId(loginUser.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
// 如果不存在,创建新的
|
|
|
|
|
|
if (tokenInfo == null) { |
|
|
|
|
|
imAgentAdminService.insertAgentData(loginUser.getUserId(), user.getNickName()); |
|
|
|
|
|
tokenInfo = getImAgentAdminBySysId(loginUser.getUserId()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
userInfoVo.setUser(user); |
|
|
userInfoVo.setUser(user); |
|
|
|
|
|
userInfoVo.setTokenInfo(tokenInfo); |
|
|
userInfoVo.setPermissions(loginUser.getMenuPermission()); |
|
|
userInfoVo.setPermissions(loginUser.getMenuPermission()); |
|
|
userInfoVo.setRoles(loginUser.getRolePermission()); |
|
|
userInfoVo.setRoles(loginUser.getRolePermission()); |
|
|
|
|
|
|
|
|
return R.ok(userInfoVo); |
|
|
return R.ok(userInfoVo); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 根据 sysId 获取 ImAgentAdmin 信息 |
|
|
|
|
|
*/ |
|
|
|
|
|
private ImAgentAdmin getImAgentAdminBySysId(Long sysId) { |
|
|
|
|
|
ImAgentAdminBo bo = new ImAgentAdminBo(); |
|
|
|
|
|
bo.setSysId(sysId); |
|
|
|
|
|
|
|
|
|
|
|
List<ImAgentAdminVo> list = imAgentAdminService.queryList(bo); |
|
|
|
|
|
|
|
|
|
|
|
if (CollUtil.isNotEmpty(list)) { |
|
|
|
|
|
ImAgentAdminVo vo = list.get(0); |
|
|
|
|
|
// 转换为 ImAgentAdmin 实体
|
|
|
|
|
|
ImAgentAdmin admin = new ImAgentAdmin(); |
|
|
|
|
|
BeanUtil.copyProperties(vo, admin); |
|
|
|
|
|
return admin; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 根据用户编号获取详细信息 |
|
|
* 根据用户编号获取详细信息 |
|
|
* |
|
|
* |
|
|
|