Browse Source

后台管理获取用户关联企业和应用的接口

huxz 8 years ago
parent
commit
19fc39386a

+ 8 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/api/UserManageController.java

@@ -1,11 +1,14 @@
 package com.uas.sso.sso.backend.api;
 
 import com.uas.sso.entity.User;
+import com.uas.sso.entity.Userspace;
 import com.uas.sso.sso.backend.service.UserService;
 import com.uas.sso.sso.backend.support.ResultBean;
+import java.util.Set;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -36,5 +39,10 @@ public class UserManageController {
         return new ResultBean<>(userService.showUserByPagination(page, name, phone));
     }
 
+    @RequestMapping(method = RequestMethod.GET, path = "/{userUU}/findSpacesByUser",
+            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public ResultBean<Set<Userspace>> findSpacesByUser(@PathVariable("userUU") Long userUu) {
 
+        return new ResultBean<>(userService.findSpacesByUser(userUu));
+    }
 }

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

@@ -38,16 +38,16 @@ public class UserSpaceManageController {
         return new ResultBean<>(spaceService.showSpaceByPagination(page, spaceName, businessCode, validCode));
     }
 
-    @RequestMapping(method = RequestMethod.PUT, path = "/{spaceUu}/addUserToSpace",
+    @RequestMapping(method = RequestMethod.PUT, path = "/{spaceUU}/addUserToSpace",
             produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public ResultBean<Boolean> addUserToSpace(@PathVariable("spaceUu") Long spaceUu, Long userUu) {
+    public ResultBean<Boolean> addUserToSpace(@PathVariable("spaceUU") Long spaceUu, Long userUu) {
         spaceService.addUserToSpace(spaceUu, userUu);
         return new ResultBean<>(true);
     }
 
-    @RequestMapping(method = RequestMethod.PUT, path = "/{spaceUu}/bindAppWithSpace",
+    @RequestMapping(method = RequestMethod.PUT, path = "/{spaceUU}/bindAppWithSpace",
             produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
-    public ResultBean<Boolean> bindAppWithSpace(@PathVariable("spaceUu") Long spaceUu, String appUid) {
+    public ResultBean<Boolean> bindAppWithSpace(@PathVariable("spaceUU") Long spaceUu, String appUid) {
         spaceService.bindAppWithSpace(spaceUu, appUid);
         return new ResultBean<>(true);
     }

+ 4 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/UserService.java

@@ -1,7 +1,9 @@
 package com.uas.sso.sso.backend.service;
 
 import com.uas.sso.entity.User;
+import com.uas.sso.entity.Userspace;
 import java.util.List;
+import java.util.Set;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 
@@ -15,4 +17,6 @@ public interface UserService {
     List<User> showAllUsers();
 
     Page<User> showUserByPagination(Pageable page, String name, String phone);
+
+    Set<Userspace> findSpacesByUser(Long userUu);
 }

+ 17 - 0
sso-manage-console/src/main/java/com/uas/sso/sso/backend/service/impl/UserServiceImpl.java

@@ -2,10 +2,13 @@ package com.uas.sso.sso.backend.service.impl;
 
 import com.uas.sso.dao.UserDao;
 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.UserService;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 import javax.persistence.criteria.Predicate;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -63,4 +66,18 @@ public class UserServiceImpl implements UserService {
             return null;
         }, page);
     }
+
+    @Override
+    public Set<Userspace> findSpacesByUser(Long userUu) {
+        if (userUu == null) {
+            throw new ValidationFailedException("用户UU不能为空");
+        }
+
+        final User user = userDao.findOne(userUu);
+        if (user == null) {
+            throw new ValidationFailedException(String.format("UU %d 对应用户不存在", userUu));
+        }
+
+        return user.getUserSpaces();
+    }
 }

+ 25 - 1
sso-server/src/main/java/com/uas/sso/entity/User.java

@@ -1,9 +1,21 @@
 package com.uas.sso.entity;
 
-import javax.persistence.*;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import java.io.Serializable;
 import java.sql.Timestamp;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToMany;
+import javax.persistence.OneToMany;
+import javax.persistence.OneToOne;
+import javax.persistence.Table;
 
 /**
  * 用户信息
@@ -182,6 +194,10 @@ public class User implements Serializable {
     @JoinColumn(name = "useruu", nullable = false)
     private List<UserQuestion> questions;
 
+    @JsonIgnore
+    @ManyToMany(mappedBy = "users")
+    private Set<Userspace> userSpaces = new HashSet<>();
+
     public User() {
     }
 
@@ -400,4 +416,12 @@ public class User implements Serializable {
     public void setQuestions(List<UserQuestion> questions) {
         this.questions = questions;
     }
+
+    public Set<Userspace> getUserSpaces() {
+        return userSpaces;
+    }
+
+    public void setUserSpaces(Set<Userspace> userSpaces) {
+        this.userSpaces = userSpaces;
+    }
 }