Files
jiebanke/docs/后端管理需求文档.md

16 KiB
Raw Blame History

解班客后端管理需求文档

1. 项目概述

1.1 系统定位

后端管理系统是解班客平台的核心服务层负责提供所有业务逻辑处理、数据管理、API服务以及与第三方系统的集成。系统采用RESTful API架构为前端应用、小程序和管理后台提供统一的数据服务。

1.2 核心职责

  • 提供完整的API服务接口
  • 处理业务逻辑和数据验证
  • 管理用户认证和权限控制
  • 集成第三方服务(支付、短信、地图等)
  • 确保数据安全和系统稳定性

1.3 技术架构

  • 运行环境Node.js 18+
  • Web框架Express.js
  • 数据库MySQL 8.0 + Redis 6.0
  • 认证方式JWT + Passport
  • API文档Swagger/OpenAPI

2. 用户管理模块

2.1 用户认证服务

2.1.1 微信登录

POST /api/auth/wechat/login
功能:微信小程序登录
参数:
- code: 微信授权码
- encryptedData: 加密用户信息
- iv: 初始向量
返回JWT token和用户基本信息

2.1.2 手机号验证

POST /api/auth/phone/verify
功能:发送手机验证码
参数:
- phone: 手机号码
- type: 验证类型register/login/reset

POST /api/auth/phone/login
功能:手机号验证码登录
参数:
- phone: 手机号码
- code: 验证码

2.1.3 Token管理

POST /api/auth/refresh
功能:刷新访问令牌
参数:
- refreshToken: 刷新令牌

POST /api/auth/logout
功能:用户登出
参数:
- token: 访问令牌

2.2 用户信息管理

2.2.1 用户资料

GET /api/users/profile
功能:获取用户详细信息

PUT /api/users/profile
功能:更新用户资料
参数:
- nickname: 昵称
- avatar: 头像URL
- gender: 性别
- birthday: 生日
- location: 所在地
- bio: 个人简介
- interests: 兴趣标签

2.2.2 实名认证

POST /api/users/identity/verify
功能:提交实名认证
参数:
- realName: 真实姓名
- idCard: 身份证号
- idCardFront: 身份证正面照
- idCardBack: 身份证背面照

GET /api/users/identity/status
功能:查询认证状态

2.2.3 用户设置

PUT /api/users/settings
功能:更新用户设置
参数:
- privacy: 隐私设置
- notification: 通知设置
- security: 安全设置

GET /api/users/settings
功能:获取用户设置

2.3 用户关系管理

2.3.1 关注功能

POST /api/users/{userId}/follow
功能:关注用户

DELETE /api/users/{userId}/follow
功能:取消关注

GET /api/users/following
功能:获取关注列表

GET /api/users/followers
功能:获取粉丝列表

2.3.2 黑名单管理

POST /api/users/{userId}/block
功能:拉黑用户

DELETE /api/users/{userId}/block
功能:取消拉黑

GET /api/users/blocked
功能:获取黑名单列表

3. 活动管理模块

3.1 活动发布管理

3.1.1 活动创建

POST /api/activities
功能:创建新活动
参数:
- title: 活动标题
- description: 活动描述
- type: 活动类型
- startTime: 开始时间
- endTime: 结束时间
- location: 活动地点
- maxParticipants: 最大参与人数
- fee: 活动费用
- requirements: 参与要求
- images: 活动图片
- tags: 活动标签

3.1.2 活动编辑

PUT /api/activities/{activityId}
功能:编辑活动信息

DELETE /api/activities/{activityId}
功能:删除活动

PATCH /api/activities/{activityId}/status
功能:更新活动状态
参数:
- status: 活动状态draft/published/cancelled/completed

3.2 活动搜索和筛选

3.2.1 活动列表

GET /api/activities
功能:获取活动列表
参数:
- page: 页码
- limit: 每页数量
- type: 活动类型
- location: 地理位置
- startDate: 开始日期
- endDate: 结束日期
- priceMin: 最低价格
- priceMax: 最高价格
- keyword: 关键词搜索
- sort: 排序方式

3.2.2 活动详情

GET /api/activities/{activityId}
功能:获取活动详细信息

