淘淘商城-内容分类管理 修改、删除实现、内容列表展示
今天继续来写作业
修改(重命名)节点:
分析
有上图我们可以看到当所选节点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
内容列表
分析
上图我们可以知道:
URL: /content/query/list
传入参数:categoryId
EasyUI传入的分页信息:page、rows
Service
常规的分页查询,没啥好说的,注意在查询的时候要使用selectByExampleWithBLOBs()方法,否则无法取出字段类型为text的数据。
Controller
这里介绍的很简单,具体可以看我【03】淘淘商城的笔记