疯狂的狮子Li
2024-06-18 cbd59f84fd7d688569cade242e4e9d6d0f381f15
ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
@@ -16,6 +16,7 @@
import org.dromara.common.core.domain.model.LoginUser;
import org.dromara.common.core.enums.LoginType;
import org.dromara.common.core.enums.TenantStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.utils.*;
import org.dromara.common.log.event.LogininforEvent;
@@ -78,6 +79,10 @@
        bo.setOpenId(authUserData.getUuid());
        bo.setUserName(authUserData.getUsername());
        bo.setNickName(authUserData.getNickname());
        List<SysSocialVo> checkList = sysSocialService.selectByAuthId(authId);
        if (CollUtil.isNotEmpty(checkList)) {
            throw new ServiceException("此三方账号已经被绑定!");
        }
        // 查询是否已经绑定用户
        SysSocialBo params = new SysSocialBo();
        params.setUserId(userId);
@@ -137,7 +142,6 @@
        SpringUtils.context().publishEvent(logininforEvent);
    }
    /**
     * 构建登录用户
     */
@@ -157,6 +161,7 @@
                dept = deptService.selectDeptById(user.getDeptId());
            }
            loginUser.setDeptName(ObjectUtil.isNull(dept) ? "" : dept.getDeptName());
            loginUser.setDeptCategory(ObjectUtil.isNull(dept) ? "" : dept.getDeptCategory());
            List<SysRoleVo> roles = roleService.selectRolesByUserId(user.getUserId());
            loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class));
        });
@@ -216,17 +221,17 @@
     *
     * @param tenantId 租户ID
     */
    public void checkTenant(String tenantId) {
    public SysTenantVo checkTenant(String tenantId) {
        if (!TenantHelper.isEnable()) {
            return;
        }
        if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) {
            return;
            return null;
        }
        if (StringUtils.isBlank(tenantId)) {
            throw new TenantException("tenant.number.not.blank");
        }
        SysTenantVo tenant = tenantService.queryByTenantId(tenantId);
        if (TenantConstants.DEFAULT_TENANT_ID.equals(tenantId)) {
            return tenant;
        }
        if (ObjectUtil.isNull(tenant)) {
            log.info("登录租户:{} 不存在.", tenantId);
            throw new TenantException("tenant.not.exists");
@@ -238,6 +243,7 @@
            log.info("登录租户:{} 已超过有效期.", tenantId);
            throw new TenantException("tenant.expired");
        }
        return tenant;
    }
}