【实战】6-1 分类管理模块

前言

跟用户模块一样,也是先给出这个模块的一些概况,主要是接口设计,定义好输入与返回值,然后在代码中按照相关定义进行操作。

功能介绍

主要会有以下几个功能:

  1. 获取节点
  2. 增加节点
  3. 修改名字
  4. 获取分类ID
  5. 递归子节点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)
    categoryName
response
    success
    {
        "status": 0,
        "msg": "添加品类成功"
    }

    fail
    {
        "status": 1,
        "msg": "添加品类失败"
    }

3、修改品类名字
/manage/category/set_category_name.do

request
    categoryId
    categoryName
response
    success
    {
        "status": 0,
        "msg": "更改品类名字成功"
    }

    fail
    {
        "status": 1,
        "msg": "更改品类名字失败"
    }

4、获取当前分类的id及递归子节点的categoryId
/manage/category/get_deep_category.do
这个跟第一个接口的区别好像是这个会返回所有,包括子节点的子节点一直下去,具体的看看代码怎么写的再做定论。

request
    categoryId
response
    success
    {
        "status": 0,
        "data":{
            100009,
            100010,
            100001,
            100006,
            100007,
            100008
        }
    }

    fail
    {
        "status": 1,
        "msg": "无权限"
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值