GET /api/activities/{activityId}/participants
功能:获取活动参与者列表

GET /api/activities/nearby
功能:获取附近活动
参数:
- latitude: 纬度
- longitude: 经度
- radius: 搜索半径

3.3 活动报名管理

3.3.1 报名流程

POST /api/activities/{activityId}/join
功能:报名参加活动
参数:
- message: 报名留言
- emergencyContact: 紧急联系人

GET /api/activities/{activityId}/join/status
功能:查询报名状态

DELETE /api/activities/{activityId}/join
功能:取消报名

3.3.2 报名审核

PUT /api/activities/{activityId}/participants/{userId}/approve
功能:审核通过报名

PUT /api/activities/{activityId}/participants/{userId}/reject
功能:拒绝报名
参数:
- reason: 拒绝原因

GET /api/activities/my/applications
功能:获取我的报名记录

GET /api/activities/my/created
功能:获取我创建的活动

4. 动物认领模块

4.1 动物信息管理

4.1.1 动物档案

POST /api/animals
功能:添加动物信息
参数:
- name: 动物名称
- type: 动物类型
- breed: 品种
- age: 年龄
- gender: 性别
- weight: 体重
- health: 健康状况
- description: 描述
- images: 动物照片
- farmId: 所属农场ID
- price: 认领价格

4.1.2 动物状态管理

PUT /api/animals/{animalId}
功能:更新动物信息

PATCH /api/animals/{animalId}/status
功能:更新动物状态
参数:
- status: 状态available/adopted/reserved/unavailable

GET /api/animals
功能:获取动物列表
参数:
- type: 动物类型
- status: 状态筛选
- farmId: 农场筛选
- priceMin: 最低价格
- priceMax: 最高价格

4.2 认领流程管理

4.2.1 认领申请

POST /api/animals/{animalId}/adopt
功能:提交认领申请
参数:
- reason: 认领原因
- experience: 养殖经验
- visitPlan: 探访计划
- duration: 认领期限

GET /api/adoptions/my
功能:获取我的认领记录

GET /api/adoptions/{adoptionId}
功能:获取认领详情

4.2.2 认领审核

PUT /api/adoptions/{adoptionId}/approve
功能:审核通过认领

PUT /api/adoptions/{adoptionId}/reject
功能:拒绝认领申请
参数:
- reason: 拒绝原因

POST /api/adoptions/{adoptionId}/contract
功能:生成认领合同

4.3 农场管理

4.3.1 农场信息

POST /api/farms
功能:添加农场信息
参数:
- name: 农场名称
- address: 农场地址
- description: 农场描述
- contact: 联系方式
- facilities: 设施介绍
- images: 农场照片

GET /api/farms
功能:获取农场列表

GET /api/farms/{farmId}/animals
功能:获取农场动物列表

4.3.2 探访管理

POST /api/farms/{farmId}/visits
功能:预约农场探访
参数:
- visitDate: 探访日期
- visitTime: 探访时间
- visitors: 探访人数
- purpose: 探访目的

GET /api/visits/my
功能:获取我的探访记录

PUT /api/visits/{visitId}/confirm
功能:确认探访预约

5. 商家服务模块

5.1 商家入驻管理

5.1.1 入驻申请

POST /api/merchants/apply
功能:提交入驻申请
参数:
- businessName: 商家名称
- businessType: 商家类型
- contactPerson: 联系人
- contactPhone: 联系电话
- businessLicense: 营业执照
- address: 经营地址
- description: 商家描述
- qualifications: 资质证明

5.1.2 入驻审核

GET /api/merchants/applications
功能:获取入驻申请列表

PUT /api/merchants/applications/{applicationId}/approve
功能:审核通过入驻

PUT /api/merchants/applications/{applicationId}/reject
功能:拒绝入驻申请
参数:
- reason: 拒绝原因

5.2 商家信息管理

5.2.1 商家资料

GET /api/merchants/profile
功能:获取商家资料

PUT /api/merchants/profile
功能:更新商家资料
参数:
- businessName: 商家名称
- description: 商家描述
- logo: 商家Logo
- images: 商家图片
- businessHours: 营业时间
- contactInfo: 联系信息

5.2.2 商家状态

