|
@@ -141,6 +141,7 @@ public class LoginServiceImpl implements LoginService {
|
|
|
new ModelMap("returnUrl", HttpUtil.decodeURL(loginParam.getReturnUrl()));
|
|
new ModelMap("returnUrl", HttpUtil.decodeURL(loginParam.getReturnUrl()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 取出token数据
|
|
|
JSONObject data = JSON.parseObject(JSON.toJSONString(tk.getBind()));
|
|
JSONObject data = JSON.parseObject(JSON.toJSONString(tk.getBind()));
|
|
|
Long userUU = data.getLong("userUU");
|
|
Long userUU = data.getLong("userUU");
|
|
|
Long spaceUU = data.getLong("spaceUU");
|
|
Long spaceUU = data.getLong("spaceUU");
|
|
@@ -148,6 +149,20 @@ public class LoginServiceImpl implements LoginService {
|
|
|
spaceUU = loginParam.getSpaceUU();
|
|
spaceUU = loginParam.getSpaceUU();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 当用户不在企业时,选择其他企业登录
|
|
|
|
|
+ User user = userService.findOne(userUU);
|
|
|
|
|
+ Long finalSpaceUU = spaceUU;
|
|
|
|
|
+ spaceUU = Optional.ofNullable(user)
|
|
|
|
|
+ .map(User::getUserSpaces)
|
|
|
|
|
+ .map(userspaces -> {
|
|
|
|
|
+ // 判断用户是否在该企业
|
|
|
|
|
+ for (Userspace userspace : userspaces) {
|
|
|
|
|
+ if (userspace.getSpaceUU().equals(finalSpaceUU)) {
|
|
|
|
|
+ return userspace.getSpaceUU();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }).orElse(null);
|
|
|
return login(userUU, spaceUU, loginParam);
|
|
return login(userUU, spaceUU, loginParam);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -225,6 +240,16 @@ public class LoginServiceImpl implements LoginService {
|
|
|
return getPwdErrorCount(user.getUserUU());
|
|
return getPwdErrorCount(user.getUserUU());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户登录
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param userUU 用户uu号
|
|
|
|
|
+ * @param spaceUU 企业uu号,
|
|
|
|
|
+ * 当企业uu号为1时,登录个人账号,
|
|
|
|
|
+ * 当企业uu号为空时,则返回可登录企业列表
|
|
|
|
|
+ * @param loginParam 登录参数
|
|
|
|
|
+ * @return 返回给前端的登录信息
|
|
|
|
|
+ */
|
|
|
private ModelMap login(Long userUU, Long spaceUU, BaseLogin loginParam) {
|
|
private ModelMap login(Long userUU, Long spaceUU, BaseLogin loginParam) {
|
|
|
App app = appService.findOne(loginParam.getAppId());
|
|
App app = appService.findOne(loginParam.getAppId());
|
|
|
if (app == null) {
|
|
if (app == null) {
|
|
@@ -253,7 +278,7 @@ public class LoginServiceImpl implements LoginService {
|
|
|
// 返回企业id和名称
|
|
// 返回企业id和名称
|
|
|
return getSpaceSelect(userAccounts, personalEnable);
|
|
return getSpaceSelect(userAccounts, personalEnable);
|
|
|
}
|
|
}
|
|
|
- } else if (personalEnable && Long.valueOf(spaceUU).equals(Const.SPACEUU_PERSONAL)) {
|
|
|
|
|
|
|
+ } else if (personalEnable && spaceUU.equals(Const.SPACEUU_PERSONAL)) {
|
|
|
// 使用个人账号登录
|
|
// 使用个人账号登录
|
|
|
userAccount = personalAccountService.findOneByUserUU(controlApp.getUid(), userUU);
|
|
userAccount = personalAccountService.findOneByUserUU(controlApp.getUid(), userUU);
|
|
|
} else {
|
|
} else {
|