🏠 首页 📄 需求文档 ⚙️ 开发文档

生鲜食材配送 &
团餐管理 一站式平台

从采购、仓储、分拣到配送全链路数字化,助力生鲜配送企业与团餐服务商降本增效。

1000+

合作客户

5000+

SKU 商品

99.6%

准时配送率

全链路数字化管理

采购管理 智能分拣 冷链配送 团餐订制 财务结算

核心功能模块

覆盖生鲜配送与团餐业务全场景

📦

商品管理

SPU/SKU 管理、品类树、阶梯定价、批次质检

📋

采购管理

供应商管理、智能采购建议、采购订单全流程

🏭

仓储库存

库位管理、扫码出入库、保质期预警、盘点

🔀

智能分拣

波次分拣、PDA 扫码称重、差异处理、标签打印

🚚

配送管理

线路规划、冷链监控、电子签收、回单管理

🍱

团餐管理

周菜单定制、批量下单、人数预报、营养分析

💰

财务结算

账期管理、供应商结算、应收应付、发票

📊

数据报表

销售分析、损耗报表、配送准时率、客户画像

端到端业务流程

从田间到餐桌的全链路数字化闭环

1

供应商
供货

2

采购
入库

3

仓储
分拣

4

装车
配送

5

客户
签收

开始构建您的数字化供应链

需求文档 · 开发文档 · 技术架构已就绪,即刻启动项目

📄 查看需求文档 ⚙️ 查看开发文档

生鲜食材配送与团餐管理系统 — 需求文档

1. 项目概述

构建一套面向生鲜食材配送企业和团餐服务商的 B2B/B2C 一体化管理平台,覆盖采购、仓储、分拣、配送、团餐订制、财务结算全链路。

1.1 核心目标

1.2 用户角色

角色说明
系统管理员全局配置、角色权限、数据审计
采购员供应商管理、采购下单、入库
仓管员库存管理、分拣任务、损耗登记
配送员配送任务查看、签收确认、回单上传
销售/客服客户管理、订单处理、售后
团餐客户在线下单、菜单预订、配送跟踪
供应商商品上架、供货确认、结算对账

2. 功能模块

2.1 商品管理

2.2 采购管理

2.3 仓储管理

2.4 分拣管理

2.5 配送管理

2.6 团餐管理

2.7 订单管理

2.8 财务结算

2.9 数据报表

2.10 系统管理


3. 非功能需求

类别要求
性能订单并发 ≥ 500 TPS,页面加载 ≤ 2s
可用性系统 99.9% 可用,支持故障自动切换
安全HTTPS、数据加密、防 SQL 注入、防 XSS
扩展性微服务架构,支持水平扩展
兼容性支持 Chrome / 微信内置浏览器 / 移动端 H5
数据备份每日全量备份 + 增量 binlog

4. 业务流程简图

供应商 → 采购入库 → 中央冷库 → 分拣打包 → 装车配送 → 客户签收
               ↓                      ↑
          库存预警 ←—— 销售订单 —— 团餐预订

5. 验收标准

生鲜食材配送与团餐管理系统 — 开发文档

1. 技术架构

1.1 整体架构图

┌─────────────────────────────────────────────────┐ │ 客户端层 │ │ PC管理后台(Vue3) 微信小程序 H5移动端 PDA端 │ └──────────────────────┬──────────────────────────┘ │ HTTPS / WebSocket ┌──────────────────────▼──────────────────────────┐ │ API 网关 (Kong/Nginx) │ │ 认证鉴权 · 限流 · 路由 │ └──────────────────────┬──────────────────────────┘ │ ┌──────────────────────▼──────────────────────────┐ │ 微服务层 (Go / Java Spring Boot) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ 用户服务 │ │ 商品服务 │ │ 订单服务 │ │ │ ├──────────┤ ├──────────┤ ├──────────────────┤ │ │ │ 库存服务 │ │ 采购服务 │ │ 配送服务 │ │ │ ├──────────┤ ├──────────┤ ├──────────────────┤ │ │ │ 团餐服务 │ │ 结算服务 │ │ 报表服务 │ │ │ └──────────┘ └──────────┘ └──────────────────┘ │ └──────────────────────┬──────────────────────────┘ │ ┌──────────────────────▼──────────────────────────┐ │ 基础设施层 │ │ MySQL(RDS) Redis MongoDB RabbitMQ ES │ │ MinIO(OSS) Prometheus Grafana ELK │ └─────────────────────────────────────────────────┘

1.2 技术选型