PATCH /api/merchants/{merchantId}/status
功能:更新商家状态
参数:
- status: 状态active/inactive/suspended

GET /api/merchants
功能:获取商家列表
参数:
- type: 商家类型
- status: 状态筛选
- location: 地理位置

5.3 商品服务管理

5.3.1 商品管理

POST /api/merchants/products
功能:添加商品
参数:
- name: 商品名称
- category: 商品分类
- price: 商品价格
- description: 商品描述
- images: 商品图片
- stock: 库存数量
- specifications: 商品规格

PUT /api/merchants/products/{productId}
功能:更新商品信息

DELETE /api/merchants/products/{productId}
功能:删除商品

5.3.2 订单管理

GET /api/merchants/orders
功能:获取商家订单列表

PUT /api/merchants/orders/{orderId}/confirm
功能:确认订单

PUT /api/merchants/orders/{orderId}/ship
功能:发货
参数:
- trackingNumber: 快递单号
- carrier: 快递公司

PUT /api/merchants/orders/{orderId}/complete
功能:完成订单

6. 支付系统模块

6.1 支付接口

6.1.1 微信支付

POST /api/payments/wechat/create
功能:创建微信支付订单
参数:
- orderId: 订单ID
- amount: 支付金额
- description: 支付描述
- openid: 用户openid

POST /api/payments/wechat/notify
功能:微信支付回调处理

GET /api/payments/wechat/query/{orderId}
功能:查询支付状态

6.1.2 支付宝支付

POST /api/payments/alipay/create
功能:创建支付宝支付订单

POST /api/payments/alipay/notify
功能:支付宝支付回调处理

GET /api/payments/alipay/query/{orderId}
功能:查询支付状态

6.2 订单管理

6.2.1 订单创建

POST /api/orders
功能:创建订单
参数:
- type: 订单类型activity/product/adoption
- items: 订单项目
- amount: 订单金额
- paymentMethod: 支付方式
- deliveryAddress: 配送地址

GET /api/orders/{orderId}
功能:获取订单详情

GET /api/orders/my
功能:获取我的订单列表

6.2.2 订单状态管理

PATCH /api/orders/{orderId}/status
功能:更新订单状态
参数:
- status: 订单状态

POST /api/orders/{orderId}/refund
功能:申请退款
参数:
- reason: 退款原因
- amount: 退款金额

PUT /api/orders/{orderId}/refund/approve
功能:审核退款申请

6.3 财务管理

6.3.1 账户管理

GET /api/wallet/balance
功能:获取账户余额

POST /api/wallet/recharge
功能:账户充值
参数:
- amount: 充值金额
- paymentMethod: 支付方式

POST /api/wallet/withdraw
功能:申请提现
参数:
- amount: 提现金额
- bankAccount: 银行账户

6.3.2 交易记录

GET /api/transactions
功能:获取交易记录
参数:
- type: 交易类型
- startDate: 开始日期
- endDate: 结束日期
- status: 交易状态

GET /api/transactions/{transactionId}
功能:获取交易详情

7. 消息通知模块

7.1 消息系统

7.1.1 站内消息

POST /api/messages
功能:发送站内消息
参数:
- receiverId: 接收者ID
- type: 消息类型
- title: 消息标题
- content: 消息内容

GET /api/messages
功能:获取消息列表
参数:
- type: 消息类型
- status: 读取状态

PUT /api/messages/{messageId}/read
功能:标记消息已读

7.1.2 推送通知

POST /api/notifications/push
功能:发送推送通知
参数:
- userIds: 用户ID列表
- title: 通知标题
- content: 通知内容
- type: 通知类型

GET /api/notifications/settings
功能:获取通知设置

PUT /api/notifications/settings
功能:更新通知设置

7.2 短信服务

7.2.1 验证码短信

POST /api/sms/verification
功能:发送验证码短信
参数:
- phone: 手机号码
- type: 验证类型
- template: 短信模板

POST /api/sms/verify
功能:验证短信验证码
参数:
- phone: 手机号码
- code: 验证码

7.2.2 通知短信

POST /api/sms/notification
功能:发送通知短信
参数:
- phone: 手机号码
- template: 短信模板
- params: 模板参数

