初始提交:飞球 ETL 系统全量代码
This commit is contained in:
73
docs/bd_manual/dws/BD_manual_cfg_bonus_rules.md
Normal file
73
docs/bd_manual/dws/BD_manual_cfg_bonus_rules.md
Normal file
@@ -0,0 +1,73 @@
|
||||
# cfg_bonus_rules 奖金规则配置表
|
||||
|
||||
> 生成时间:2026-02-03
|
||||
|
||||
## 表信息
|
||||
|
||||
| 属性 | 值 |
|
||||
|------|-----|
|
||||
| Schema | billiards_dws |
|
||||
| 表名 | cfg_bonus_rules |
|
||||
| 主键 | rule_id |
|
||||
| 数据来源 | 手工维护/seed脚本 |
|
||||
| 说明 | 奖金规则配置(冲刺奖金为历史口径,Top3排名奖金为现行口径) |
|
||||
|
||||
## 字段说明
|
||||
|
||||
| 序号 | 字段名 | 类型 | 可空 | 主键 | 说明 |
|
||||
|------|--------|------|------|------|------|
|
||||
| 1 | rule_id | SERIAL | NO | PK | 规则ID(自增) |
|
||||
| 2 | rule_type | VARCHAR(20) | NO | | 规则类型。**枚举值**: SPRINT(冲刺奖金,历史口径), TOP_RANK(Top排名奖金) |
|
||||
| 3 | rule_code | VARCHAR(30) | NO | | 规则代码。**枚举值**: TOP_1, TOP_2, TOP_3(SPRINT_*为历史规则) |
|
||||
| 4 | rule_name | VARCHAR(50) | NO | | 规则名称 |
|
||||
| 5 | threshold_hours | NUMERIC(10,2) | YES | | 小时数阈值(冲刺奖金用) |
|
||||
| 6 | rank_position | INTEGER | YES | | 排名位置(Top奖金用) |
|
||||
| 7 | bonus_amount | NUMERIC(12,2) | NO | | 奖金金额(元) |
|
||||
| 8 | is_cumulative | BOOLEAN | NO | | 是否可累计(冲刺奖金为FALSE,取最高档) |
|
||||
| 9 | priority | INTEGER | NO | | 优先级(数字越大优先级越高) |
|
||||
| 10 | effective_from | DATE | NO | | 生效起始日期(含) |
|
||||
| 11 | effective_to | DATE | NO | | 生效截止日期(含) |
|
||||
| 12 | description | TEXT | YES | | 说明 |
|
||||
| 13 | created_at | TIMESTAMPTZ | NO | | 创建时间 |
|
||||
| 14 | updated_at | TIMESTAMPTZ | NO | | 更新时间 |
|
||||
|
||||
## 奖金规则示例
|
||||
|
||||
### 冲刺奖金(历史口径,至2026-02-28,不累计取最高档)
|
||||
| 规则代码 | 小时阈值 | 奖金金额 | 优先级 |
|
||||
|----------|----------|----------|--------|
|
||||
| SPRINT_190 | 190小时 | 300元 | 1 |
|
||||
| SPRINT_220 | 220小时 | 800元 | 2 |
|
||||
|
||||
### Top3排名奖金(2026-03-01起,独立发放)
|
||||
| 规则代码 | 排名 | 奖金金额 |
|
||||
|----------|------|----------|
|
||||
| TOP_1 | 第1名 | 1000元 |
|
||||
| TOP_2 | 第2名 | 600元 |
|
||||
| TOP_3 | 第3名 | 400元 |
|
||||
|
||||
## 使用说明
|
||||
|
||||
**取值方式**
|
||||
|
||||
```sql
|
||||
-- 获取冲刺奖金(取最高档)
|
||||
SELECT * FROM billiards_dws.cfg_bonus_rules
|
||||
WHERE rule_type = 'SPRINT'
|
||||
AND threshold_hours <= 200 -- 实际小时数
|
||||
AND effective_from <= '2026-02-28'
|
||||
AND effective_to >= '2026-02-28'
|
||||
ORDER BY priority DESC
|
||||
LIMIT 1;
|
||||
|
||||
-- 获取Top3排名奖金
|
||||
SELECT * FROM billiards_dws.cfg_bonus_rules
|
||||
WHERE rule_type = 'TOP_RANK'
|
||||
AND rank_position = 1 -- 排名
|
||||
AND effective_from <= '2026-03-01'
|
||||
AND effective_to >= '2026-03-01';
|
||||
```
|
||||
|
||||
**排名口径说明**
|
||||
- Top3排名按有效业绩小时数(effective_hours)降序排列
|
||||
- 如遇并列则都算(如2个第一,则记为2个第一,下一个是第三)
|
||||
Reference in New Issue
Block a user