|
@@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi;
|
|
|
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO;
|
|
|
import cn.iocoder.yudao.module.system.api.social.dto.SocialUserRespDTO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*;
|
|
|
+import cn.iocoder.yudao.module.system.controller.admin.user.vo.tenant.UserTenantRelateSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.system.convert.auth.AuthConvert;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
|
@@ -24,6 +25,7 @@ import cn.iocoder.yudao.module.system.service.member.MemberService;
|
|
|
import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService;
|
|
|
import cn.iocoder.yudao.module.system.service.social.SocialUserService;
|
|
|
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
|
|
|
+import cn.iocoder.yudao.module.system.service.user.UserTenantRelateService;
|
|
|
import com.google.common.annotations.VisibleForTesting;
|
|
|
import com.xingyuv.captcha.model.common.ResponseModel;
|
|
|
import com.xingyuv.captcha.model.vo.CaptchaVO;
|
|
@@ -66,6 +68,9 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
|
|
@Resource
|
|
|
private SmsCodeApi smsCodeApi;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private UserTenantRelateService userTenantRelateService;
|
|
|
+
|
|
|
/**
|
|
|
* 验证码的开关,默认为 true
|
|
|
*/
|
|
@@ -121,6 +126,11 @@ public class AdminAuthServiceImpl implements AdminAuthService {
|
|
|
// socialUserService.bindSocialUser(new SocialUserBindReqDTO(user.getId(), getUserType().getValue(),
|
|
|
// reqVO.getSocialType(), reqVO.getSocialCode(), reqVO.getSocialState()));
|
|
|
// }
|
|
|
+ // 登录后,设置用户当前所在租户标记
|
|
|
+ // 将这个用户所有租户关系设为不生效
|
|
|
+ userTenantRelateService.deactivateAllForUser(reqVO.getId());
|
|
|
+ // 将这个用户的这个租户关系设为生效
|
|
|
+ userTenantRelateService.activateForUser(new UserTenantRelateSaveReqVO().setUserId(reqVO.getId()).setTenantId(reqVO.getTenantId()));
|
|
|
// 创建 Token 令牌,记录登录日志
|
|
|
return createTokenAfterLoginSuccess(reqVO.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME,reqVO.getTenantId());
|
|
|
}
|