- 后端:RlzDispatch/Profit/Promotion/Region 控制器、服务、Mapper、领域模型 - 权限:MethodSecurityConfig + PermissionInterceptor - 管理后台:派单/分润/推广/区域 页面与 API - Android 陪护端:派单/运营/退款 Fragment 及布局 - 小程序:推广员子包、派单/运营/退款/检索子包、自定义 tabBar - 文档:多角色系统方案、角色权限矩阵、用户操作手册等 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
191 lines
5.2 KiB
Markdown
191 lines
5.2 KiB
Markdown
# 瑞来健康 — 配置项说明
|
|
|
|
> 更新日期: 2026-06-08
|
|
> 适用于: 生产环境部署
|
|
|
|
---
|
|
|
|
## 一、环境变量 (.env)
|
|
|
|
部署时通过 `docker-compose.yml` 从 `.env` 文件注入环境变量。文件位置:
|
|
|
|
```
|
|
/home/renjianbo/saars/rlz/.env
|
|
```
|
|
|
|
### 1.1 基础运行配置
|
|
|
|
| 变量 | 默认值 | 说明 |
|
|
|------|--------|------|
|
|
| `BACKEND_PUBLISH` | 8039 | 后端服务暴露端口 |
|
|
| `SERVER_PORT` | 8039 | Spring Boot 监听端口 |
|
|
| `SPRING_PROFILES_ACTIVE` | docker | 激活的 Spring Profile |
|
|
| `RUOYI_PROFILE` | /data/ruoyi/upload | 文件上传目录 |
|
|
|
|
### 1.2 数据库
|
|
|
|
| 变量 | 默认值 | 说明 |
|
|
|------|--------|------|
|
|
| `MYSQL_HOST` | (必填) | MySQL 主机地址 |
|
|
| `MYSQL_PORT` | 3306 | MySQL 端口 |
|
|
| `MYSQL_DATABASE` | rlz | 数据库名 |
|
|
| `MYSQL_USER` | root | 数据库用户 |
|
|
| `MYSQL_PASSWORD` | (必填) | 数据库密码 |
|
|
| `MYSQL_USE_SSL` | true | 是否使用 SSL 连接 |
|
|
|
|
当前生产环境使用 **腾讯云 CynosDB MySQL**:
|
|
- 地址: `gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936`
|
|
|
|
### 1.3 Redis
|
|
|
|
| 变量 | 默认值 | 说明 |
|
|
|------|--------|------|
|
|
| `REDIS_HOST` | redis | Redis 主机(docker-compose 内部) |
|
|
| `REDIS_PORT` | 6379 | Redis 端口 |
|
|
|
|
### 1.4 安全配置
|
|
|
|
| 变量 | 默认值 | 说明 |
|
|
|------|--------|------|
|
|
| `TOKEN_SECRET` | (必填) | JWT Token 签名密钥, 建议 `openssl rand -hex 32` 生成 |
|
|
| `SWAGGER_ENABLED` | false | Swagger API 文档开关(生产环境必须 false) |
|
|
| `DRUID_MONITOR_ENABLED` | false | Druid 监控面板开关(生产环境必须 false) |
|
|
| `DRUID_ALLOW_IP` | 127.0.0.1 | Druid 允许访问 IP |
|
|
| `DRUID_PASSWORD` | (空) | Druid 监控登录密码 |
|
|
| `AES_ENCRYPT_KEY` | baiyangdianzicom | AES 加密密钥(用于 authToken 生成) |
|
|
|
|
### 1.5 微信支付配置
|
|
|
|
| 变量 | 默认值 | 说明 |
|
|
|------|--------|------|
|
|
| `WX_APP_ID` | (必填) | 微信小程序 AppID |
|
|
| `WX_SECRET` | (必填) | 微信小程序 AppSecret |
|
|
| `WX_MCH_ID` | (必填) | 微信支付商户号 |
|
|
| `WX_MCH_SERIAL_NO` | (必填) | 商户 API 证书序列号 |
|
|
| `WX_API_V3_KEY` | (必填) | API v3 密钥(32位) |
|
|
| `WX_PRIVATE_KEY` | (必填) | 商户 RSA 私钥(PKCS#8 PEM格式) |
|
|
| `WX_NOTIFY_URL` | (必填) | 支付回调地址 |
|
|
| `WX_REFUND_NOTIFY_URL` | (必填) | 退款回调地址 |
|
|
|
|
**注意**: `WX_PRIVATE_KEY` 为多行 PEM 格式, 直接写入 `.env` 需要特殊处理:
|
|
```bash
|
|
# 方案一: base64 编码后写入(推荐)
|
|
WX_PRIVATE_KEY_BASE64=$(cat apiclient_key.pem | base64 -w0)
|
|
|
|
# 方案二: 使用 Docker secrets
|
|
```
|
|
|
|
---
|
|
|
|
## 二、application.yml 主要配置项
|
|
|
|
文件位置: `rlz/ruoyi-admin/src/main/resources/application.yml`
|
|
|
|
### 2.1 Token 配置
|
|
|
|
```yaml
|
|
token:
|
|
header: Authorization # JWT 请求头
|
|
secret: ${TOKEN_SECRET} # 签名密钥(来自环境变量)
|
|
expireTime: 30 # 过期时间(天)
|
|
```
|
|
|
|
### 2.2 验证码配置
|
|
|
|
```yaml
|
|
captcha:
|
|
type: math # 验证码类型: math(数学) / char(字符)
|
|
expiration: 2 # Redis 中验证码有效期(分钟)
|
|
```
|
|
|
|
### 2.3 文件上传
|
|
|
|
```yaml
|
|
ruoyi:
|
|
profile: /data/ruoyi/upload # 上传文件存储路径
|
|
uploadPath: /rlz # 对外访问路径前缀
|
|
```
|
|
|
|
---
|
|
|
|
## 三、推广分润配置
|
|
|
|
通过 `rlz_promoter_config` 表管理, 支持运行时动态调整:
|
|
|
|
| config_key | 默认值 | 说明 |
|
|
|------------|--------|------|
|
|
| `level1_rate` | 5 | 一级推广佣金比例(%) |
|
|
| `level2_rate` | 3 | 二级推广佣金比例(%) |
|
|
| `level3_rate` | 2 | 三级推广佣金比例(%) |
|
|
| `caregiver_rate` | 80 | 陪诊师服务费比例(%) |
|
|
| `dispatcher_rate` | 2 | 调度员分润比例(%) |
|
|
| `operations_rate` | 1 | 运营经理区域分润比例(%) |
|
|
|
|
**修改方式**: 登录管理后台 → 财务管理 → 平台配置, 或直接 SQL:
|
|
```sql
|
|
UPDATE rlz_promoter_config SET config_value = '6' WHERE config_key = 'level1_rate';
|
|
```
|
|
|
|
### 分润计算示例
|
|
|
|
订单金额 1000 元:
|
|
| 角色 | 比例 | 金额 |
|
|
|------|------|------|
|
|
| 陪诊师 | 80% | 800 元 |
|
|
| 调度员 | 2% | 20 元 |
|
|
| 一级推广员 | 5% | 50 元 |
|
|
| 二级推广员 | 3% | 30 元 |
|
|
| 三级推广员 | 2% | 20 元 |
|
|
| 运营经理 | 1% | 10 元 |
|
|
| 平台留存 | 7% | 70 元 |
|
|
|
|
---
|
|
|
|
## 四、Nginx 配置
|
|
|
|
管理后台和 API 通过 Nginx 反向代理。当前配置容器: `rlz-ui-server` (端口 8050)
|
|
|
|
关键配置片段:
|
|
```nginx
|
|
# 管理后台
|
|
location / {
|
|
root /usr/share/nginx/html;
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
# 后端 API 代理(通过域名 prod-api 转发)
|
|
location /prod-api/ {
|
|
proxy_pass http://rlz-backend:8039/;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
}
|
|
```
|
|
|
|
对外访问地址:
|
|
- 管理后台: `http://101.43.95.130:8050`
|
|
- 后端 API: `https://ruilaizipj.com/prod-api/` (Nginx HTTPS)
|
|
|
|
---
|
|
|
|
## 五、健康检查
|
|
|
|
```bash
|
|
# 后端健康检查
|
|
curl -s http://localhost:8039/captchaImage | head -c 100
|
|
|
|
# Redis
|
|
docker exec rlz-redis redis-cli PING
|
|
|
|
# 查看容器状态
|
|
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
```
|
|
|
|
## 六、日志位置
|
|
|
|
| 日志 | 路径 |
|
|
|------|------|
|
|
| 后端应用日志 | `/data/ruoyi/logs/` |
|
|
| Docker 容器日志 | `docker logs rlz-backend` |
|
|
| 操作日志 | `sys_oper_log` 表 |
|
|
| 登录日志 | `sys_logininfor` 表 |
|