· 03_进销存系统_接口功能介绍
[TOC]
一、接口概述
本项目遵循 RESTful 风格设计 API。所有接口返回数据格式统一为 Result<T> 对象。
统一返回结构:
{
"code": 200, // 业务状态码:200成功,其他失败
"message": "操作成功", // 提示信息
"data": { ... } // 业务数据
}
二、模块接口详解
1. 登录模块 (Login)
1.1 用户登录
- 描述:校验用户名密码,成功后返回用户信息并建立 Session。
- 请求方式:
POST - 请求路径:
/api/login - 请求参数 (Body JSON):
{ "username": "admin", "password": "123" } - 响应数据:
{ "code": 200, "message": "登录成功", "data": { "id": 1, "username": "admin", "nickname": "管理员", "avatar": "..." } }
1.2 用户登出
- 描述:清除当前用户的 Session 信息。
- 请求方式:
GET - 请求路径:
/api/logout - 请求参数:无
- 响应数据:
{ "code": 200, "message": "退出成功", "data": null }
2. 仪表盘模块 (Dashboard)
2.1 获取统计数据
- 描述:获取首页顶部展示的核心经营数据。
- 请求方式:
GET - 请求路径:
/api/dashboard/stats - 请求参数:无
- 响应数据:
{ "code": 200, "data": { "totalProducts": 150, // 商品总数 "todayOrders": 12, // 今日订单数 "totalSales": 5600.00 // 今日销售额 } }
3. 商品分类模块 (Category)
3.1 获取分类列表
- 描述:查询所有商品分类,用于下拉筛选或列表展示。
- 请求方式:
GET - 请求路径:
/api/categories - 请求参数:无
- 响应数据:
{ "code": 200, "data": [ { "id": 1, "name": "电子数码", "sortOrder": 1 }, { "id": 2, "name": "办公用品", "sortOrder": 2 } ] }
3.2 添加分类
- 描述:新增一个商品分类。
- 请求方式:
POST - 请求路径:
/api/categories - 请求参数 (Body JSON):
{ "name": "家用电器", "description": "冰箱洗衣机等", "sortOrder": 5 } - 响应数据:
{ "code": 200, "message": "操作成功" }
3.3 更新分类
- 描述:修改商品分类信息。
- 请求方式:
PUT - 请求路径:
/api/categories - 请求参数 (Body JSON):
{ "id": 1, "name": "新电子数码", "sortOrder": 10 } - 响应数据:
{ "code": 200, "message": "操作成功" }
3.4 删除分类
- 描述:逻辑删除指定分类。
- 请求方式:
DELETE - 请求路径:
/api/categories/{id} - 请求参数 (Path):
id(分类ID) - 响应数据:
{ "code": 200, "message": "操作成功" }
4. 商品管理模块 (Product)
4.1 获取商品列表 (分页)
- 描述:分页查询商品,支持按名称模糊搜索和按分类筛选。
- 请求方式:
GET - 请求路径:
/api/products - 请求参数 (Query):
参数名 必填 类型 说明 示例 page 否 int 页码 1 size 否 int 每页条数 10 name 否 string 商品名称(模糊) “手机” categoryId 否 long 分类ID 1 - 响应数据:
{ "code": 200, "data": { "records": [ { "id": 10, "name": "iPhone 15", "price": 5999.00, "stock": 100, "categoryName": "电子数码" } ], "total": 50, "current": 1, "size": 10 } }
4.2 添加商品
- 描述:新增一个商品。
- 请求方式:
POST - 请求路径:
/api/products - 请求参数 (Body JSON):
{ "categoryId": 1, "name": "MacBook Pro", "price": 12999.00, "stock": 20, "status": 1 } - 响应数据:
{ "code": 200, "message": "操作成功" }
4.3 更新商品
- 描述:修改商品信息(如调整价格或库存)。
- 请求方式:
PUT - 请求路径:
/api/products - 请求参数 (Body JSON):
{ "id": 10, "name": "MacBook Pro M3", "price": 13999.00 } - 响应数据:
{ "code": 200, "message": "操作成功" }
4.4 删除商品
- 描述:逻辑删除指定商品。
- 请求方式:
DELETE - 请求路径:
/api/products/{id} - 请求参数 (Path):
id(商品ID) - 响应数据:
{ "code": 200, "message": "操作成功" }
5. 客户管理模块 (Customer)
5.1 获取客户列表
- 描述:查询所有客户,支持返回客户ID、姓名、电话等信息,用于在销售开单时进行选择。
- 请求方式:
GET - 请求路径:
/api/customers - 请求参数:无
- 响应数据:
{ "code": 200, "message": "操作成功", "data": [ { "id": 1, "name": "张三", "phone": "13800138000", "address": "北京市海淀区", "email": "zhangsan@atguigu.com" } ] }
5.2 添加客户
- 描述:录入新的客户档案信息。
- 请求方式:
POST - 请求路径:
/api/customers - 请求参数 (Body JSON):
{ "name": "李四", "phone": "13900139000", "address": "上海市浦东新区", "email": "lisi@atguigu.com" } - 响应数据:
{ "code": 200, "message": "操作成功", "data": null }
5.3 更新客户
- 描述:修改已有客户的联系方式或地址信息。
- 请求方式:
PUT - 请求路径:
/api/customers - 请求参数 (Body JSON):
{ "id": 2, "name": "李四", "phone": "13912345678", "address": "上海市徐汇区" } - 响应数据:
{ "code": 200, "message": "操作成功", "data": null }
5.4 删除客户
- 描述:逻辑删除指定客户(不物理删除数据),删除后该客户将不再出现在列表中。
- 请求方式:
DELETE - 请求路径:
/api/customers/{id} - 请求参数 (Path):
id(客户ID,如2) - 响应数据:
{ "code": 200, "message": "操作成功", "data": null }
6. 订单管理模块 (SaleOrder)
6.1 创建订单 (核心)
- 描述:提交订单信息,包含客户ID和多个商品明细,系统自动扣减库存。
- 请求方式:
POST - 请求路径:
/api/orders - 请求参数 (Body JSON):
{ "customerId": 1, "items": [ { "productId": 10, "quantity": 2 }, { "productId": 11, "quantity": 1 } ] } - 响应数据:
{ "code": 200, "message": "订单创建成功" }
6.2 获取订单列表
- 描述:分页查询历史订单。
- 请求方式:
GET - 请求路径:
/api/orders - 请求参数 (Query):
page,size,orderNo - 响应数据:
{ "code": 200, "data": { "records": [ { "id": 1001, "orderNo": "202312260001", "customerName": "张三", "totalAmount": 1200.00, "status": 0, "createTime": "2023-12-26 10:00:00" } ], "total": 20 } }
6.3 更新订单状态
- 描述:修改订单流转状态(如:发货、完成)。
- 请求方式:
PUT - 请求路径:
/api/orders/{id}/status - 请求参数 (Query):
status: 状态码 (0-待处理, 1-已完成, 2-已取消)
- 响应数据:
{ "code": 200, "message": "操作成功" }
评论