【SpringBoot】MorningBox小程序的完整后端接口文档

以下是「晨光宅配」小程序的完整接口文档,涵盖了所有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 (路径参数): 配送员ID
    • areaId (路径参数): 配送区域ID
  • 响应格式:
    true
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱因斯坦乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值