# 双色球查询业务模块 ## 1. 业务概述 提供双色球历史开奖数据查询功能,支持按红球、蓝球条件查询,并展示匹配结果的分类统计和详细记录。 --- ## 2. 业务规则 ### 2.1 查询规则 #### 红球规则 - 红球范围:1-33 - 输入数量:可输入 0-6 个红球 - 匹配方式:完全匹配(必须6个红球全部在查询条件中) #### 蓝球规则 - 蓝球范围:1-16 - 输入方式:单个蓝球输入框 - 筛选方式:复选框筛选范围(可多选) #### 查询逻辑 - **完全匹配**:查询结果必须包含所有输入的红球和蓝球 - **部分匹配**:支持只输入部分红球(匹配到即显示) - **蓝球筛选**:根据勾选的蓝球范围进行过滤 ### 2.2 匹配统计规则 #### 统计分类 - 6个红球 + 1个蓝球:完全匹配 - 6个红球:红球全部匹配,蓝球不匹配 - 5个红球 + 1个蓝球:5个红球匹配且蓝球匹配 - 5个红球:5个红球匹配,蓝球不匹配 - ... 依此类推到 0个红球 #### 匹配计数 - 每条历史记录根据匹配情况归类到对应分类 - 统计每个分类的出现次数 - 支持扩展显示低匹配度结果(≤3个红球) --- ## 3. 数据展示规则 ### 3.1 颜色标识 - **匹配的红球**:红色显示(#F53F3F) - **匹配的蓝球**:蓝色显示(#165DFF) - **未匹配的数字**:黑色显示(默认) ### 3.2 结果分类展示 #### 左侧汇总列表 - 显示各匹配级别的统计次数 - 每个汇总项提供 `[显示历史开奖]` 链接 - 点击链接,右侧显示对应的详细记录 #### 右侧详情列表 - 显示期号、红球号码、蓝球号码 - 支持扩展查询:查看前后 n 期数据 - 支持扩展显示:显示低匹配度结果 --- ## 4. 数据来源 ### 4.1 远程数据库(MySQL) - **数据表**:`ssq_history` - **数据内容**:完整历史开奖数据 - **更新频率**:定期更新(新增期号) ### 4.2 本地缓存(SQLite) - **数据来源**:从 MySQL 同步 - **用途**:离线查询、快速查询 - **同步策略**:增量同步、手动刷新 --- ## 5. 业务场景 ### 5.1 查询场景 1. **完整查询**:输入6个红球+1个蓝球,查看完全匹配记录 2. **部分查询**:输入部分红球,查看匹配情况 3. **统计分析**:查看历史中不同匹配级别的出现频率 ### 5.2 数据维护场景 1. **数据同步**:从远程数据库同步最新数据 2. **离线使用**:本地缓存数据,支持离线查询 3. **数据备份**:导出离线数据包,备份数据 --- ## 6. 业务流程 ### 6.1 查询流程 ``` 用户输入查询条件 ↓ 验证输入有效性(球号范围、数量) ↓ 执行查询(本地优先) ↓ 匹配结果并分类统计 ↓ 展示汇总列表(左侧) ↓ 用户点击汇总项 ↓ 展示详细记录(右侧) ``` ### 6.2 数据同步流程 ``` 触发同步(启动/手动/定时) ↓ 连接远程数据库 ↓ 检查数据更新(基于 issue_number) ↓ 增量同步新数据 ↓ 更新本地 SQLite ↓ 记录同步日志 ``` --- > 文档维护者:JueChen > 创建时间:2026-01-07