Planting Service 文档中心
概述
Planting Service 是 RWA Durian Queen 平台的核心微服务,负责处理榴莲树认种业务的完整生命周期。
核心功能
- 认种订单管理 - 创建、支付、取消订单
- 省市选择机制 - 5秒确认机制防止误操作
- 资金分配 - 10种目标的精确分配(2199 USDT/棵)
- 持仓管理 - 用户认种持仓统计与追踪
- 资金池注入 - 5天批次管理机制
技术栈
| 技术 |
版本 |
用途 |
| NestJS |
10.x |
Web 框架 |
| TypeScript |
5.x |
开发语言 |
| PostgreSQL |
16 |
数据库 |
| Prisma |
5.x |
ORM |
| Jest |
29.x |
测试框架 |
| Docker |
24.x |
容器化 |
文档索引
快速开始
1. 环境准备
# 要求
Node.js >= 20.x
PostgreSQL >= 16
Docker >= 24.x (可选)
2. 安装依赖
npm install
3. 配置环境
cp .env.example .env
# 编辑 .env 文件配置数据库等
4. 初始化数据库
npx prisma generate
npx prisma migrate dev
5. 启动服务
# 开发模式
npm run start:dev
# 生产模式
npm run build
npm run start:prod
6. 访问服务
常用命令
# 开发
make dev # 启动开发服务器
make build # 构建项目
# 测试
make test-unit # 单元测试
make test-integration # 集成测试
make test-e2e # E2E 测试
make test-cov # 覆盖率测试
make test-all # 所有测试
# 数据库
make prisma-generate # 生成 Prisma Client
make prisma-migrate # 运行迁移
make prisma-studio # 打开 Prisma Studio
# Docker
make docker-build # 构建镜像
make docker-up # 启动容器
make test-docker-all # Docker 测试
# 代码质量
make lint # 代码检查
make format # 代码格式化
项目结构
planting-service/
├── docs/ # 文档目录
│ ├── README.md # 文档索引
│ ├── ARCHITECTURE.md # 架构文档
│ ├── API.md # API 文档
│ ├── DEVELOPMENT.md # 开发指南
│ ├── TESTING.md # 测试文档
│ └── DEPLOYMENT.md # 部署文档
├── prisma/ # 数据库
│ ├── schema.prisma # 模型定义
│ └── migrations/ # 迁移文件
├── src/ # 源代码
│ ├── api/ # API 层
│ ├── application/ # 应用层
│ ├── domain/ # 领域层
│ ├── infrastructure/ # 基础设施层
│ └── main.ts # 入口
├── test/ # E2E 测试
├── docker-compose.yml # Docker 编排
├── Dockerfile # 生产镜像
└── Makefile # 构建脚本
业务规则概览
定价
- 单价: 2199 USDT/棵
- 单次限制: 1-1000 棵
- 个人限制: 最多 1000 棵
资金分配
| 目标 |
比例 |
金额 (USDT) |
| 资金池 |
90% |
1979.1 |
| 运营 |
5% |
109.95 |
| 省代 |
0.6% |
13.194 |
| 市代 |
0.3% |
6.597 |
| 社区长 |
0.5% |
10.995 |
| 一级推荐 |
1.5% |
32.985 |
| 二级推荐 |
1.0% |
21.99 |
| 三级推荐 |
0.5% |
10.995 |
| 平台 |
0.3% |
6.597 |
| 储备 |
0.3% |
6.597 |
订单状态流转
CREATED → PROVINCE_CITY_SELECTED → PROVINCE_CITY_CONFIRMED
→ PAID → FUND_ALLOCATED → POOL_SCHEDULED
→ POOL_INJECTED → MINING_ENABLED
任意状态(PAID前) → CANCELLED
测试报告
测试概览
| 类型 |
数量 |
状态 |
| 单元测试 |
45+ |
✅ 通过 |
| 集成测试 |
12+ |
✅ 通过 |
| E2E 测试 |
17+ |
✅ 通过 |
覆盖率
| 模块 |
覆盖率 |
| 应用服务 |
89% |
| 领域服务 |
93% |
| 聚合根 |
69% |
贡献指南
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature)
- 提交更改 (
git commit -m 'feat: Add some AmazingFeature')
- 推送到分支 (
git push origin feature/AmazingFeature)
- 创建 Pull Request
提交规范
使用 Conventional Commits:
feat: 新功能
fix: Bug 修复
docs: 文档更新
test: 测试
refactor: 重构
相关链接
联系方式
如有问题或建议,请通过以下方式联系: