feat: add benchmark-programs — 58 telecom COBOL test programs

作为子目录纳入系统,与核心测试管道协同

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
NB-076
2026-06-25 09:53:21 +08:00
parent 50f9f0f52f
commit 94400d50d4
278 changed files with 44125 additions and 0 deletions
@@ -0,0 +1,91 @@
# 电信请求书系统 — 数据字典
## 记录布局
### 1. 通用计费记录 (45 bytes)
**Copybook**: `common/copybooks/telecom/TEL-BILLING.cpy`
**也兼容**: `common/copybooks/STD-REC.cpy` (字段宽度相同)
| 偏移 | 字段名 | PIC | 长度 | 说明 | 示例 |
|------|--------|-----|------|------|------|
| 0 | BILL-KEY | X(10) | 10 | 主键 | `CUST000001` |
| 10 | BILL-CUST-ID | X(10) | 10 | 客户编号 | `CUST000001` |
| 20 | BILL-PLAN-CODE | X(03) | 3 | 套餐代码 | `P01` |
| 23 | BILL-AMOUNT | 9(09) | 9 | 金额(分) | `000001000` |
| 32 | BILL-STATUS | X(01) | 1 | 状态标志 | `0` |
| 33 | BILL-RESERVED | X(12) | 12 | 预留 | 空格 |
### 2. 通话明细记录 CDR (45 bytes)
**Copybook**: `common/copybooks/telecom/TEL-CDR.cpy`
| 偏移 | 字段名 | PIC | 长度 | 说明 | 示例 |
|------|--------|-----|------|------|------|
| 0 | CDR-ID | X(10) | 10 | CDR编号 | `CDR0000001` |
| 10 | CDR-CALLER | X(11) | 11 | 主叫号码 | `8613800138001` |
| 21 | CDR-CALLEE | X(11) | 11 | 被叫号码 | `8613900999001` |
| 32 | CDR-DURATION | 9(09) | 9 | 通话秒数 | `000000120` |
| 41 | CDR-RESERVED | X(04) | 4 | 预留 | 空格 |
### 3. 请求书记录 (45 bytes)
**Copybook**: `common/copybooks/telecom/TEL-INVOICE.cpy`
| 偏移 | 字段名 | PIC | 长度 | 说明 | 示例 |
|------|--------|-----|------|------|------|
| 0 | INV-ID | X(10) | 10 | 请求书编号 | `INV2025001` |
| 10 | INV-CUST-ID | X(10) | 10 | 客户编号 | `CUST000001` |
| 20 | INV-MONTH | 9(06) | 6 | 账期 | `202506` |
| 26 | INV-AMOUNT | 9(09) | 9 | 金额(分) | `000050000` |
| 35 | INV-STATUS | X(01) | 1 | 状态 | `0` |
| 36 | INV-RESERVED | X(09) | 9 | 预留 | 空格 |
### 4. STD-REC (45 bytes) 电信映射
**Copybook**: `common/copybooks/STD-REC.cpy`
| 偏移 | 字段名 | 电信映射 | 说明 |
|------|--------|---------|------|
| 0 | STD-KEY(10) | 客户/合同/CDR ID | 主键 |
| 10 | STD-DATA-1(20) | 客户名/套餐名/CDR数据 | 数据域1 |
| 30 | STD-DATA-2(10) | 金额/用量/时长 | 数据域2 |
| 40 | STD-DATA-3(5) COMP-3 | 精度金额 | 压缩十进制 |
## 代码表
### 套餐代码 (PLAN-CODE)
| 代码 | 名称 | 基本料金 | 通話単価 | 無料通話 |
|------|------|---------|---------|---------|
| P01 | 基本套餐 | 3000分(30元) | 20分/秒 | 100分 |
| P02 | 商务套餐 | 8000分(80元) | 10分/秒 | 500分 |
| P03 | 无限套餐 | 20000分(200元) | 5分/秒 | 2000分 |
### 请求书状态 (INV-STATUS)
| 値 | 名称 | 说明 |
|----|------|------|
| 0 | 未发行 | 请求书未生成 |
| 1 | 已发行 | 请求书已输出 |
| 2 | 已支付 | 请求书已支付 |
| 9 | 异常 | 请求书异常处理 |
### CDR通话类型 (CALL-TYPE)
| 値 | 名称 | 说明 |
|----|------|------|
| 01 | 语音通话 | 音声通話 |
| 02 | 短信 | SMS |
| 03 | 数据流量 | データ通信 |
## 文件名规范
各程序使用的文件命名与电信业务对应:
| 通用文件名 | 电信含义 | 使用类型 |
|-----------|---------|---------|
| master.dat | invoice.dat (请求书主文件) | 01/16 |
| detail.dat | payment.dat (支付对账文件) | 01 |
| master.dat | contract.dat (合同文件) | 02/03/18/19 |
| detail.dat | cdr.dat (通话明细) | 02/20 |
| detail.dat | billing-addr.dat (请求地址) | 03 |
| file-a.dat | contract-master.dat | 16/17/22 |
| file-b.dat | tariff-plan.dat | 16/22 |
| file-c.dat | discount-rule.dat | 16 |