Files
zdh 0985dacbfe feat: init yueqian-erp based on xingyun
- Change groupId: com.lframework -> com.yueqian
- Change artifactId: xingyun -> yueqian-erp
- Rename modules: xingyun-* -> yueqian-erp-*
- Update Java packages: com.lframework.xingyun -> com.yueqian.xingyun
- Preserve external Jugg framework dependencies as com.lframework
- Update README and documentation
2026-06-13 20:07:18 +08:00

196 lines
5.8 KiB
Markdown
Raw Permalink 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.
# 月千 ERP 后端
月千 ERP 是面向中小企业的开源进销存系统后端仓库,覆盖基础资料、商品中心、采购、销售、零售、库存、盘点、结算、报表和系统管理等核心业务场景。当前仓库同时保留单体部署与 Spring Cloud 部署两种运行形态,便于快速落地或按需拆分。
> 本项目基于月千 ERP 二次开发,groupId: `com.yueqian`artifactId: `yueqian-erp`。
## 仓库定位
- `yueqian-erp-api`:单体启动模块
- `cloud/yueqian-erp-cloud-api`:云端业务服务入口
- `cloud/yueqian-erp-cloud-gateway`:云端网关
- `yueqian-erp-core`:基础依赖与公共模型
- `yueqian-erp-comp`:公共组件服务
- `yueqian-erp-basedata`:基础资料
- `yueqian-erp-sc`:采购、销售、零售、库存、物流
- `yueqian-erp-settle`:费用、预付款、对账、结算
- `yueqian-erp-chart`:统计分析与图表报表
## 运行形态
### 单体模式
适合本地开发和快速部署,统一从 `yueqian-erp-api` 启动。
### Cloud 模式
保留 `yueqian-erp-cloud-api + yueqian-erp-cloud-gateway` 双服务形态,适合接入 Nacos、Gateway 等云端基础设施后使用。
## 环境要求
- JDK 21
- Maven 3.9+
- MySQL 5.7.18+
- Redis 4.0.8+
- RabbitMQ 3.12.4+
- Cloud 模式额外需要:Nacos,以及对应的云端配置环境
## 快速开始
### 构建全部模块
```bash
mvn clean package -DskipTests
```
### 启动单体应用
本地联调优先使用 `self` Profile,配置文件组合为 `application.yml + application-self.yml`
```bash
mvn -pl yueqian-erp-api -am spring-boot:run -Dspring-boot.run.profiles=self
```
如果使用默认环境,也可以通过 Maven Profile 启动:
```bash
mvn -pl yueqian-erp-api -am spring-boot:run -Pdev
```
### 构建云端模块
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package
mvn -pl cloud/yueqian-erp-cloud-gateway -am package
```
### Cloud 后端容器运行
`yueqian-erp-cloud-api``yueqian-erp-cloud-gateway` 支持作为独立云端服务镜像运行,默认通过外部 `Nacos` 获取配置与注册发现信息。
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
```
如果希望直接在模块目录里执行镜像构建脚本,请先手动完成对应模块的 Maven 打包:
Linux/macOS:
```bash
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud/yueqian-erp-cloud-api
sh build-image.sh
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ../yueqian-erp-cloud-gateway
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud/yueqian-erp-cloud-api
.\build-image.ps1
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ..\yueqian-erp-cloud-gateway
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl cloud/yueqian-erp-cloud-api -am package -DskipTests
cd cloud\yueqian-erp-cloud-api
build-image.bat
mvn -pl cloud/yueqian-erp-cloud-gateway -am package -DskipTests
cd ..\yueqian-erp-cloud-gateway
build-image.bat
```
具体的镜像构建、模块级 `docker compose` 用法和环境变量约定见 [`docs/docker-cloud.md`](docs/docker-cloud.md)。
### 单体后端容器运行
`yueqian-erp-api` 支持作为单体后端镜像运行,`MySQL``Redis``RabbitMQ` 默认按外部基础设施接入。
```bash
mvn -pl yueqian-erp-api -am package -DskipTests
docker build -t yueqian-erp-api:local -f yueqian-erp-api/target/Dockerfile yueqian-erp-api/target
```
如果希望直接在模块目录里执行镜像构建脚本,请先手动完成 `yueqian-erp-api` 的 Maven 打包:
Linux/macOS:
```bash
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
sh build-image.sh
```
Windows PowerShell:
```powershell
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
.\build-image.ps1
```
Windows `cmd`:
```bat
mvn -pl yueqian-erp-api -am package -DskipTests
cd yueqian-erp-api
build-image.bat
```
运行参数、环境变量与卷挂载约定见 [`docs/docker-monolith.md`](docs/docker-monolith.md)。如果使用 `docker compose`,请在 `yueqian-erp-api/` 目录执行。
## 数据与配置说明
- 数据库迁移脚本位于 `yueqian-erp-api/src/main/resources/db/migration/platform``.../tenant`
- 多租户模式已固定开启,不再支持关闭
- 主库数据源名称为 `master`
- 缓存命名沿用实体上的 `CACHE_NAME` 常量,不使用零散自定义命名
- 创建子线程时必须使用 `DefaultCallable``DefaultRunnable` 传递租户上下文
## 主要技术栈
- Spring Boot 3.5.0
- Spring Cloud 2025.0.0
- Spring Cloud Alibaba 2025.0.0.0
- MyBatis-Plus 3.5.6
- Sa-Token 1.39.0
- Knife4j 4.5.0
- Warm-Flow 1.7.4
- Hutool 5.7.17
- Lombok 1.18.32
## 系统能力概览
- 系统管理:菜单、部门、角色、用户、权限、操作日志
- 基础资料:仓库、供应商、客户、会员、商品、品牌、分类、属性
- 供应链:采购订单、收货单、退货单、销售订单、出库单、零售单
- 库存管理:库存查询、库存调整、库存盘点、库存预警、调拨
- 结算管理:费用单、预付款单、对账单、结算单
- 图表分析:经营统计、业务报表、图表展示
## 相关仓库
- 底层框架 Jugg<https://gitee.com/lframework/jugg>
- 前端项目 xingyun-front<https://gitee.com/lframework/xingyun-front>
- 使用说明文档:<https://www.lframework.com>
- 演示地址:<http://erp.lframework.com>
## 开源说明
项目代码可开源商用,但请保留 `LICENSE`、源码头部版权声明以及项目出处信息。分发源码时请注明项目来源 <https://www.lframework.com/>,且不要基于本项目二次开源参与同类竞品分发。
## License
项目使用 Apache 2.0 许可证,请遵守许可证约束。