Ver código fonte

fix:注销用户接口改造

wangbo 2 anos atrás
pai
commit
8526374fd0

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

@@ -128,11 +128,6 @@ public class KeycloakController {
         return keycloakService.updateUser(userId , credential , Constant.RESET_PASSWORD);
     }
 
-    @DeleteMapping("/admin/users/{userId}")
-    public Response enableSwitch(@PathVariable("userId") String userId){
-        return keycloakService.removeUser(userId);
-    }
-
     @PutMapping("/admin/users/role/configure")
     public Response roleMapping(@RequestBody UsersRoleMappingDTO ssersRoleMappingDTO){
         return keycloakService.roleMapping(ssersRoleMappingDTO);
@@ -169,11 +164,4 @@ public class KeycloakController {
     public Response addKeyclaokTenant(@PathVariable("id")String id){
         return keycloakService.removeGroup(id);
     }
-
-
-    @PostMapping("/super/admin/test")
-    public Response keycloakTest(@RequestBody UserRepresentation userRepresentation){
-        return SingleResponse.of(keycloakService.getUserListByIds("inspur" , Collections.singletonList("f3f27e4b-8dee-4168-97ad-69392ef68af2")));
-    }
-
 }

+ 19 - 0
smsb-customer-manager-adapter/src/main/java/com/inspur/customer/web/controller/org/SmsbDepartmentController.java

@@ -3,7 +3,9 @@ package com.inspur.customer.web.controller.org;
 import com.alibaba.cola.dto.PageResponse;
 import com.alibaba.cola.dto.Response;
 import com.alibaba.cola.dto.SingleResponse;
+import com.inspur.customer.client.keycloak.KeycloakService;
 import com.inspur.customer.client.org.SmsbDepartmentService;
+import com.inspur.customer.client.org.SmsbDepartmentUserService;
 import com.inspur.customer.object.org.*;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.keycloak.representations.idm.UserRepresentation;
@@ -22,6 +24,10 @@ public class SmsbDepartmentController {
 
     @DubboReference
     private SmsbDepartmentService departmentService;
+    @DubboReference
+    private SmsbDepartmentUserService userService;
+    @DubboReference
+    private KeycloakService service;
 
     @PostMapping("/admin/department")
     public Response addDepartment(@RequestHeader String userId, @Valid @RequestBody SmsbDepartmentAdd smsbDepartmentAdd){
@@ -74,4 +80,17 @@ public class SmsbDepartmentController {
         return departmentService.regrouping(smsbRegrouping);
     }
 
+    @DeleteMapping("/admin/users/{uId}")
+    public Response enableSwitch(@RequestHeader String userId,
+                                 @PathVariable("uId") String uId,
+                                 @Valid @RequestBody OperationAuthority authority){
+        Response checkResponse = departmentService.checkOperationAuthority(userId, authority.getTenant());
+        if(!checkResponse.isSuccess()){return checkResponse;}
+        if(userService.removeUser(uId)){
+            return service.removeUser(uId);
+        }else{
+            return Response.buildFailure("500","注销用户失败!");
+        }
+    }
+
 }

+ 0 - 1
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/org/SmsbDepartmentServiceImpl.java

@@ -5,7 +5,6 @@ import com.alibaba.cola.dto.Response;
 import com.alibaba.cola.dto.SingleResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.inspur.customer.client.keycloak.KeycloakService;

+ 7 - 0
smsb-customer-manager-app/src/main/java/com/inspur/customer/service/org/SmsbDepartmentUserServiceImpl.java

@@ -1,6 +1,7 @@
 package com.inspur.customer.service.org;
 
 import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -49,4 +50,10 @@ public class SmsbDepartmentUserServiceImpl extends ServiceImpl<SmsbDepartmentUse
         List<String> userIds = page.getRecords().stream().map(j -> j.getUserId()).distinct().collect(Collectors.toList());
         return PageResponse.of(userIds, (int) page.getTotal(), (int) page.getSize(), (int) page.getCurrent());
     }
+
+    @Override
+    public Boolean removeUser(String userId) {
+        return super.remove(new LambdaQueryWrapper<>(SmsbDepartmentUserDO.class)
+            .eq(SmsbDepartmentUserDO::getUserId , userId));
+    }
 }

+ 10 - 0
smsb-customer-manager-client/src/main/java/com/inspur/customer/client/org/SmsbDepartmentUserService.java

@@ -1,6 +1,7 @@
 package com.inspur.customer.client.org;
 
 import com.alibaba.cola.dto.PageResponse;
+import com.alibaba.cola.dto.Response;
 import com.inspur.customer.object.org.SmsbDepartmentCmd;
 import org.keycloak.representations.idm.UserRepresentation;
 
@@ -39,4 +40,13 @@ public interface SmsbDepartmentUserService {
      * @return
      */
     PageResponse<String> queryUserIdByDeprIds(List<Long> departments , SmsbDepartmentCmd departmentCmd);
+
+
+    /**
+     * 注销用户
+     *
+     * @param userId
+     * @return
+     */
+    Boolean removeUser(String userId);
 }