Browse Source

后台管理添加用户所在企业接口

wangmh 7 years ago
parent
commit
d23bacfed6

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

@@ -92,4 +92,12 @@ public class UserSpaceManageController {
 
         return new ResultBean<>(spaceService.loadSpaceValid(spaceUU));
     }
+
+
+    @RequestMapping(method = RequestMethod.GET, path = "//showUserSpaceByPagination",
+            produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+    public ResultBean<org.springframework.data.domain.Page<Userspace>> showUserSpaceByPagination(Pageable page, Long userUU) {
+
+        return new ResultBean<>(spaceService.showUserSpaceByPagination(page, userUU));
+    }
 }

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

@@ -1,5 +1,6 @@
 package com.uas.sso.sso.backend.service;
 
+import com.uas.sso.entity.User;
 import com.uas.sso.entity.Userspace;
 import com.uas.sso.entity.UserspaceValid;
 import com.uas.sso.sso.backend.dto.UpdateSpaceInfo;
@@ -43,4 +44,12 @@ public interface UserSpaceService {
      * @return  企业认证信息
      */
     UserspaceValid loadSpaceValid(Long spaceUU);
+
+    /**
+     * 分页获取用户所在企业
+     * @param page
+     * @param userUU
+     * @return
+     */
+    Page<Userspace> showUserSpaceByPagination(Pageable page, Long userUU);
 }

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

@@ -328,6 +328,26 @@ public class UserSpaceServiceImpl implements UserSpaceService {
         return CollectionUtils.isEmpty(validList) ? null : validList.get(0);
     }
 
+    @Override
+    public Page<Userspace> showUserSpaceByPagination(Pageable page, Long userUU) {
+        return userspaceDao.findAll(new Specification<Userspace>() {
+            @Override
+            public Predicate toPredicate(Root<Userspace> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                List<Predicate> predicates = new ArrayList<>();
+
+                if (userUU != null) {
+                    Predicate predicate = cb.isMember(new User(userUU), root.get("users"));
+                    predicates.add(predicate);
+                }
+                Predicate[] array = new Predicate[predicates.size()];
+                predicates.toArray(array);
+                Predicate predicate = cb.and(array);
+                query.where(predicate);
+                return null;
+            }
+        }, page);
+    }
+
     /**
      * 业务逻辑校验-企业UU对应企业是否存在
      *

+ 4 - 0
sso-server/src/main/java/com/uas/sso/entity/User.java

@@ -228,6 +228,10 @@ public class User implements Serializable {
     public User() {
     }
 
+    public User(Long userUU) {
+        this.userUU = userUU;
+    }
+
     public Long getUserUU() {
         return userUU;
     }

+ 2 - 0
sso-server/src/main/java/com/uas/sso/entity/Userspace.java

@@ -227,6 +227,7 @@ public class Userspace implements Serializable {
     /**
      * 私钥
      */
+    @com.fasterxml.jackson.annotation.JsonIgnore
     @Column(name = "access_secret")
     private String accessSecret;
 
@@ -249,6 +250,7 @@ public class Userspace implements Serializable {
     /**
      * 企业开通的应用
      */
+    @com.fasterxml.jackson.annotation.JsonIgnore
     @ManyToMany(fetch = FetchType.LAZY)
     @JoinTable(name = "sso$app_userspace",
             joinColumns = {@JoinColumn(name="space_uu", referencedColumnName="spaceuu")},