以下是「晨光宅配」小程序的完整接口文档,涵盖了所有12个表的接口。
每个接口包括请求方法、URL、请求参数、响应格式和示例
接口文档
1. 用户模块
1.1 获取用户信息
- URL:
/user/{userId}
- 方法:
GET
- 请求参数:
userId
(路径参数): 用户ID
- 响应格式:
{ "userId": 1, "openid": "openid_123456", "phone": "13800138000", "nickname": "小明", "avatarUrl": "https://example.com/avatar1.jpg", "createTime": "2023-10-01T12:00:00" }
1.2 获取所有用户
- URL:
/user
- 方法:
GET
- 响应格式:
[ { "userId": 1, "openid": "openid_123456", "phone": "13800138000", "nickname": "小明", "avatarUrl": "https://example.com/avatar1.jpg", "createTime": "2023-10-01T12:00:00" } ]
1.3 创建用户
- URL:
/user
- 方法:
POST
- 请求体:
{ "openid": "openid_123456", "phone": "13800138000", "nickname": "小明", "avatarUrl": "https://example.com/avatar1.jpg" }
- 响应格式:
true
1.4 更新用户
- URL:
/user
- 方法:
PUT
- 请求体:
{ "userId": 1, "openid": "openid_123456", "phone": "13800138000", "nickname": "小明", "avatarUrl": "https://example.com/avatar1.jpg" }
- 响应格式:
true
1.5 删除用户
- URL:
/user/{userId}
- 方法:
DELETE
- 请求参数:
userId
(路径参数): 用户ID
- 响应格式:
true
1.6 搜索用户
- URL:
/user/search?keyword=小明
- 方法:
GET
- 请求参数:
keyword
(查询参数): 搜索关键字
- 响应格式:
[ { "userId": 1, "openid": "openid_123456", "phone": "13800138000", "nickname": "小明", "avatarUrl": "https://example.com/avatar1.jpg", "createTime": "2023-10-01T12:00:00" } ]
2. 地址模块
2.1 获取用户地址列表
- URL:
/address/user/{userId}
- 方法:
GET
- 请求参数:
userId
(路径参数): 用户ID
- 响应格式:
[ { "addressId": 1, "userId": 1, "contactName": "小明", "contactPhone": "13800138000", "detailAddress": "北京市朝阳区XX路XX号", "isDefault": 1 } ]
2.2 添加地址
- URL:
/address
- 方法:
POST
- 请求体:
{ "userId": 1, "contactName": "小明", "contactPhone": "13800138000", "detailAddress": "北京市朝阳区XX路XX号", "isDefault": 1 }
- 响应格式:
true
2.3 更新地址
- URL:
/address
- 方法:
PUT
- 请求体:
{ "addressId": 1, "userId": 1, "contactName": "小明", "contactPhone": "13800138000", "detailAddress": "北京市朝阳区XX路XX号", "isDefault": 1 }
- 响应格式:
true
2.4 删除地址
- URL:
/address/{addressId}
- 方法:
DELETE
- 请求参数:
addressId
(路径参数): 地址ID
- 响应格式:
true
3. 商家模块
3.1 获取所有商家
- URL:
/merchant
- 方法:
GET
- 响应格式:
[ { "merchantId": 1, "name": "早餐铺A", "address": "北京市朝阳区XX路XX号", "geoPoint": "POINT(116.404 39.915)", "maxCapacity": 100 } ]
3.2 获取商家信息
- URL:
/merchant/{merchantId}
- 方法:
GET
- 请求参数:
merchantId
(路径参数): 商家ID
- 响应格式:
{ "merchantId": 1, "name": "早餐铺A", "address": "北京市朝阳区XX路XX号", "geoPoint": "POINT(116.404 39.915)", "maxCapacity": 100 }
3.3 添加商家
- URL:
/merchant
- 方法:
POST
- 请求体:
{ "name": "早餐铺A", "address": "北京市朝阳区XX路XX号", "geoPoint": "POINT(116.404 39.915)", "maxCapacity": 100 }
- 响应格式:
true
3.4 更新商家
- URL:
/merchant
- 方法:
PUT
- 请求体:
{ "merchantId": 1, "name": "早餐铺A", "address": "北京市朝阳区XX路XX号", "geoPoint": "POINT(116.404 39.915)", "maxCapacity": 100 }
- 响应格式:
true
3.5 删除商家
- URL:
/merchant/{merchantId}
- 方法:
DELETE
- 请求参数:
merchantId
(路径参数): 商家ID
- 响应格式:
true
4. 套餐模块
4.1 获取所有套餐
- URL:
/meal
- 方法:
GET
- 响应格式:
[ { "mealId": 1, "merchantId": 1, "name": "经典早餐套餐", "description": "包含豆浆、油条、鸡蛋", "price": 15.00, "stock": 50, "isActive": 1 } ]
4.2 根据商家ID获取套餐
- URL:
/meal/merchant/{merchantId}
- 方法:
GET
- 请求参数:
merchantId
(路径参数): 商家ID
- 响应格式:
[ { "mealId": 1, "merchantId": 1, "name": "经典早餐套餐", "description": "包含豆浆、油条、鸡蛋", "price": 15.00, "stock": 50, "isActive": 1 } ]
4.3 添加套餐
- URL:
/meal
- 方法:
POST
- 请求体:
{ "merchantId": 1, "name": "经典早餐套餐", "description": "包含豆浆、油条、鸡蛋", "price": 15.00, "stock": 50, "isActive": 1 }
- 响应格式:
true
4.4 更新套餐
- URL:
/meal
- 方法:
PUT
- 请求体:
{ "mealId": 1, "merchantId": 1, "name": "经典早餐套餐", "description": "包含豆浆、油条、鸡蛋", "price": 15.00, "stock": 50, "isActive": 1 }
- 响应格式:
true
4.5 删除套餐
- URL:
/meal/{mealId}
- 方法:
DELETE
- 请求参数:
mealId
(路径参数): 套餐ID
- 响应格式:
true
5. 订单模块
5.1 获取用户订单列表
- URL:
/order/user/{userId}
- 方法:
GET
- 请求参数:
userId
(路径参数): 用户ID
- 响应格式:
[ { "orderId": 1, "userId": 1, "merchantId": 1, "addressId": 1, "totalAmount": 15.00, "status": "pending", "createTime": "2023-10-01T12:00:00" } ]
5.2 创建订单
- URL:
/order
- 方法:
POST
- 请求体:
{ "userId": 1, "merchantId": 1, "addressId": 1, "totalAmount": 15.00, "status": "pending" }
- 响应格式:
true
5.3 更新订单
- URL:
/order
- 方法:
PUT
- 请求体:
{ "orderId": 1, "userId": 1, "merchantId": 1, "addressId": 1, "totalAmount": 15.00, "status": "completed" }
- 响应格式:
true
5.4 删除订单
- URL:
/order/{orderId}
- 方法:
DELETE
- 请求参数:
orderId
(路径参数): 订单ID
- 响应格式:
true
6. 订单项模块
6.1 获取订单项列表
- URL:
/order-item/order/{orderId}
- 方法:
GET
- 请求参数:
orderId
(路径参数): 订单ID
- 响应格式:
[ { "itemId": 1, "orderId": 1, "mealId": 1, "quantity": 1, "price": 15.00 } ]
6.2 添加订单项
- URL:
/order-item
- 方法:
POST
- 请求体:
{ "orderId": 1, "mealId": 1, "quantity": 1, "price": 15.00 }
- 响应格式:
true
6.3 更新订单项
- URL:
/order-item
- 方法:
PUT
- 请求体:
{ "itemId": 1, "orderId": 1, "mealId": 1, "quantity": 2, "price": 15.00 }
- 响应格式:
true
6.4 删除订单项
- URL:
/order-item/{itemId}
- 方法:
DELETE
- 请求参数:
itemId
(路径参数): 订单项ID
- 响应格式:
true
7. 订阅模块
7.1 获取用户订阅列表
- URL:
/subscription/user/{userId}
- 方法:
GET
- 请求参数:
userId
(路径参数): 用户ID
- 响应格式:
[ { "subId": 1, "userId": 1, "mealId": 1, "cycleType": "daily", "deliveryTime": "07:30:00", "startDate": "2023-10-01", "endDate": "2023-10-31", "status": 1 } ]
7.2 创建订阅
- URL:
/subscription
- 方法:
POST
- 请求体:
{ "userId": 1, "mealId": 1, "cycleType": "daily", "deliveryTime": "07:30:00", "startDate": "2023-10-01", "endDate": "2023-10-31", "status": 1 }
- 响应格式:
true
7.3 更新订阅
- URL:
/subscription
- 方法:
PUT
- 请求体:
{ "subId": 1, "userId": 1, "mealId": 1, "cycleType": "daily", "deliveryTime": "07:30:00", "startDate": "2023-10-01", "endDate": "2023-10-31", "status": 1 }
- 响应格式:
true
7.4 删除订阅
- URL:
/subscription/{subId}
- 方法:
DELETE
- 请求参数:
subId
(路径参数): 订阅ID
- 响应格式:
true
8. 配送模块
8.1 获取配送信息
- URL:
/delivery/order/{orderId}
- 方法:
GET
- 请求参数:
orderId
(路径参数): 订单ID
- 响应格式:
{ "deliveryId": 1, "orderId": 1, "riderId": 1, "startTime": "2023-10-01T12:00:00", "endTime": "2023-10-01T12:30:00", "status": "delivered" }
8.2 更新配送状态
- URL:
/delivery
- 方法:
PUT
- 请求体:
{ "deliveryId": 1, "orderId": 1, "riderId": 1, "startTime": "2023-10-01T12:00:00", "endTime": "2023-10-01T12:30:00", "status": "delivered" }
- 响应格式:
true
9. 配送员模块
9.1 获取所有配送员
- URL:
/rider
- 方法:
GET
- 响应格式:
[ { "riderId": 1, "name": "张三", "phone": "13800138002", "status": "active", "geoPoint": "POINT(116.404 39.915)", "lastActiveTime": "2023-10-01T12:00:00" } ]
9.2 获取配送员信息
- URL:
/rider/{riderId}
- 方法:
GET
- 请求参数:
riderId
(路径参数): 配送员ID
- 响应格式:
{ "riderId": 1, "name": "张三", "phone": "13800138002", "status": "active", "geoPoint": "POINT(116.404 39.915)", "lastActiveTime": "2023-10-01T12:00:00" }
9.3 添加配送员
- URL:
/rider
- 方法:
POST
- 请求体:
{ "name": "张三", "phone": "13800138002", "status": "active", "geoPoint": "POINT(116.404 39.915)" }
- 响应格式:
true
9.4 更新配送员
- URL:
/rider
- 方法:
PUT
- 请求体:
{ "riderId": 1, "name": "张三", "phone": "13800138002", "status": "active", "geoPoint": "POINT(116.404 39.915)" }
- 响应格式:
true
9.5 删除配送员
- URL:
/rider/{riderId}
- 方法:
DELETE
- 请求参数:
riderId
(路径参数): 配送员ID
- 响应格式:
true
10. 配送区域模块
10.1 获取所有配送区域
- URL:
/delivery-area
- 方法:
GET
- 响应格式:
[ { "areaId": 1, "merchantId": 1, "geoPolygon": "POLYGON((116.404 39.915, 116.404 39.920, 116.410 39.920, 116.410 39.915, 116.404 39.915))" } ]
10.2 根据商家ID获取配送区域
- URL:
/delivery-area/merchant/{merchantId}
- 方法:
GET
- 请求参数:
merchantId
(路径参数): 商家ID
- 响应格式:
[ { "areaId": 1, "merchantId": 1, "geoPolygon": "POLYGON((116.404 39.915, 116.404 39.920, 116.410 39.920, 116.410 39.915, 116.404 39.915))" } ]
10.3 添加配送区域
- URL:
/delivery-area
- 方法:
POST
- 请求体:
{ "merchantId": 1, "geoPolygon": "POLYGON((116.404 39.915, 116.404 39.920, 116.410 39.920, 116.410 39.915, 116.404 39.915))" }
- 响应格式:
true
10.4 更新配送区域
- URL:
/delivery-area
- 方法:
PUT
- 请求体:
{ "areaId": 1, "merchantId": 1, "geoPolygon": "POLYGON((116.404 39.915, 116.404 39.920, 116.410 39.920, 116.410 39.915, 116.404 39.915))" }
- 响应格式:
true
10.5 删除配送区域
- URL:
/delivery-area/{areaId}
- 方法:
DELETE
- 请求参数:
areaId
(路径参数): 配送区域ID
- 响应格式:
true
11. 评价模块
11.1 获取评价
- URL:
/review/order/{orderId}
- 方法:
GET
- 请求参数:
orderId
(路径参数): 订单ID
- 响应格式:
{ "reviewId": 1, "orderId": 1, "userId": 1, "rating": 5, "content": "配送很快,早餐很好吃!", "createTime": "2023-10-01T12:00:00" }
11.2 添加评价
- URL:
/review
- 方法:
POST
- 请求体:
{ "orderId": 1, "userId": 1, "rating": 5, "content": "配送很快,早餐很好吃!" }
- 响应格式:
true
11.3 更新评价
- URL:
/review
- 方法:
PUT
- 请求体:
{ "reviewId": 1, "orderId": 1, "userId": 1, "rating": 5, "content": "配送很快,早餐很好吃!" }
- 响应格式:
true
11.4 删除评价
- URL:
/review/{reviewId}
- 方法:
DELETE
- 请求参数:
reviewId
(路径参数): 评价ID
- 响应格式:
true
12. 配送员区域关联模块
12.1 获取配送员区域
- URL:
/rider-area/rider/{riderId}
- 方法:
GET
- 请求参数:
riderId
(路径参数): 配送员ID
- 响应格式:
[ { "riderId": 1, "areaId": 1 } ]
12.2 添加配送员区域关联
- URL:
/rider-area
- 方法:
POST
- 请求体:
{ "riderId": 1, "areaId": 1 }
- 响应格式:
true
12.3 删除配送员区域关联
- URL:
/rider-area/{riderId}/{areaId}
- 方法:
DELETE
- 请求参数:
riderId
(路径参数): 配送员IDareaId
(路径参数): 配送区域ID
- 响应格式:
true