README.md
5.92 KB
Apple经销商ERP系统 - 后端项目
项目简介
这是Apple经销商ERP系统的后端服务,基于Spring Boot框架开发,提供RESTful API接口。
技术栈
- 框架: Spring Boot 2.7.x
- 数据库: MySQL 8.0
- 缓存: Redis 6.0
- ORM: MyBatis Plus 3.5.x
- 安全: Spring Security + JWT
- 构建工具: Maven 3.8.x
- JDK版本: OpenJDK 8
项目结构
backend/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/apple/erp/
│ │ │ ├── AppleErpApplication.java
│ │ │ ├── config/ # 配置类
│ │ │ ├── controller/ # 控制器层
│ │ │ ├── service/ # 服务层
│ │ │ ├── mapper/ # 数据访问层
│ │ │ ├── entity/ # 实体类
│ │ │ ├── dto/ # 数据传输对象
│ │ │ ├── vo/ # 视图对象
│ │ │ ├── utils/ # 工具类
│ │ │ ├── exception/ # 异常处理
│ │ │ ├── aspect/ # 切面
│ │ │ └── enums/ # 枚举类
│ │ └── resources/
│ │ ├── application.yml # 主配置文件
│ │ ├── mapper/ # MyBatis映射文件
│ │ ├── static/ # 静态资源
│ │ └── templates/ # 模板文件
│ └── test/ # 测试代码
├── target/ # 编译输出目录
├── pom.xml # Maven配置文件
└── README.md # 项目说明
核心功能模块
系统管理模块
- 用户管理 (SysUser)
- 角色管理 (SysRole)
- 菜单管理 (SysMenu)
- 字典管理 (SysDict)
- 日志管理 (SysLog)
业务功能模块
- 订单管理 (Order)
- 出库管理 (Delivery)
- 发票管理 (Invoice)
- 返利管理 (Rebate)
- 异常处理 (Exception)
- 产品管理 (Product)
- 经销商管理 (Dealer)
开发规范
代码规范
- 遵循阿里巴巴Java开发手册
- 使用统一的代码格式化配置
- 类名使用大驼峰命名
- 方法名和变量名使用小驼峰命名
- 常量使用全大写下划线分隔
接口规范
- RESTful API设计
- 统一返回格式
- 统一异常处理
- 接口文档使用Swagger
数据库规范
- 表名使用下划线分隔
- 字段名使用下划线分隔
- 主键统一使用id
- 创建时间字段:create_time
- 更新时间字段:update_time
- 逻辑删除字段:deleted
环境配置
开发环境
spring:
datasource:
url: jdbc:mysql://localhost:3306/apple_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: MySQL@123
driver-class-name: com.mysql.cj.jdbc.Driver
测试环境
spring:
datasource:
url: jdbc:mysql://test-server:3306/apple_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: test_user
password: test_password
driver-class-name: com.mysql.cj.jdbc.Driver
生产环境
spring:
datasource:
url: jdbc:mysql://prod-server:3306/apple_erp?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: prod_user
password: ${DB_PASSWORD}
driver-class-name: com.mysql.cj.jdbc.Driver
快速开始
1. 环境准备
- 安装JDK 8+
- 安装Maven 3.8+
- 安装MySQL 8.0+
- 安装Redis 6.0+
2. 数据库初始化
# 创建数据库
mysql -u root -p < ../database/scripts/init/01_create_database.sql
# 创建表结构
mysql -u root -p apple_erp < ../database/scripts/init/02_create_tables.sql
# 初始化数据
mysql -u root -p apple_erp < ../database/scripts/data/01_init_system_data.sql
3. 启动服务
# 编译项目
mvn clean compile
# 运行测试
mvn test
# 启动服务
mvn spring-boot:run
4. 访问接口
- 服务地址: http://localhost:8083
- API文档: http://localhost:8083/swagger-ui.html
- 健康检查: http://localhost:8083/actuator/health
开发指南
1. 新增业务模块
- 创建Entity实体类
- 创建Mapper接口和XML文件
- 创建Service接口和实现类
- 创建Controller控制器
- 创建DTO和VO类
- 编写单元测试
2. 数据库操作
- 使用MyBatis Plus进行数据库操作
- 复杂查询使用XML映射文件
- 简单CRUD使用注解方式
3. 异常处理
- 使用全局异常处理器
- 自定义业务异常类
- 统一错误码定义
4. 日志记录
- 使用SLF4J + Logback
- 操作日志使用AOP记录
- 错误日志记录详细堆栈信息
测试
单元测试
mvn test
集成测试
mvn verify
性能测试
mvn test -Dtest=PerformanceTest
部署
Docker部署
# 构建镜像
docker build -t apple-erp-backend .
# 运行容器
docker run -d -p 8083:8083 apple-erp-backend
传统部署
# 打包
mvn clean package
# 运行
java -jar target/apple-erp-backend.jar
监控
健康检查
- Spring Boot Actuator
- 自定义健康检查指标
日志监控
- 应用日志
- 访问日志
- 错误日志
性能监控
- JVM监控
- 数据库监控
- 接口性能监控
常见问题
1. 数据库连接问题
- 检查数据库服务是否启动
- 检查连接配置是否正确
- 检查网络连接是否正常
2. Redis连接问题
- 检查Redis服务是否启动
- 检查连接配置是否正确
- 检查防火墙设置
3. 端口占用问题
- 检查端口是否被占用
- 修改配置文件中的端口号
- 停止占用端口的进程
更新日志
v1.0.0 (2024-01-01)
- 初始版本发布
- 基础功能模块完成
- 系统管理模块完成
贡献指南
- Fork项目
- 创建功能分支
- 提交代码
- 创建Pull Request
许可证
MIT License