|
|
@@ -1,7 +1,9 @@
|
|
|
package com.uas.sso.sso.backend.service.impl;
|
|
|
|
|
|
+import com.uas.sso.dao.AppDao;
|
|
|
import com.uas.sso.dao.UserDao;
|
|
|
import com.uas.sso.dao.UserspaceDao;
|
|
|
+import com.uas.sso.entity.App;
|
|
|
import com.uas.sso.entity.User;
|
|
|
import com.uas.sso.entity.Userspace;
|
|
|
import com.uas.sso.sso.backend.exceptions.ValidationFailedException;
|
|
|
@@ -29,10 +31,14 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
|
|
|
private final UserDao userDao;
|
|
|
|
|
|
+ private final AppDao appDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
- public UserSpaceServiceImpl(UserspaceDao userspaceDao, UserDao userDao) {
|
|
|
+ public UserSpaceServiceImpl(UserspaceDao userspaceDao, UserDao userDao,
|
|
|
+ AppDao appDao) {
|
|
|
this.userspaceDao = userspaceDao;
|
|
|
this.userDao = userDao;
|
|
|
+ this.appDao = appDao;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -92,4 +98,29 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
userspaceDao.save(space);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = RuntimeException.class)
|
|
|
+ public void bindAppWithSpace(Long spaceUu, String appUid) {
|
|
|
+ if (spaceUu == null || StringUtils.isEmpty(appUid)) {
|
|
|
+ throw new ValidationFailedException("企业UU或应用Uid不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ Userspace space = userspaceDao.findOne(spaceUu);
|
|
|
+ if (space == null) {
|
|
|
+ throw new ValidationFailedException(String.format("UU %d 对应企业不存在", spaceUu));
|
|
|
+ }
|
|
|
+
|
|
|
+ App app = appDao.findOne(appUid);
|
|
|
+ if (app == null) {
|
|
|
+ throw new ValidationFailedException(String.format("应用 %s 对不存在", appUid));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<App> apps = space.getApps();
|
|
|
+ if (!apps.contains(app)) {
|
|
|
+ apps.add(app);
|
|
|
+
|
|
|
+ userspaceDao.save(space);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|