Browse Source

后台管理企业开通应用接口

huxz 8 years ago
parent
commit
1fbaf89b42

+ 7 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/api/UserSpaceManageController.java

@@ -44,4 +44,11 @@ public class UserSpaceManageController {
         spaceService.addUserToSpace(spaceUu, userUu);
         return new ResultBean<>(true);
     }
+
+    @RequestMapping(method = RequestMethod.PUT, path = "/{spaceUu}/bindAppWithSpace",
+            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public ResultBean<Boolean> bindAppWithSpace(@PathVariable("spaceUu") Long spaceUu, String appUid) {
+        spaceService.bindAppWithSpace(spaceUu, appUid);
+        return new ResultBean<>(true);
+    }
 }

+ 2 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/UserSpaceService.java

@@ -14,4 +14,6 @@ public interface UserSpaceService {
     Page<Userspace> showSpaceByPagination(Pageable page, String spaceName, String businessCode, Short validCode);
 
     void addUserToSpace(Long spaceUu, Long userUu);
+
+    void bindAppWithSpace(Long spaceUu, String appUid);
 }

+ 32 - 1
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/impl/UserSpaceServiceImpl.java

@@ -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);
+        }
+    }
 }