李进 пре 2 година
родитељ
комит
9f8e0d2b9c

+ 12 - 1
authorize-api-service/src/main/java/com/xy/service/impl/SysMenuServiceImpl.java

@@ -15,6 +15,7 @@ import com.xy.mapper.SysSystemMapper;
 import com.xy.redis.RedisCache;
 import com.xy.service.SysMenuService;
 import com.xy.service.SysRoleMenuService;
+import com.xy.utils.Emptys;
 import com.xy.utils.R;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -143,11 +144,21 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
     @PostMapping("del")
     @ApiOperation("删除菜单")
     public R del(@RequestBody @Validated SysMenuDto.Del del) {
+        delMethod(del);
+        return R.ok();
+    }
+
+    private void delMethod(SysMenuDto.Del del) {
         //删除角色菜单
         sysRoleMenuMapper.delete(new LambdaQueryWrapper<SysRoleMenu>().in(SysRoleMenu::getMenuId, del.getId()));
         //删除菜单
         removeBatchByIds(del.getId());
-        return R.ok();
+        //删除子级
+        List<SysMenu> list = list(new LambdaQueryWrapper<SysMenu>().in(SysMenu::getPaterId, del));
+        if (Emptys.check(list)) {
+            SysMenuDto.Del del2 = new SysMenuDto.Del().setId(new JArrayList<>(list).getProperty(SysMenu::getId));
+            delMethod(del2);
+        }
     }