技术栈选型说明
后端语言Go 1.22+ / Java 21Go 负责高并发业务,Java 负责复杂结算
微服务框架Go-Kratos / Spring Cloud Alibaba服务注册发现、配置中心
API 网关Kong路由、限流、认证
数据库MySQL 8.0 + TiDB(分片场景)关系数据
缓存Redis 7.x热点数据、分布式锁
消息队列RabbitMQ / RocketMQ订单异步处理、配送推送
搜索引擎Elasticsearch 8.x商品搜索、日志分析
对象存储MinIO / 阿里云 OSS图片、回单、质检附件
前端Vue 3 + Element Plus + TypeScript管理后台
移动端uni-app(小程序 + H5)客户下单、配送员端
监控Prometheus + Grafana + ELK指标采集、日志聚合
CI/CDGitLab CI + Docker + K8s自动化构建部署

1.3 数据库设计原则


2. 核心数据模型

2.1 商品 (product)

CREATE TABLE `product` (
  `id`          BIGINT       NOT NULL PRIMARY KEY,
  `spu_code`    VARCHAR(32)  NOT NULL COMMENT 'SPU编码',
  `sku_code`    VARCHAR(32)  NOT NULL COMMENT 'SKU编码',
  `name`        VARCHAR(128) NOT NULL COMMENT '商品名称',
  `category_id` BIGINT       NOT NULL COMMENT '品类ID',
  `unit`        VARCHAR(10)  NOT NULL COMMENT '单位: 斤/箱/份',
  `spec`        VARCHAR(64)  DEFAULT '' COMMENT '规格描述',
  `price`       DECIMAL(12,2) NOT NULL COMMENT '零售价',
  `cost_price`  DECIMAL(12,2) NOT NULL COMMENT '成本价',
  `barcode`     VARCHAR(32)  DEFAULT '' COMMENT '条形码',
  `status`      TINYINT      NOT NULL DEFAULT 1 COMMENT '1上架 0下架',
  `images`      JSON         COMMENT '商品图片',
  `created_at`  DATETIME     NOT NULL,
  `updated_at`  DATETIME     NOT NULL,
  `deleted_at`  DATETIME     DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2.2 订单 (order)

CREATE TABLE `order` (
  `id`            BIGINT       NOT NULL PRIMARY KEY,
  `order_no`      VARCHAR(32)  NOT NULL UNIQUE COMMENT '订单号',
  `customer_id`   BIGINT       NOT NULL COMMENT '客户ID',
  `order_type`    TINYINT      NOT NULL COMMENT '1普通 2团餐',
  `total_amount`  DECIMAL(12,2) NOT NULL COMMENT '订单总额',
  `discount`      DECIMAL(12,2) DEFAULT 0 COMMENT '优惠金额',
  `pay_amount`    DECIMAL(12,2) NOT NULL COMMENT '实付金额',
  `status`        TINYINT      NOT NULL COMMENT '0待审核 1已审核 2分拣中 3配送中 4已签收 5已取消',
  `delivery_date` DATE         NOT NULL COMMENT '配送日期',
  `delivery_time_slot` VARCHAR(32) COMMENT '配送时段',
  `remark`        VARCHAR(255) DEFAULT '' COMMENT '备注',
  `created_at`    DATETIME     NOT NULL,
  `updated_at`    DATETIME     NOT NULL,
  `deleted_at`    DATETIME     DEFAULT NULL,
  INDEX `idx_customer` (`customer_id`),
  INDEX `idx_date` (`delivery_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2.3 配送任务 (delivery_task)

CREATE TABLE `delivery_task` (
  `id`            BIGINT       NOT NULL PRIMARY KEY,
  `task_no`       VARCHAR(32)  NOT NULL UNIQUE COMMENT '任务编号',
  `driver_id`     BIGINT       NOT NULL COMMENT '配送员ID',
  `vehicle_id`    VARCHAR(32)  COMMENT '车辆编号',
  `route_id`      BIGINT       COMMENT '线路ID',
  `order_ids`     JSON         NOT NULL COMMENT '关联订单ID列表',
  `total_stops`   INT          NOT NULL DEFAULT 0 COMMENT '配送点数',
  `status`        TINYINT      NOT NULL COMMENT '0待装车 1配送中 2已完成',
  `depart_time`   DATETIME     COMMENT '发车时间',
  `finish_time`   DATETIME     COMMENT '完成时间',
  `created_at`    DATETIME     NOT NULL,
  `updated_at`    DATETIME     NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

2.4 团餐菜单 (group_menu)

CREATE TABLE `group_menu` (
  `id`            BIGINT       NOT NULL PRIMARY KEY,
  `customer_id`   BIGINT       NOT NULL COMMENT '客户(食堂)ID',
  `menu_name`     VARCHAR(64)  NOT NULL COMMENT '菜单名称',
  `menu_date`     DATE         NOT NULL COMMENT '菜单日期',
  `menu_type`     TINYINT      NOT NULL COMMENT '1早餐 2午餐 3晚餐',
  `items`         JSON         NOT NULL COMMENT '菜品列表 [{dish_id, dish_name, quantity, unit_price}]',
  `total_calories` INT         DEFAULT 0 COMMENT '总卡路里',
  `status`        TINYINT      DEFAULT 0 COMMENT '0草稿 1已发布',
  `created_at`    DATETIME     NOT NULL,
  `updated_at`    DATETIME     NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

3. API 设计规范

3.1 命名规则

GET    /api/v1/products          — 商品列表(分页)
POST   /api/v1/products          — 新增商品
GET    /api/v1/products/{id}     — 商品详情
PUT    /api/v1/products/{id}     — 更新商品
DELETE /api/v1/products/{id}     — 删除商品

GET    /api/v1/orders?status=1&date=2026-06-02  — 订单列表
POST   /api/v1/orders            — 创建订单
GET    /api/v1/orders/{orderNo}  — 订单详情
PUT    /api/v1/orders/{orderNo}/status  — 更新订单状态

3.2 统一响应格式

{
  "code": 0,
  "message": "success",
  "data": {},
  "trace_id": "xxx"
}

3.3 分页请求/响应

// 请求
{ "page": 1, "page_size": 20 }

// 响应
{
  "code": 0,
  "data": {
    "list": [],
    "total": 100,
    "page": 1,
    "page_size": 20
  }
}

4. 关键业务流程代码示例

4.1 订单状态机

var OrderStateMachine = map[OrderStatus][]OrderStatus{
    StatusPending:    {StatusApproved, StatusCancelled},
    StatusApproved:   {StatusPicking, StatusCancelled},
    StatusPicking:    {StatusDelivering, StatusCancelled},
    StatusDelivering: {StatusSigned, StatusRejected},
    StatusSigned:     {},
    StatusCancelled:  {},
    StatusRejected:   {},
}

4.2 分拣波次算法(伪代码)

1. 查询当天待分拣订单,按 delivery_route_id 分组
2. 同线路订单聚合为波次
3. 按商品 SKU 汇总数量,生成分拣总单
4. 分拣员扫码分拣 → 称重 → 贴标 → 按客户分筐
5. 装车前扫码核单确认

5. 部署架构

# docker-compose 示意
services:
  gateway:
    image: kong:3.5
  user-svc:
    image: registry.example.com/user-svc:latest
  product-svc:
    image: registry.example.com/product-svc:latest
  order-svc:
    image: registry.example.com/order-svc:latest
  delivery-svc:
    image: registry.example.com/delivery-svc:latest
  group-meal-svc:
    image: registry.example.com/group-meal-svc:latest
  mysql:
    image: mysql:8.0
  redis:
    image: redis:7-alpine
  rabbitmq:
    image: rabbitmq:3-management

生产环境 K8s:每个微服务 2-4 副本,配置 HPA(CPU > 70% 自动扩容)。


6. 开发规范

规范要求
代码风格Go 使用 gofmt / Java 使用 Alibaba Java Guide
Git 分支main / develop / feature/* / hotfix/*
Commit 信息feat: / fix: / refactor: / docs: 前缀
API 文档Swagger/OpenAPI 3.0 自动生成
单元测试核心业务覆盖率 ≥ 80%
代码审查所有 PR 需 ≥ 1 人 Review 后合并

7. 环境规划

环境用途域名示例
dev开发自测dev.api.example.com
test测试验证test.api.example.com
staging预发布staging.api.example.com
prod生产api.example.com

8. 开发里程碑

阶段周期产出
需求确认2 周需求文档、原型图
技术设计1 周数据库设计、接口定义
基础框架搭建2 周脚手架、CI/CD、数据库初始化
核心业务开发6 周商品、订单、库存、采购
团餐模块开发3 周菜单、团餐订单、食堂管理
配送与分拣3 周分拣PDA、配送App、路线规划
结算与报表2 周财务结算、数据报表
联调测试2 周全链路联调、压力测试
上线部署1 周生产环境部署、数据迁移