|
|
@@ -1,6 +1,8 @@
|
|
|
package com.uas.sso.sso.backend.service.impl;
|
|
|
|
|
|
+import com.uas.sso.dao.UserDao;
|
|
|
import com.uas.sso.dao.UserspaceDao;
|
|
|
+import com.uas.sso.entity.User;
|
|
|
import com.uas.sso.entity.Userspace;
|
|
|
import com.uas.sso.sso.backend.exceptions.ValidationFailedException;
|
|
|
import com.uas.sso.sso.backend.service.UserSpaceService;
|
|
|
@@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
|
import org.springframework.data.domain.Pageable;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
/**
|
|
|
@@ -24,9 +27,12 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
|
|
|
private final UserspaceDao userspaceDao;
|
|
|
|
|
|
+ private final UserDao userDao;
|
|
|
+
|
|
|
@Autowired
|
|
|
- public UserSpaceServiceImpl(UserspaceDao userspaceDao) {
|
|
|
+ public UserSpaceServiceImpl(UserspaceDao userspaceDao, UserDao userDao) {
|
|
|
this.userspaceDao = userspaceDao;
|
|
|
+ this.userDao = userDao;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -61,4 +67,29 @@ public class UserSpaceServiceImpl implements UserSpaceService {
|
|
|
return null;
|
|
|
}, page);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = RuntimeException.class)
|
|
|
+ public void addUserToSpace(Long spaceUu, Long userUu) {
|
|
|
+ if (spaceUu == null || userUu == null) {
|
|
|
+ throw new ValidationFailedException("企业UU和用户UU不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ Userspace space = userspaceDao.findOne(spaceUu);
|
|
|
+ if (space == null) {
|
|
|
+ throw new ValidationFailedException(String.format("UU %d 对应企业不存在", spaceUu));
|
|
|
+ }
|
|
|
+
|
|
|
+ User user = userDao.findOne(userUu);
|
|
|
+ if (user == null) {
|
|
|
+ throw new ValidationFailedException(String.format("UU %d 对应用户不存在", userUu));
|
|
|
+ }
|
|
|
+
|
|
|
+ List<User> users = space.getUsers();
|
|
|
+ if (!users.contains(user)) {
|
|
|
+ users.add(user);
|
|
|
+
|
|
|
+ userspaceDao.save(space);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|