shop-back-end/doc/项目概述.md

109 lines
3.3 KiB
Markdown
Raw Permalink Normal View History

# 项目概述
## 项目简介
本项目是一个基于Spring Boot + Vue3的前后端分离的Java快速开发脚手架专为电商业务场景设计。项目采用现代化的架构设计集成了企业微信、微信支付、智能柜等多种功能模块。
## 技术栈
### 后端技术栈
- **框架**: Spring Boot 2.7.10
- **数据库**: MySQL 8.0
- **ORM**: MyBatis Plus 3.5.2
- **缓存**: Caffeine + Redis
- **安全**: Spring Security + JWT
- **文档**: SpringDoc OpenAPI 3.0
- **工具包**: Hutool、Guava
### 前端技术栈
- **框架**: Vue3 + TypeScript
- **UI组件**: Element Plus
- **状态管理**: Pinia
- **构建工具**: Vite
## 项目架构
### 模块化设计
```
agileboot
├── agileboot-admin # 管理后台接口模块
├── agileboot-api # 开放接口模块(供客户端调用)
├── agileboot-common # 通用工具模块
├── agileboot-domain # 业务领域模块
├── agileboot-infrastructure # 基础设施模块
```
### 架构特点
- **DDD领域驱动设计**: 采用CQRS模式分离查询和命令操作
- **多级缓存**: Caffeine本地缓存 + Redis分布式缓存
- **权限控制**: 基于注解的菜单权限和数据权限
- **企业微信集成**: 完整的企微应用集成方案
- **微信支付**: 支持JSAPI支付和退款功能
## 主要功能模块
### 1. 电商核心模块
- **商品管理**: 商品分类、商品信息、库存管理
- **订单管理**: 订单创建、支付、退款、物流跟踪
- **用户管理**: 微信用户信息、会员体系
- **支付系统**: 微信支付集成、支付回调处理
### 2. 企业微信集成
- **企微认证**: 企业微信应用授权管理
- **部门管理**: 企微部门同步和管理
- **消息推送**: 企微应用消息发送
- **用户同步**: 企微用户与系统用户关联
### 3. 智能柜系统
- **柜体管理**: 智能柜设备管理
- **格口操作**: 柜体格口状态监控
- **企业微信集成**: 支持corpid字段的企业微信对接
### 4. 系统管理
- **用户权限**: RBAC权限模型
- **数据字典**: 系统常量管理
- **操作日志**: 完整的操作审计
- **系统监控**: 缓存监控、服务状态监控
## 开发规范
### 代码规范
- 统一使用Google代码格式化模板
- 前后端命名规范统一
- 异常处理和错误码统一设计
- 使用枚举替代字典类型数据
### 数据库设计
- 精简设计核心表约10张
- 统一使用软删除
- 支持多租户数据隔离
- 完整的索引优化
## 部署环境
### 开发环境
- JDK 1.8+
- MySQL 8.0+
- Redis 6.0+
- Node.js 16+
### 生产环境
- 支持Docker容器化部署
- 内置H2数据库和Redis开发测试用
- 支持多环境配置
## 项目特色
1. **性能优化**: 多级缓存设计Caffeine本地缓存提升性能
2. **安全性**: JWT认证、数据权限控制、XSS防护
3. **可扩展性**: 模块化设计,易于二次开发
4. **文档完善**: 完整的API文档和开发指南
5. **测试覆盖**: 大量的单元测试和集成测试
## 快速开始
详细的使用说明请参考:
- [快速启动指南](./快速启动指南.md)
- [API接口文档](./API接口文档.md)
- [企业微信集成指南](./企业微信集成指南.md)
- [微信支付集成指南](./微信支付集成指南.md)