Browse Source

feat:增加租户管理

wangbo 2 years ago
parent
commit
e1faa694c8

+ 25 - 1
smsb-customer-manager-adapter/src/main/java/com/inspur/customer/web/controller/keyclaok/KeycloakController.java

@@ -109,7 +109,7 @@ public class KeycloakController {
         return keycloakService.removeGroup(id);
     }
 
-    @PostMapping("/admin/users/add")
+    @PostMapping("/admin/users")
     public Response addKeyClaokUser(@RequestBody UserRepresentation userRepresentation){
         if(StringUtils.isEmpty(userRepresentation.getUsername())){
             return Response.buildFailure("500","userName不能为空!");
@@ -161,4 +161,28 @@ public class KeycloakController {
         return keycloakService.queryUserCredentials(userId);
     }
 
+    @PutMapping("/keycloak/users/attribute")
+    public Response updateUserAttribute(@RequestHeader String userId , @RequestBody UserRepresentation representation){
+        if(CollectionUtils.isEmpty(representation.getAttributes())){
+            return Response.buildFailure("500","用户属性不能为空!");
+        }
+        return keycloakService.updateUser(userId , representation ,Constant.RESET_ATTRBUTE);
+    }
+
+    @PostMapping("/super/damin/tenant")
+    public Response addKeyclaokTenant(@RequestBody GroupRepresentation groupRepresentation){
+        if(StringUtils.isEmpty(groupRepresentation.getName())){
+            return Response.buildFailure("500","name不能为空!");
+        }
+        if(CollectionUtils.isEmpty(groupRepresentation.getAttributes())){
+            return Response.buildFailure("500","attributes不能为空!");
+        }
+        return keycloakService.addKeyclaokTenant(groupRepresentation);
+    }
+
+    @DeleteMapping("/super/damin/tenant/{id}")
+    public Response addKeyclaokTenant(@PathVariable("id")String id){
+        return keycloakService.removeGroup(id);
+    }
+
 }

+ 8 - 0
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/keycloak/KeycloakServiceImpl.java

@@ -282,6 +282,9 @@ public class KeycloakServiceImpl implements KeycloakService {
                 CredentialRepresentation credential = (CredentialRepresentation) representation;
                 user.setCredentials(Stream.of(credential).collect(Collectors.toList()));
                 break;
+            case Constant.RESET_ATTRBUTE:
+                UserRepresentation userRepresentation = (UserRepresentation) representation;
+                user.setAttributes(userRepresentation.getAttributes());
             default:
                 break;
         }
@@ -332,4 +335,9 @@ public class KeycloakServiceImpl implements KeycloakService {
     public Response queryUserCredentials(String userId) {
         return SingleResponse.of(realmResource.users().get(userId).credentials());
     }
+
+    @Override
+    public Response addKeyclaokTenant(GroupRepresentation groupRepresentation) {
+        return SingleResponse.of(realmResource.groups().add(groupRepresentation).getDate());
+    }
 }

+ 8 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/client/keycloak/KeycloakService.java

@@ -163,4 +163,12 @@ public interface KeycloakService {
      * @return
      */
     Response queryUserCredentials(String userId);
+
+    /**
+     * 新增租户
+     *
+     * @param groupRepresentation
+     * @return
+     */
+    Response addKeyclaokTenant(GroupRepresentation groupRepresentation);
 }

+ 6 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/constant/Constant.java

@@ -17,6 +17,12 @@ public final class Constant {
      */
     public static final int RESET_PASSWORD = 2;
 
+    /**
+     * 重置用户属性
+     */
+    public static final int RESET_ATTRBUTE = 3;
+
+
     /**
      * 凭证类型
      */