添加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** (数据访问层)
|
|
||||||
|
|
||||||
## 服务划分
|
- **框架**: Spring Boot 3.x, Spring Cloud 2023
|
||||||
### 核心业务服务
|
- **数据库**: MySQL 8.0, Redis 7
|
||||||
1. `user-service` - 用户服务
|
- **消息队列**: RocketMQ
|
||||||
2. `product-service` - 商品服务
|
- **服务注册**: Nacos
|
||||||
3. `order-service` - 订单服务
|
- **ORM**: MyBatis Plus, JPA
|
||||||
4. `inventory-service` - 库存服务
|
- **构建工具**: Maven 3.8+
|
||||||
5. `finance-service` - 财务服务
|
- **Java版本**: JDK 17+
|
||||||
|
|
||||||
### 支撑服务
|
## 项目结构
|
||||||
6. `admin-service` - 总控服务(租户、套餐管理)
|
|
||||||
7. `file-service` - 文件服务
|
|
||||||
8. `notification-service` - 通知服务
|
|
||||||
|
|
||||||
### 基础设施
|
```
|
||||||
9. `api-gateway` - API网关
|
├── common/ # 公共模块
|
||||||
10. `auth-service` - 认证服务
|
│ ├── 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