GET /api/sms/records
功能:获取短信发送记录

7.3 邮件服务

7.3.1 邮件发送

POST /api/emails/send
功能:发送邮件
参数:
- to: 收件人邮箱
- subject: 邮件主题
- content: 邮件内容
- template: 邮件模板

GET /api/emails/templates
功能:获取邮件模板列表

POST /api/emails/templates
功能:创建邮件模板

8. 文件管理模块

8.1 文件上传

8.1.1 图片上传

POST /api/files/images/upload
功能:上传图片文件
参数:
- file: 图片文件
- type: 图片类型avatar/product/activity等
- compress: 是否压缩

POST /api/files/images/batch
功能:批量上传图片
参数:
- files: 图片文件数组

8.1.2 文档上传

POST /api/files/documents/upload
功能:上传文档文件
参数:
- file: 文档文件
- type: 文档类型

GET /api/files/{fileId}
功能:获取文件信息

DELETE /api/files/{fileId}
功能:删除文件

8.2 文件管理

8.2.1 文件列表

GET /api/files
功能:获取文件列表
参数:
- type: 文件类型
- userId: 用户ID
- page: 页码
- limit: 每页数量

GET /api/files/storage/usage
功能:获取存储使用情况

8.2.2 文件处理

POST /api/files/images/resize
功能:图片尺寸调整
参数:
- fileId: 文件ID
- width: 宽度
- height: 高度

POST /api/files/images/watermark
功能:添加水印
参数:
- fileId: 文件ID
- watermark: 水印内容

9. 数据统计模块

9.1 用户统计

9.1.1 用户数据

GET /api/statistics/users/overview
功能:获取用户概览统计

GET /api/statistics/users/growth
功能:获取用户增长统计
参数:
- startDate: 开始日期
- endDate: 结束日期
- granularity: 统计粒度day/week/month

GET /api/statistics/users/activity
功能:获取用户活跃度统计

9.1.2 用户行为

GET /api/statistics/users/behavior
功能:获取用户行为统计

POST /api/statistics/events/track
功能:记录用户行为事件
参数:
- event: 事件名称
- properties: 事件属性
- userId: 用户ID

9.2 业务统计

9.2.1 活动统计

GET /api/statistics/activities/overview
功能:获取活动概览统计

GET /api/statistics/activities/popular
功能:获取热门活动统计

GET /api/statistics/activities/conversion
功能:获取活动转化率统计

9.2.2 交易统计

GET /api/statistics/transactions/overview
功能:获取交易概览统计

GET /api/statistics/transactions/revenue
功能:获取收入统计

GET /api/statistics/merchants/performance
功能:获取商家业绩统计

10. 系统管理模块

10.1 配置管理

10.1.1 系统配置

GET /api/system/config
功能:获取系统配置

PUT /api/system/config
功能:更新系统配置
参数:
- key: 配置键
- value: 配置值
- description: 配置描述

GET /api/system/config/{key}
功能:获取指定配置项

10.1.2 参数管理

GET /api/system/parameters
功能:获取系统参数列表

PUT /api/system/parameters/{key}
功能:更新系统参数
参数:
- value: 参数值

10.2 日志管理

10.2.1 操作日志

GET /api/system/logs/operations
功能:获取操作日志
参数:
- userId: 用户ID
- action: 操作类型
- startDate: 开始日期
- endDate: 结束日期

POST /api/system/logs/operations
功能:记录操作日志
参数:
- action: 操作类型
- resource: 操作资源
- details: 操作详情

10.2.2 错误日志

GET /api/system/logs/errors
功能:获取错误日志

POST /api/system/logs/errors
功能:记录错误日志
参数:
- level: 错误级别
- message: 错误消息
- stack: 错误堆栈
- context: 错误上下文

10.3 监控管理

10.3.1 系统监控

GET /api/system/health
功能:系统健康检查

GET /api/system/metrics
功能:获取系统指标
参数:
- metric: 指标类型
- timeRange: 时间范围

GET /api/system/status
功能:获取系统状态

10.3.2 性能监控

GET /api/system/performance
功能:获取性能数据

GET /api/system/performance/api
功能获取API性能统计

GET /api/system/performance/database
功能:获取数据库性能统计