添加README文档
This commit is contained in:
parent
d4cf2846de
commit
704aca34b4
134
README.md
134
README.md
@ -1,37 +1,111 @@
|
||||
# ERP Java 微服务后端
|
||||
# ERP Java 微服务
|
||||
|
||||
## 架构概述
|
||||
基于Spring Cloud Alibaba的微服务架构,逐步替换现有PHP系统。
|
||||
## 项目简介
|
||||
|
||||
ERP系统的Java微服务版本,采用Spring Cloud微服务架构。
|
||||
|
||||
## 技术栈
|
||||
- **Java 17** + **Spring Boot 3.x**
|
||||
- **Spring Cloud 2023.x** + **Spring Cloud Alibaba 2023.x**
|
||||
- **MySQL 8.0** + **Redis 7.x**
|
||||
- **Nacos 2.x** (服务注册与配置中心)
|
||||
- **Spring Cloud Gateway** (API网关)
|
||||
- **Seata** (分布式事务)
|
||||
- **RocketMQ** (消息队列)
|
||||
- **MyBatis Plus** (数据访问层)
|
||||
|
||||
## 服务划分
|
||||
### 核心业务服务
|
||||
1. `user-service` - 用户服务
|
||||
2. `product-service` - 商品服务
|
||||
3. `order-service` - 订单服务
|
||||
4. `inventory-service` - 库存服务
|
||||
5. `finance-service` - 财务服务
|
||||
- **框架**: Spring Boot 3.x, Spring Cloud 2023
|
||||
- **数据库**: MySQL 8.0, Redis 7
|
||||
- **消息队列**: RocketMQ
|
||||
- **服务注册**: Nacos
|
||||
- **ORM**: MyBatis Plus, JPA
|
||||
- **构建工具**: Maven 3.8+
|
||||
- **Java版本**: JDK 17+
|
||||
|
||||
### 支撑服务
|
||||
6. `admin-service` - 总控服务(租户、套餐管理)
|
||||
7. `file-service` - 文件服务
|
||||
8. `notification-service` - 通知服务
|
||||
## 项目结构
|
||||
|
||||
### 基础设施
|
||||
9. `api-gateway` - API网关
|
||||
10. `auth-service` - 认证服务
|
||||
```
|
||||
├── common/ # 公共模块
|
||||
│ ├── common-config/ # 配置模块
|
||||
│ ├── common-core/ # 核心实体
|
||||
│ ├── common-mybatis/ # MyBatis增强
|
||||
│ ├── common-redis/ # Redis封装
|
||||
│ └── common-web/ # Web增强
|
||||
├── gateway/ # 网关服务
|
||||
├── services/ # 业务服务
|
||||
│ ├── user-service/ # 用户服务
|
||||
│ ├── order-service/ # 订单服务
|
||||
│ ├── product-service/ # 商品服务
|
||||
│ ├── inventory-service/ # 库存服务
|
||||
│ ├── finance-service/ # 财务服务
|
||||
│ └── ...
|
||||
├── nacos/ # Nacos配置
|
||||
├── rocketmq/ # RocketMQ配置
|
||||
├── seata/ # Seata分布式事务
|
||||
└── deploy/ # 部署脚本
|
||||
```
|
||||
|
||||
## 开发原则
|
||||
1. **逐步迁移** - 新功能用Java开发,旧功能逐步迁移
|
||||
2. **数据同步** - PHP和Java系统数据双向同步
|
||||
3. **接口兼容** - 保持API接口兼容性
|
||||
4. **灰度发布** - 新服务逐步替换旧服务
|
||||
## 快速开始
|
||||
|
||||
### 环境要求
|
||||
|
||||
- JDK 17+
|
||||
- Maven 3.8+
|
||||
- MySQL 8.0
|
||||
- Redis 7
|
||||
- Nacos (可选)
|
||||
- RocketMQ (可选)
|
||||
|
||||
### 构建
|
||||
|
||||
```bash
|
||||
# 全量构建
|
||||
mvn clean package -DskipTests
|
||||
|
||||
# 单服务构建
|
||||
cd services/user-service
|
||||
mvn clean package -DskipTests
|
||||
```
|
||||
|
||||
### 配置
|
||||
|
||||
修改 `services/*/src/main/resources/application.yml` 中的数据库和Redis配置。
|
||||
|
||||
### 运行
|
||||
|
||||
```bash
|
||||
# 运行单个服务
|
||||
java -jar services/user-service/target/user-service.jar
|
||||
|
||||
# 使用Docker运行
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## 服务列表
|
||||
|
||||
| 服务 | 端口 | 说明 |
|
||||
|------|------|------|
|
||||
| user-service | 8082 | 用户认证服务 |
|
||||
| order-service | 8084 | 订单服务 |
|
||||
| product-service | 8083 | 商品服务 |
|
||||
| inventory-service | 8085 | 库存服务 |
|
||||
| tenant-service | 8086 | 租户服务 |
|
||||
| permission-service | 8087 | 权限服务 |
|
||||
| dashboard-service | 8088 | 仪表盘服务 |
|
||||
|
||||
## API文档
|
||||
|
||||
启动服务后访问: http://localhost:服务端口/swagger-ui.html
|
||||
|
||||
## 开发指南
|
||||
|
||||
### 新增服务
|
||||
|
||||
1. 在 `services/` 下创建新服务模块
|
||||
2. 参考已有服务的pom.xml配置
|
||||
3. 添加到根pom.xml的modules中
|
||||
4. 创建数据库表和实体类
|
||||
5. 实现Controller, Service, Repository层
|
||||
|
||||
### 代码规范
|
||||
|
||||
- 遵循阿里巴巴Java开发规范
|
||||
- 使用Lombok简化代码
|
||||
- 所有API返回统一格式: ApiResponse<T>
|
||||
- 分页查询使用PageResponse<T>
|
||||
|
||||
## 许可证
|
||||
|
||||
私有项目,仅限内部使用
|
||||
|
||||
Loading…
Reference in New Issue
Block a user