From cc1a6c0d577547d0b03e57f64556f0e0f68e8edc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com>
Date: Thu, 2 Jun 2022 14:02:04 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=A7=92=E8=89=B2=E5=85=B3?=
 =?UTF-8?q?=E8=81=94=E5=88=A0=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 portal-manager/doc/api.md                     |  2 +-
 .../role/service/impl/RoleServiceImpl.java    | 32 ++++++++++++++++++-
 .../user/service/impl/UserServiceImpl.java    |  1 -
 3 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/portal-manager/doc/api.md b/portal-manager/doc/api.md
index 8a7e1550..09f98489 100644
--- a/portal-manager/doc/api.md
+++ b/portal-manager/doc/api.md
@@ -690,7 +690,7 @@ data|object|鏁版嵁瀵硅薄
 **鍝嶅簲娑堟伅鏍蜂緥:**
 ```
 {
-    "msg":"鏂板妯″潡鎴愬姛",
+    "msg":"鏂板鎴愬姛",
     "code":1,
     "data":{}
     }
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/role/service/impl/RoleServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/module/role/service/impl/RoleServiceImpl.java
index f296e3bf..f118267f 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/role/service/impl/RoleServiceImpl.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/role/service/impl/RoleServiceImpl.java
@@ -8,22 +8,52 @@
 
 package com.mortals.xhx.module.role.service.impl;
 
+import com.mortals.framework.exception.AppException;
+import com.mortals.framework.model.Context;
 import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.xhx.module.role.dao.RoleDao;
-import com.mortals.xhx.module.role.model.RoleEntity;
+import com.mortals.xhx.module.role.model.*;
+import com.mortals.xhx.module.role.service.RoleAuthService;
 import com.mortals.xhx.module.role.service.RoleService;
+import com.mortals.xhx.module.role.service.RoleUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.util.Arrays;
 
 /**
  * <p>Title: 瑙掕壊淇℃伅</p>
  * <p>Description: RoleServiceImpl service鎺ュ彛 </p>
  * <p>Copyright: Copyright &reg;  </p>
  * <p>Company: </p>
+ *
  * @author
  * @version 1.0.0
  */
 @Service("roleService")
 public class RoleServiceImpl extends AbstractCRUDServiceImpl<RoleDao, RoleEntity, Long> implements RoleService {
 
+    @Autowired
+    private RoleAuthService roleAuthService;
+    @Autowired
+    private RoleUserService roleUserService;
+
+    @Override
+    protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
+        RoleAuthQuery roleAuthQuery = new RoleAuthQuery();
+        roleAuthQuery.setRoleIdList(Arrays.asList(ids));
+        Long[] roleAuthIds = roleAuthService.find(roleAuthQuery).stream().map(RoleAuthEntity::getId).toArray(Long[]::new);
+        if (!ObjectUtils.isEmpty(roleAuthIds)) {
+            roleAuthService.remove(roleAuthIds, context);
+        }
 
+        RoleUserQuery roleUserQuery = new RoleUserQuery();
+        roleUserQuery.setRoleIdList(Arrays.asList(ids));
+        Long[] roleUserIds = roleUserService.find(roleUserQuery).stream().map(RoleUserEntity::getId).toArray(Long[]::new);
+        if (!ObjectUtils.isEmpty(roleUserIds)) {
+            roleUserService.remove(roleUserIds, context);
+        }
+        super.removeAfter(ids, context, result);
+    }
 }
\ No newline at end of file
diff --git a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
index 7c3e2bca..6f02cfd3 100644
--- a/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
+++ b/portal-manager/src/main/java/com/mortals/xhx/module/user/service/impl/UserServiceImpl.java
@@ -56,7 +56,6 @@ public class UserServiceImpl extends AbstractCRUDServiceImpl<UserDao, UserEntity
             if(!ObjectUtils.isEmpty(collect.get(item.getId()))){
                 item.setRoleId(collect.get(item.getId()).stream().map(RoleUserEntity::getRoleId).map(String::valueOf).collect(Collectors.joining(",")));
                 item.setRoleName(collect.get(item.getId()).stream().map(m->roleMap.get(m.getRoleId())).filter(f->f!=null).collect(Collectors.joining(",")));
-
             }
         });
         super.findAfter(entity, pageInfo, context, list);
-- 
2.24.3