# 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个第一,下一个是第三)