# Lyzsys 项目介绍

## 📖 目录

- [项目简介](#项目简介)
- [核心特性](#核心特性)
- [技术架构](#技术架构)
- [功能模块](#功能模块)
- [快速开始](#快速开始)
- [项目展示](#项目展示)
- [适用场景](#适用场景)
- [开源协议](#开源协议)

---

## 项目简介

Lyzsys 是一个**企业级后台管理系统**，基于 Spring Boot + Vue 3 技术栈构建，采用前后端分离架构。项目集成了丰富的企业级功能，包括权限管理、工作流、多租户、AI 集成等，适用于各类企业管理系统的快速开发。

### 项目定位

- **快速开发平台**: 提供完整的代码生成器和脚手架，快速构建业务系统
- **企业级框架**: 内置权限、工作流、多租户等企业通用功能
- **微服务就绪**: 模块化设计，便于未来微服务化改造
- **AI 集成**: 原生支持多个 AI 服务提供商，便于构建智能化应用

### 版本说明

| 版本 | JDK 8 + Spring Boot 2.7 | JDK 17/21 + Spring Boot 3.2 |
|------|-------------------------|----------------------------|
| 【完整版】lyzsys | `master` 分支 | `master-jdk17` 分支 |
| 【精简版】lyzsys-mini | `mini` 分支 | `mini-jdk17` 分支 |

- **完整版**: 包括系统功能、基础设施、工作流、商城、CRM、ERP、AI 等所有模块
- **精简版**: 只包括系统功能和基础设施，适用于简单场景

---

## 核心特性

### 🎯 技术特性

#### 1. 模块化架构

- **Maven 多模块**: 清晰的模块划分，便于维护和扩展
- **前后端分离**: 独立部署，提升开发效率
- **微服务就绪**: 模块化设计便于微服务化改造

#### 2. 权限管理

- **RBAC 权限模型**: 基于角色的访问控制
- **数据权限**: 支持全部、本部门、本部门及以下、仅本人等数据权限
- **按钮级权限**: 细粒度的功能权限控制
- **动态菜单**: 根据权限动态生成菜单

#### 3. 多租户支持

- **SaaS 多租户**: 原生支持多租户场景
- **租户隔离**: 数据库级别的租户隔离
- **租户套餐**: 灵活的租户权限配置

#### 4. 工作流引擎

- **Flowable 集成**: 强大的工作流引擎
- **双设计器**: BPMN 标准设计器 + 仿钉钉/飞书简易设计器
- **流程管理**: 支持会签、或签、驳回、转办、委派等复杂流程操作

#### 5. AI 集成

- **多 AI 支持**: 支持 OpenAI、通义千问、文心一言等多个 AI 服务
- **AI 聊天**: 内置 AI 对话功能
- **AI 绘图**: 支持 AI 图片生成
- **知识库**: AI 知识库管理和检索

#### 6. 开发效率

- **代码生成器**: 一键生成前后端代码、SQL 脚本、接口文档
- **在线表单**: 拖拽式表单设计器
- **报表设计**: 可视化报表和大屏设计器
- **API 文档**: 自动生成 Swagger/Knife4j 接口文档

### 🛡️ 安全特性

- **Spring Security**: 企业级安全框架
- **JWT 认证**: 无状态认证机制
- **密码加密**: BCrypt 加密存储
- **API 加密**: 支持请求/响应加密
- **XSS 防护**: 内置 XSS 过滤器
- **操作日志**: 完整的操作审计日志

### ⚡ 性能特性

- **Redis 缓存**: 高性能缓存支持
- **数据库优化**: MyBatis Plus 增强，支持分页、排序、筛选
- **分布式锁**: 基于 Redisson 的分布式锁
- **消息队列**: 异步处理提升性能
- **连接池**: Druid 监控的数据库连接池

---

## 技术架构

### 整体架构

```
┌─────────────────────────────────────────────────────────────┐
│                        前端应用                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐      │
│  │ lyzsys-ui-   │  │ lyzsys-ui-   │  │ lyzsys-mall- │      │
│  │ admin-vue3   │  │ admin-uniapp │  │   uniapp     │      │
│  │  (PC端管理)   │  │  (移动端管理) │  │  (用户App)   │      │
│  └──────────────┘  └──────────────┘  └──────────────┘      │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                      lyzsys-server                          │
│                   (后端服务启动模块)                         │
└─────────────────────────────────────────────────────────────┘
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
        ▼                     ▼                     ▼
┌──────────────┐    ┌──────────────────┐    ┌──────────────┐
│ lyzsys-      │    │ lyzsys-module-xxx│    │lyzsys-       │
│ framework    │    │   (业务模块)      │    │dependencies  │
│ (框架组件)    │    │                  │    │ (依赖管理)    │
└──────────────┘    └──────────────────┘    └──────────────┘
        │
        ├─── lyzsys-common (通用组件)
        ├─── lyzsys-spring-boot-starter-web (Web 封装)
        ├─── lyzsys-spring-boot-starter-security (安全认证)
        ├─── lyzsys-spring-boot-starter-mybatis (数据库)
        ├─── lyzsys-spring-boot-starter-redis (缓存)
        ├─── lyzsys-spring-boot-starter-biz-tenant (多租户)
        └─── ...
                              │
        ┌─────────────────────┼─────────────────────┐
        │                     │                     │
        ▼                     ▼                     ▼
┌──────────────┐    ┌──────────────────┐    ┌──────────────┐
│   MySQL      │    │     Redis        │    │    MinIO     │
│  (主数据库)   │    │    (缓存数据库)    │    │  (文件存储)   │
└──────────────┘    └──────────────────┘    └──────────────┘
```

### 技术选型

#### 后端技术栈

| 技术 | 版本 | 说明 |
|------|------|------|
| Spring Boot | 2.7.18 | 应用开发框架 |
| Spring Security | 5.8.16 | 安全框架 |
| MyBatis Plus | 3.5.15 | ORM 增强框架 |
| Flowable | 6.8.0 | 工作流引擎 |
| Redisson | 3.52.0 | 分布式锁客户端 |
| Quartz | 2.3.2 | 定时任务 |
| Knife4j | 3.0.3 | API 文档 |
| MySQL | 5.7+ | 关系型数据库 |
| Redis | 5.0+ | 缓存数据库 |

#### 前端技术栈

| 技术 | 版本 | 说明 |
|------|------|------|
| Vue | 3.2+ | 渐进式 JavaScript 框架 |
| TypeScript | 4.x | JavaScript 超集 |
| Vite | 4.x | 构建工具 |
| Element Plus | 2.x | UI 组件库 |
| Pinia | 2.x | 状态管理 |
| Vue Router | 4.x | 路由管理 |
| ECharts | 5.x | 数据可视化 |
| WangEditor | 5.x | 富文本编辑器 |

---

## 功能模块

### 核心模块（必选）

#### 1. 系统功能模块 (lyzsys-module-system)

提供系统基础功能，是整个系统的基础。

| 功能 | 说明 |
|------|------|
| 用户管理 | 用户的增删改查、密码重置、导入导出 |
| 角色管理 | 角色权限分配、数据权限配置 |
| 菜单管理 | 动态菜单配置、按钮权限标识 |
| 部门管理 | 组织机构树形结构管理 |
| 岗位管理 | 用户岗位配置 |
| 字典管理 | 系统字典项维护 |
| 参数配置 | 系统动态参数配置 |
| 通知公告 | 系统通知发布管理 |
| 操作日志 | 用户操作审计日志 |
| 登录日志 | 登录成功/失败日志 |
| 在线用户 | 当前在线用户监控，支持踢出 |
| 租户管理 | SaaS 租户配置 |
| 租户套餐 | 租户权限套餐管理 |

#### 2. 基础设施模块 (lyzsys-module-infra)

提供技术基础设施功能。

| 功能 | 说明 |
|------|------|
| 代码生成 | 可视化代码生成，支持单表、树表、主子表 |
| 表单构建 | 拖拽式表单设计器 |
| 系统接口 | Swagger/Knife4j 接口文档 |
| 数据库文档 | Screw 自动生成数据库文档 |
| 文件管理 | 支持本地、MinIO、阿里云、腾讯云等存储 |
| 定时任务 | Quartz 在线定时任务管理 |
| API 日志 | 接口访问日志、异常日志 |
| MySQL 监控 | 数据库连接池监控 |
| Redis 监控 | Redis 使用情况监控 |
| 服务监控 | Spring Boot Admin 监控 |
| 链路追踪 | SkyWalking 链路追踪集成 |
| 日志中心 | 远程日志查看 |
| 服务保障 | 分布式锁、幂等、限流、熔断 |
| 消息队列 | Redis 消息队列支持 |

### 业务模块（可选）

#### 3. 工作流模块 (lyzsys-module-bpm)

基于 Flowable 的业务流程管理。

| 功能 | 说明 |
|------|------|
| 流程模型 | BPMN 2.0 流程建模 |
| 流程设计 | BPMN 设计器 + 简易设计器 |
| 流程实例 | 流程实例管理、发起、审批 |
| 任务管理 | 待办、已办、抄送任务 |
| 表单管理 | 流程表单配置 |
| 流程监听 | 流程事件监听配置 |

#### 4. 支付模块 (lyzsys-module-pay)

统一的支付接入平台。

| 功能 | 说明 |
|------|------|
| 应用管理 | 支付应用配置 |
| 支付渠道 | 微信支付、支付宝等渠道接入 |
| 支付订单 | 支付订单管理 |
| 退款订单 | 退款订单管理 |
| 回调通知 | 支付回调处理 |

#### 5. 会员模块 (lyzsys-module-member)

C 端会员管理功能。

| 功能 | 说明 |
|------|------|
| 会员管理 | 会员信息管理 |
| 会员标签 | 会员标签体系 |
| 会员等级 | 会员等级配置 |
| 会员分组 | 会员分组管理 |
| 积分签到 | 积分规则、签到记录 |

#### 6. 商城模块 (lyzsys-module-mall)

完整的电商系统。

| 功能 | 说明 |
|------|------|
| 商品管理 | 商品、分类、品牌管理 |
| 营销管理 | 优惠券、满减、秒杀等活动 |
| 订单管理 | 订单、售后、退款管理 |
| 购物车 | 购物车管理 |
| 收货地址 | 用户地址管理 |
| 物流管理 | 物流公司、物流跟踪 |
| 统计分析 | 销售统计、商品分析 |

#### 7. CRM 模块 (lyzsys-module-crm)

客户关系管理。

| 功能 | 说明 |
|------|------|
| 客户管理 | 客户信息管理 |
| 联系人 | 客户联系人管理 |
| 商机管理 | 销售商机跟进 |
| 合同管理 | 合同签订、管理 |
| 回款管理 | 回款计划、记录 |
| 产品管理 | CRM 产品管理 |

#### 8. ERP 模块 (lyzsys-module-erp)

企业资源计划。

| 功能 | 说明 |
|------|------|
| 采购管理 | 采购订单、入库单 |
| 销售管理 | 销售订单、出库单 |
| 库存管理 | 库存查询、库存预警 |
| 产品管理 | 产品、物料管理 |
| 供应商管理 | 供应商信息管理 |

#### 9. AI 模块 (lyzsys-module-ai)

AI 大模型集成。

| 功能 | 说明 |
|------|------|
| AI 聊天 | 对话式 AI 交互 |
| AI 绘图 | AI 图片生成 |
| 知识库 | AI 知识库管理 |
| API 管理 | AI API 密钥管理 |

#### 10. 报表模块 (lyzsys-module-report)

数据报表和大屏。

| 功能 | 说明 |
|------|------|
| 报表设计 | 可视化报表设计器 |
| 大屏设计 | 拖拽式大屏设计器 |
| 数据源 | 多种数据源支持 |

#### 11. 微信公众号 (lyzsys-module-mp)

微信公众号管理。

| 功能 | 说明 |
|------|------|
| 账号管理 | 公众号配置 |
| 粉丝管理 | 粉丝信息、标签管理 |
| 消息管理 | 消息发送、接收 |
| 自动回复 | 关注、关键词、消息回复 |
| 菜单管理 | 公众号菜单配置 |
| 素材管理 | 图片、视频等素材管理 |
| 图文管理 | 图文素材管理 |

#### 12. IoT 物联网 (lyzsys-module-iot)

物联网设备管理。

| 功能 | 说明 |
|------|------|
| 设备管理 | 设备注册、管理 |
| 产品管理 | IoT 产品定义 |
| 属性定义 | 设备属性配置 |
| 数据采集 | 设备数据采集 |
| 场景联动 | 设备场景规则 |

---

## 快速开始

### 环境要求

| 软件 | 版本要求 | 必需 |
|------|----------|------|
| JDK | 8+ | √ |
| MySQL | 5.7+ | √ |
| Redis | 5.0+ | √ |
| Node.js | 16+ | √ |
| Maven | 3.6+ | √ |

### 后端启动

```bash
# 1. 克隆项目
git clone https://github.com/your-org/lyzsys.git
cd lyzsys/lyzsys_backend

# 2. 导入数据库
mysql -u root -p < sql/lyzsys.sql

# 3. 修改配置
vi lyzsys-server/src/main/resources/application.yaml
# 配置数据库、Redis 连接信息

# 4. 启动后端
cd lyzsys-server
mvn spring-boot:run
```

访问: http://localhost:48080/doc.html

### 前端启动

```bash
# 1. 安装依赖
cd lyzsys-ui-admin
pnpm install

# 2. 启动开发服务器
pnpm dev
```

访问: http://localhost:5173

默认账号: `admin` / `admin123`

---

## 项目展示

### 系统功能

| 登录 & 首页 | 用户 & 应用 | 租户 & 套餐 | 部门 & 岗位 |
|------------|------------|------------|------------|
| ![登录](../.image/登录.jpg) | ![用户管理](../.image/用户管理.jpg) | ![租户管理](../.image/租户管理.jpg) | ![部门管理](../.image/部门管理.jpg) |

| 菜单 & 角色 | 审计日志 | 短信管理 | 字典 & 敏感词 |
|------------|------------|------------|------------|
| ![菜单管理](../.image/菜单管理.jpg) | ![操作日志](../.image/操作日志.jpg) | ![短信渠道](../.image/短信渠道.jpg) | ![字典类型](../.image/字典类型.jpg) |

### 工作流程

| 流程模型 | 我的流程 | 待办 & 已办 | OA 请假 |
|---------|---------|-----------|---------|
| ![流程模型](../.image/流程模型-列表.jpg) | ![我的流程](../.image/我的流程-列表.jpg) | ![任务列表](../.image/任务列表-待办.jpg) | ![OA请假](../.image/OA请假-列表.jpg) |

### 基础设施

| 代码生成 | 文档 | 文件 & 配置 | 定时任务 |
|---------|-----|------------|---------|
| ![代码生成](../.image/代码生成.jpg) | ![系统接口](../.image/系统接口.jpg) | ![文件配置](../.image/文件配置.jpg) | ![定时任务](../.image/定时任务.jpg) |

---

## 适用场景

### 适用行业

- **互联网**: SaaS 平台、内容管理、用户系统
- **制造业**: ERP、MES、设备管理
- **零售电商**: 商城系统、CRM、会员管理
- **金融服务**: 风控系统、审批流程
- **政府机构**: OA 系统、审批平台
- **教育培训**: 在线教育、学员管理
- **医疗健康**: HIS 系统、预约管理

### 适用场景

1. **企业内部系统**: OA、ERP、CRM、HR 等管理系统
2. **SaaS 平台**: 多租户 SaaS 应用开发
3. **电商系统**: 商城、订单、支付系统
4. **审批系统**: 工作流、审批流程定制
5. **AI 应用**: AI 对话、AI 知识库、AI 绘图

---

## 开源协议

本项目采用 **MIT 协议**开源，这意味着：

✅ 个人和企业可以 100% 免费使用
✅ 可以用于商业项目，无需保留类作者、Copyright 信息
✅ 可以自由修改、分发、二次开发
✅ 无任何商业版本限制

> 严肃声明：现在、未来都不会有商业版本，所有代码全部开源！

---

## 相关资源

### 官方资源

- **在线文档**: https://doc.iocoder.cn
- **视频教程**: https://doc.iocoder.cn/video/
- **Gitee 仓库**: https://gitee.com/zhijiantianya/ruoyi-vue-pro
- **GitHub 仓库**: https://github.com/YunaiV/ruoyi-vue-pro

### 参考项目

本项目基于以下开源项目进行二次开发和优化：

- **RuoYi-Vue**: 优秀的后台管理系统框架
- **Yudao Framework**: 芋道源码框架

### 技术支持

- **文档中心**: 完整的开发文档和使用指南
- **视频教程**: 从零开始的视频教程
- **社区支持**: GitHub Issues、Gitee Issues

---

## 更新日志

### v1.0.0 (2025-01-19)

- 🎉 首次发布 Lyzsys 系统
- ✨ 完整的系统功能和基础设施
- ✨ 工作流模块 (BPM)
- ✨ 支付模块 (Pay)
- ✨ 会员模块 (Member)
- ✨ 商城模块 (Mall)
- ✨ CRM 模块
- ✨ ERP 模块
- ✨ AI 模块
- ✨ 微信公众号模块 (MP)
- ✨ IoT 物联网模块
- 🐛 修复已知问题
- 📝 完善开发文档

---

**项目**: Lyzsys 企业级后台管理系统
**版本**: v1.0.0
**更新**: 2025-01-19
**团队**: Lyzsys 开发团队
