当前位置: 首页> 健康> 知识 > 有赞微商城入口_代做网站公司_深圳短视频seo教程_app推广接单发布平台

有赞微商城入口_代做网站公司_深圳短视频seo教程_app推广接单发布平台

时间:2025/7/14 5:14:08来源:https://blog.csdn.net/Sweeping_Robot/article/details/145839179 浏览次数:0次
有赞微商城入口_代做网站公司_深圳短视频seo教程_app推广接单发布平台

商品分类模块开发笔记

模块功能概述

  • 实现分类数据的 增删改查 功能
  • 核心难点:
    • 分类的父子级目录结构
    • 递归实现多级分类查找
    • 列表展示顺序控制(从父级向子级递归)

接口说明

后台接口

1. 添加分类
  • 请求地址: /admin/category/add

  • 请求方法: POST

  • 参数:

    参数名类型说明
    nameString分类名称(如:新鲜水果)
    typeInt分类层级(1-3级)
    parentIdInt父级ID(0表示无父级)
    orderNumberInt同级目录排序号
  • 示例请求:

{"name": "进口水果","type": 2,"parentId": 1,"orderNumber": 2
}
2. 更新分类
  • 请求地址: /admin/category/update
  • 请求方法: POST
  • 参数:
    • 包含id字段用于指定要修改的分类
    • 其他参数与添加接口相同
3. 删除分类
  • 请求地址: /admin/category/delete
  • 请求方法: POST
  • 参数:
    参数名类型说明
    idInt分类ID
4. 分类列表(平铺分页)
  • 请求地址: /admin/category/list
  • 请求方法: GET
  • 参数:
    参数名类型说明
    pageNumberInt当前页码
    pageSizeInt每页显示条数

前台接口

递归分类列表
  • 请求地址: /category/list
  • 请求方法: GET
  • 响应结构:
{"code": 200,"message": "成功","data": [{"id": 1,"name": "新鲜水果","childCategory": [{"id": 2,"name": "进口水果","childCategory": [{"id": 3,"name": "车厘子"}]}]}]
}

数据库设计

表名: category

字段名类型说明
idint(11)主键ID
namevarchar(64)分类名称
typeint(11)分类层级(1-3级)
parent_idint(11)父级分类ID
order_numberint(11)排序号
create_timedatetime创建时间
update_timedatetime最后更新时间

关键实现点

  1. 递归查询算法

    • 通过parent_id字段建立层级关系
    • 使用深度优先搜索实现树形结构构建
  2. 排序控制

    • 同级分类通过order_number字段排序
    • 层级间展示顺序为父级->子级
  3. 层级校验

    • 新增分类时校验层级不超过3级
    • 更新操作时防止循环引用

商品分类模块开发笔记 - 接口实现篇

Controller层实现

1. 创建Controller

@RestController
public class CategoryController {@Autowiredprivate CategoryService categoryService;@Autowiredprivate UserService userService;
}

2. 添加分类接口实现

@PostMapping("/admin/category/add")
@ResponseBody
public ApiRestResponse addCategory(HttpSession session,@RequestBody AddCategoryRequest addCategoryRequest) {// 参数校验if (addCategoryRequest.getName() == null || addCategoryRequest.getType() == null|| addCategoryRequest.getParentId() == null|| addCategoryRequest.getOrderNumber() == null) {return ApiRestResponse.error(ExceptionEnum.PARAM_NOT_NULL);}// 用户登录校验User currentUser = (User) session.getAttribute(UserConstant.LOGIN_USER);if (currentUser == null) {return ApiRestResponse.error(ExceptionEnum.NEED_LOGIN);}// 管理员权限校验boolean isAdmin = userService.checkAdminRole(currentUser);if (!isAdmin) {return ApiRestResponse.error(ExceptionEnum.NEED_ADMIN);}// 创建分类对象Category category = new Category();BeanUtils.copyProperties(addCategoryRequest, category);// 调用Service层return categoryService.addCategory(category);
}

请求参数对象设计

public class AddCategoryRequest {private String name;private Integer type;private Integer parentId;private Integer orderNumber;// Getter & Setter// Lombok @Data 注解可替代
}

校验机制说明

1. 参数校验策略

  • 必要性校验:所有必要字段的非空检查
  • 安全校验:使用独立Request对象防止额外字段注入
  • 层级校验:通过type字段控制分类层级(1-3级)

2. 权限校验流程

失败
成功
未登录
已登录
非管理员
管理员
请求入口
参数校验
返回参数错误
登录状态
返回登录提示
管理员校验
返回权限不足
执行添加操作
关键字:有赞微商城入口_代做网站公司_深圳短视频seo教程_app推广接单发布平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: