【实战】6-1 分类管理模块
来源:互联网 发布:程序员首先学什么 编辑:程序博客网 时间:2024/06/06 04:18
前言
跟用户模块一样,也是先给出这个模块的一些概况,主要是接口设计,定义好输入与返回值,然后在代码中按照相关定义进行操作。
功能介绍
主要会有以下几个功能:
- 获取节点
- 增加节点
- 修改名字
- 获取分类ID
- 递归子节点ID
学习目标
1、如何设计及封装无线层级的树状数据结构
这个还是要通过合理的DB设计,所以之前在数据表设计时每个类别都有一个父类别ID就是这个用的
2、递归算法的设计思想
这个学过算法的小伙伴都会了解的哈,这里看看老师有没有什么在生产实践中比较好的写法规范
3、如何处理复杂对象的排重
4、重写hashcode和equals的注意事项
这个不少面试都会有问的啊,重写equals就要重写hashcode,保证相同的对象hashcode也相同
数据表设计
ok,这个也在前面的章节讲到过了,大家自行回想就行,主要就是注意到设计了parent_id这一个字段,为的是可以设计出无限层级的分类表。sort_order是为了以后排序留的一个拓展。
接口设计
这里大概就是4个接口,没有用户模块那么多,这里把定义好的接口展示给大家。
1、获取品类子节点(平级)
/manage/category/get_category.do
/manage表示后台管理的,这个接口获取某一个类别的下一个级别的全部类别,注意只往下找一级,不会全部找出来
request categoryId(default=0)通过SpringMVC的requestparam进行设置默认值response success { "status": 0, "data":{ { "id":2, "parentId":1, "name":"手机", "status":true, "sortOrder":3, "createTime":1479622913000, "updateTime":1479622913000 }, { "id":4, "parentId":1, "name":"移动座机", "status":true, "sortOrder":5, "createTime":1480059935000, "updateTime":1480059935000 } } } fail { "status": 10, "msg": "用户未登录,请登录" } 或 { "status": 1, "msg": "未找到该品类" }
2、增加节点
/manage/category/add_category.do
request parentId(default=0) categoryNameresponse success { "status": 0, "msg": "添加品类成功" } fail { "status": 1, "msg": "添加品类失败" }
3、修改品类名字
/manage/category/set_category_name.do
request categoryId categoryNameresponse success { "status": 0, "msg": "更改品类名字成功" } fail { "status": 1, "msg": "更改品类名字失败" }
4、获取当前分类的id及递归子节点的categoryId
/manage/category/get_deep_category.do
这个跟第一个接口的区别好像是这个会返回所有,包括子节点的子节点一直下去,具体的看看代码怎么写的再做定论。
request categoryIdresponse success { "status": 0, "data":{ 100009, 100010, 100001, 100006, 100007, 100008 } } fail { "status": 1, "msg": "无权限" }
- 【实战】6-1 分类管理模块
- 【实战】6-2 分类管理开发
- 【实战】7-1 商品管理模块接口定义
- 商城项目实战27:内容分类管理
- 商品分类管理模块基本完成
- WMS仓库管理系统---(4)分类管理模块
- QX项目实战-2.模块分类以及配置读取
- javaWeb实战教程9-商品分类模块的编码实现
- java实战 ——分类模块的开发
- 云计算实战之url 关键词及分类管理
- php 无限分类管理(1)
- tensorflow实战1:lstm实现mnist分类
- web day26 小项目练习图书商城 后台分类管理模块,图书管理模块,前台登陆过滤
- 项目实战篇-餐馆管理系统—MFC,PHP,MySql:4.权限管理模块
- 项目实战篇-餐馆管理系统—MFC,PHP,MySql:5.菜单管理模块
- 项目实战篇-餐馆管理系统—MFC,PHP,MySql:6.订单管理模块
- 【实战】5-1 用户模块开发
- ERP基础档案管理模块中实现多级分类档案级联删除技术
- 吴亦凡上任爱奇艺VIP代言人 用骄傲给你来段freestyle
- 华为麒麟 970 十年磨一剑,终于打败高通?
- 基于shiro的权限管理-002授权
- oracle用户管理整理
- 【PE】VS的Release模式下进行调试的设置以及附加进程用法
- 【实战】6-1 分类管理模块
- scala模式匹配
- 传360磋商借壳上A股,360官方不予回应
- 大数据时代,用户的隐私如何守护
- 一起进入全面屏王者时代,vivo公布王者荣耀周年庆限量版X20
- c语言调用api函数
- 2017年度十大新兴技术,多久才能实现?
- LeetCode 120. Triangle
- commons-lang3之元组返回多个数据对象