宜立方--修改和编辑节点

修改节点

分析

这里写图片描述

有上图我们可以看到当所选节点id不为0的时候,就说明这不是一个新建的节点,所以我们走else的路径:/content/category/update。

传给我们的信息有节点的id和修改后的名字

service层

这里写图片描述

很简单的逻辑

通过id找到category,然后修改name,更新category

ps:可以不返回TaotaoResult.ok(),因为前端页面并没有回掉函数。

controller层

这里写图片描述

删除节点

分析

这里写图片描述

如图,我们可以看到删除节点的url为/content/category/delete/,为我们传入了parentId和id

service

准备

因为要用到递归运算,所有我们将其封装成一个方法
这里写图片描述

这里写图片描述

因为要频繁的查询子节点,所以我们将其封装成一个方法

递归删除

这里写图片描述
首先我们先将代码分为三个部分

  1. 删除该节点下的所有子节点

  2. 判断删除完成后父节点是否为叶子节点

  3. 删除自己

删除子节点
这里写图片描述

原理很简单

我们找到该节点下的所有子节点,判断他们下是否还有子节点,如果有继续判断是否还有子节点,直到该节点没有子节点,我们将其称之为叶子节点,之后删除该节点。

这里写图片描述

上图就是流程图,这样就很好理解了。

判断是否为叶子结点

这里写图片描述

这个相对于上面的逻辑就容易好多了,当我们的父节点下只有一个子节点的时候,我们删除这个子节点,父节点就变成了一个没有子节点的叶子节点,所以我们要将父节点的isParent属性改为false。

删除本节点
这里写图片描述

controller

这里写图片描述

参考

https://www.cnblogs.com/shizhijie/p/7519046.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值