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

109 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目概述
## 项目简介
本项目是一个基于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)