# syrj_system **Repository Path**: yunxiplus/syrj_system ## Basic Information - **Project Name**: syrj_system - **Description**: 食遇日记-遇见最好的美食 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-03 - **Last Updated**: 2026-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 食遇日记 ![Java](https://img.shields.io/badge/Java-17-orange?style=flat-square&logo=openjdk) ![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.2-green?style=flat-square&logo=springboot) ![Vue](https://img.shields.io/badge/Vue-3.4-brightgreen?style=flat-square&logo=vue.js) ![UniApp](https://img.shields.io/badge/UniApp-小程序-blue?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-yellow?style=flat-square) **面向餐饮连锁/加盟场景的智慧点餐 + 外卖配送 + 分销裂变平台** 基于 [Mars Admin](https://gitee.com/Marsfactory/mars-admin) 企业级后台框架构建 [详细设计文档](docs/食遇日记系统详细设计文档.md) · [小程序开发文档](docs/食遇日记系小程序文档%20.md)
--- ## 项目简介 食遇日记(`syrj_system`)是一套覆盖 **平台管理、区域总代、商户经营、用户消费、骑手配送** 的全链路餐饮 SaaS 系统,支持堂食点餐、外卖配送、商城购物、会员营销、财务结算等核心业务。 | 端 | 技术栈 | 角色 | |---|---|---| | Web 管理后台 | Vue 3 + Vite + Naive UI(`mars-ui`) | 平台管理员、区域总代、商户后台 | | 微信小程序 · 用户端 | uni-app + uView Plus(`syrj-uniapp` 主包) | 普通消费者 | | 微信小程序 · 商户端 | uni-app 分包 `pages-merchant` | 门店经营者 | | 微信小程序 · 骑手端 | uni-app 分包 `pages-rider` | 配送人员 | | 后端服务 | Spring Boot 多模块(`mars-admin-api` / `mars-app-api` / `mars-biz`) | API 提供方 | ## 技术架构 ``` ┌─────────────────────────────────────────────────────────────┐ │ mars-ui (Web Admin) │ syrj-uniapp (用户/商户/骑手) │ └───────────┬───────────┴──────────────────┬──────────────────┘ │ /api 反向代理 │ ┌───────────▼──────────────────────────────▼──────────────────┐ │ mars-admin-api mars-app-api │ │ (管理端 /syrj/**) (小程序 /app/**) │ └───────────┬──────────────────────────────┬──────────────────┘ │ │ ┌───────────▼──────────────────────────────▼──────────────────┐ │ mars-biz (业务 Service) · mars-common · mars-infra │ │ mars-system / mars-auth / mars-file / mars-message / ... │ └───────────┬─────────────────────────────────────────────────┘ │ ┌───────────▼─────────────────────────────────────────────────┐ │ syrj_system 数据库 │ │ mars-system.sql(系统表) + syrj.sql(业务表 + 种子数据) │ └─────────────────────────────────────────────────────────────┘ ``` ## 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|------|------| | Spring Boot | 3.2.2 | 基础框架 | | MyBatis-Plus | 3.5.5 | ORM 框架 | | Sa-Token | 1.37.0 | 权限认证框架 | | Redis | 7.0+ | 缓存/会话存储 | | MySQL | 8.0+ | 数据库 | | Druid | 1.2.23 | 数据库连接池 | | Quartz | 2.3.2 | 定时任务框架 | | Hutool | 5.8.25 | Java 工具类库 | ### 前端(PC 管理后台) | 技术 | 版本 | 说明 | |------|------|------| | Vue | 3.4.15 | 前端框架 | | Vite | 5.0.11 | 构建工具 | | TypeScript | 5.3.3 | 类型安全 | | Naive UI | 2.37.3 | UI 组件库 | | Pinia | 2.1.7 | 状态管理 | | ECharts | 6.0.0 | 图表库 | ### 移动端(微信小程序) | 技术 | 版本 | 说明 | |------|------|------| | UniApp | - | 跨平台框架 | | uView Plus | 3.3.36 | UI 组件库 | | crypto-js | 4.2.0 | 接口加解密 | ## 项目结构 ``` syrj_system ├── mars-common # 公共基础模块(实体、异常、响应封装、工具类) ├── mars-infra # 基础设施层 │ ├── mars-db / mars-redis / mars-oss / mars-sms / mars-pay │ ├── mars-push / mars-social / mars-wechat / mars-websocket │ ├── mars-crypto / mars-mail │ └── ... ├── mars-core # 业务核心层 │ ├── mars-biz # 食遇日记业务模块(订单、菜品、会员、配送等) │ ├── mars-system # 系统管理(用户、角色、菜单、字典等) │ ├── mars-auth # 认证授权(多策略登录) │ ├── mars-file # 文件管理 │ ├── mars-gen # 代码生成 │ └── mars-message # 消息中心 ├── mars-api # 接口层 │ ├── mars-admin-api # 管理端接口(/syrj/** 业务 + 系统管理) │ ├── mars-app-api # 小程序接口(/app/**) │ └── mars-web-api # 网页端接口 ├── mars-job # 定时任务模块 ├── mars-starter # 启动入口(application-dev.yml) ├── mars-ui # Web 管理后台 │ └── src/views/syrj/ # 食遇日记业务页面(50+ 页面) ├── syrj-uniapp # 微信小程序(三端一体) │ ├── pages/ # 用户端主包(门店、点餐、订单、会员、商城等) │ ├── pages-merchant/ # 商户端分包(工作台、订单、商品、采购) │ └── pages-rider/ # 骑手端分包(接单、配送、收入) ├── sql │ ├── mars-system.sql # Mars Admin 系统表 + 初始数据 │ └── syrj.sql # 食遇日记业务表 + 菜单权限 + 测试种子数据 ├── docs/ # 产品设计文档、详细设计、原型 └── doc/ # API 冒烟测试脚本(smoke-*.js) ``` ## 功能模块 ### 用户端小程序 - **门店与点餐** — 门店首页、菜单浏览、购物车、堂食/自提/外卖下单 - **订单履约** — 订单列表、详情、支付收银、配送跟踪 - **会员中心** — 会员充值、优惠券、积分商城、收藏、地址管理 - **营销活动** — 排队取号、团购、预定、商城购物 ### 商户端小程序 - **经营看板** — 首页数据概览 - **订单管理** — 全部/外卖/自提/堂食订单处理 - **商品与采购** — 商品管理、采购单、售后 ### 骑手端小程序 - **配送作业** — 待接单、配送中、收入统计、个人设置 ### Web 管理后台 - **平台管理** — 租户、品牌、门店、代理、激活码、数据中心 - **商品与库存** — 菜品分类、菜品、套餐、库存、采购 - **订单与履约** — 订单管理、退款、配送、骑手、KDS 后厨大屏 - **营销与会员** — 优惠券、团购、预定、积分商品、充值规则、会员计划 - **商城** — 商城分类、商品、满减活动 - **财务** — 门店账单、提现审核、收银台 - **门店运营** — 台桌、打印机、Banner、装修、排队 ### 基础能力(Mars Admin 基座) - RBAC 权限管理、多租户隔离、操作/登录日志 - 多种登录方式(密码/短信/社交/小程序)、接口 RSA 加密 - 文件存储策略(本地/MinIO/阿里云 OSS)、短信/支付/推送策略工厂 - 系统监控、定时任务、代码生成器、即时通讯 ## 快速开始 ### 环境准备 - JDK 17+ - Maven 3.8+ - MySQL 8.0+ - Redis 7.0+ - Node.js 18+ - HBuilderX(小程序开发,可选) ### 1. 克隆项目 ```bash git clone https://gitee.com/yunxiplus/syrj_system.git cd syrj_system ``` ### 2. 初始化数据库 ```sql CREATE DATABASE syrj_system DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; ``` ```bash # 先导入系统表,再导入业务表与种子数据 mysql -u root -p syrj_system < sql/mars-system.sql mysql -u root -p syrj_system < sql/syrj.sql ``` ### 3. 修改配置 编辑 `mars-starter/src/main/resources/application-dev.yml`,配置数据库与 Redis: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/syrj_system?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 username: root password: your_password data: redis: host: localhost port: 6379 password: database: 6 ``` ### 4. 启动后端 ```bash mvn clean install -DskipTests cd mars-starter mvn spring-boot:run ``` 后端默认运行在 `http://localhost:8080` ### 5. 启动前端 ```bash cd mars-ui npm install npm run dev ``` 前端默认运行在 `http://localhost:3000`,通过 Vite 代理转发 `/api` 到后端。 ### 6. 启动小程序 使用 HBuilderX 打开 `syrj-uniapp` 目录,配置小程序 AppID 后运行到微信开发者工具。 > 小程序 API 封装见 `syrj-uniapp/utils/syrj-api.js`,统一导航见 `utils/nav.js`。 ### 默认账号 | 账号 | 密码 | 说明 | |------|------|------| | admin | admin123 | 超级管理员(`mars-system.sql` 种子数据) | ## 冒烟测试 `doc/` 目录提供按里程碑划分的 API 冒烟脚本,可用于联调验证: ```bash # 示例:用户端门店首页 node doc/smoke-p01-store.js # 示例:管理端 M7 验收 node doc/smoke-m7-step1.js ``` 公共请求库见 `doc/smoke-lib.js`(含 AES 解密与登录逻辑)。 ## 开发指南 ### 文档索引 | 文档 | 说明 | |------|------| | [食遇日记系统详细设计文档](docs/食遇日记系统详细设计文档.md) | 架构、接口契约、里程碑进度 | | [食遇日记小程序文档](docs/食遇日记系小程序文档%20.md) | 小程序信息架构、导航规范 | | [食遇日记功能点](docs/食遇日记功能点.html) | 全端功能清单 | | [食遇日记原型设计](docs/食遇日记系统原型设计.html) | UI 原型与交互基准 | | `.agents/skills/` | 后端、前端、MySQL、UniApp 开发规范 | ### 新增业务模块(推荐流程) 1. 在 `mars-core/mars-biz` 下创建 entity / mapper / service 2. 在 `mars-api/mars-admin-api/controller/syrj` 或 `mars-app-api/controller` 下创建 Controller 3. 在 `mars-ui/src/views/syrj` 或 `syrj-uniapp/pages` 下实现前端页面 4. 在 `sql/syrj.sql` 中维护表结构与菜单权限 5. 编写 `doc/smoke-*.js` 冒烟脚本验证闭环 ### 权限控制 ```java @SaCheckPermission("syrj:order:list") @GetMapping("/list") public Result> list(OrderQuery query) { // ... } ``` ### 操作日志 ```java @Log(title = "订单管理", businessType = BusinessType.UPDATE) @PutMapping("/{id}") public Result update(@PathVariable Long id, @RequestBody OrderDTO dto) { // ... } ``` ## 里程碑进度 | 里程碑 | 名称 | 状态 | |--------|------|------| | M1 | 基础底座与认证 | ✅ 已验收 | | M2 | 用户端门店首页 & 点餐闭环 | ✅ 已验收 | | M3 | 订单履约 & 商户移动端 | ✅ 已验收 | | M4 | 外卖配送 & 骑手端 | ✅ 已验收 | | M5 | 排队/团购/预定/会员营销 | ✅ 已验收 | | M6 | 商城 & 购物车 | ✅ 已验收 | | M7 | 平台管理端 & 区域总代 | ✅ 已验收 | | M8 | 后厨大屏 & 收银台 & 财务提现 | ✅ 已验收 | ## 开源协议 本项目基于 [MIT License](LICENSE) 开源。底层框架 [Mars Admin](https://gitee.com/Marsfactory/mars-admin) 同样采用 MIT 协议。 ---
**食遇日记 — 让每一餐都有温度**