|
|
@@ -8,6 +8,8 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.security.config.SecurityProperties;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
+import cn.iocoder.yudao.module.employee.api.EmployeeApi;
|
|
|
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*;
|
|
|
import cn.iocoder.yudao.module.system.convert.auth.AuthConvert;
|
|
|
@@ -68,6 +70,9 @@ public class AuthController {
|
|
|
@Resource
|
|
|
private TenantService tenantService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private EmployeeApi employeeApi;
|
|
|
+
|
|
|
@PostMapping("/login")
|
|
|
@PermitAll
|
|
|
@Operation(summary = "使用账号密码登录")
|
|
|
@@ -96,7 +101,7 @@ public class AuthController {
|
|
|
}
|
|
|
|
|
|
@GetMapping("/get-permission-info")
|
|
|
- @Operation(summary = "获取登录用户的权限信息")
|
|
|
+ @Operation(summary = "获取登录用户对应员工的权限信息")
|
|
|
public CommonResult<AuthPermissionInfoRespVO> getPermissionInfo() {
|
|
|
// 1.1 获得用户信息
|
|
|
AdminUserDO user = userService.getUser(getLoginUserId());
|
|
|
@@ -104,14 +109,31 @@ public class AuthController {
|
|
|
return success(null);
|
|
|
}
|
|
|
AdminUserRespDTO dto = BeanUtils.toBean(user, AdminUserRespDTO.class);
|
|
|
- TenantDO tenantDO = tenantService.getTenant(user.getTenantId()); // 获得租户信息,用于判断是否需要切换租户
|
|
|
+ // 根据用户ID查询员工信息
|
|
|
+ EmployeeRespDTO employee = employeeApi.getEmployeeByUserId(user.getId());
|
|
|
+ if (employee != null) {
|
|
|
+ // 设置员工ID
|
|
|
+ dto.setId(employee.getId());
|
|
|
+ // 设置员工昵称
|
|
|
+ dto.setNickname(employee.getName());
|
|
|
+ // 设置员工头像
|
|
|
+ dto.setAvatar(employee.getAvatar());
|
|
|
+ // 设置员工部门ID
|
|
|
+ dto.setDeptId(employee.getDeptId());
|
|
|
+ // 设置员工手机号
|
|
|
+ dto.setMobile(employee.getPhone());
|
|
|
+ } else {
|
|
|
+ return success(null, "员工信息为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ TenantDO tenantDO = tenantService.getTenant(dto.getTenantId()); // 获得租户信息,用于判断是否需要切换租户
|
|
|
if (tenantDO != null && tenantDO.getName() != null) {
|
|
|
dto.setTenantName(tenantDO.getName());
|
|
|
dto.setCorpId(tenantDO.getCorpId());
|
|
|
}
|
|
|
|
|
|
// 1.2 获得角色列表
|
|
|
- Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(getLoginUserId());
|
|
|
+ Set<Long> roleIds = permissionService.getUserRoleIdListByUserId(dto.getId());
|
|
|
if (CollUtil.isEmpty(roleIds)) {
|
|
|
return success(AuthConvert.INSTANCE.convert(dto, Collections.emptyList(), Collections.emptyList()));
|
|
|
}
|