# tx.wuyun **Repository Path**: jaredhao_admin/tx.wuyun ## Basic Information - **Project Name**: tx.wuyun - **Description**: 五运六气啊啊啊啊啊 啊 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-03-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 中医体质分析查询系统 - 使用文档 ## 📊 系统概述 本系统基于中医"五运六气"理论,提供了完整的体质分析数据查询功能。通过输入出生日期,可以快速查找对应的中医体质分析内容。 ## 🗄️ 数据库设计 ### 表名:`tcm_birth_analysis` | 字段名 | 类型 | 说明 | |--------|------|------| | id | INT | 主键ID | | ganzhi | VARCHAR(20) | 天干地支(如:癸亥年) | | start_year | INT | 起始年份 | | end_year | INT | 结束年份 | | period_name | VARCHAR(20) | 时段名称(初之气至终之气) | | period_index | INT | 时段索引(1-6) | | date_range | VARCHAR(30) | 日期范围(如:9月21日-11月20日) | | month_start | INT | 开始月份 | | day_start | INT | 开始日期 | | month_end | INT | 结束月份 | | day_end | INT | 结束日期 | | full_content | TEXT | 完整的体质分析内容 | | file_name | VARCHAR(100) | 原始文件名 | | created_at | TIMESTAMP | 创建时间 | ### 索引设计 - `idx_date_range`: 快速日期范围查询 - `idx_ganzhi`: 天干地支索引 - `idx_years`: 年份范围索引 ## 📈 数据统计 - **总记录数**: 354条 - **覆盖年份**: 1911年 - 2074年 - **数据来源**: 60个源文件 × 6个时段 - **缺失数据**: 6条(甲辰年文件) ## 🔍 查询逻辑 ### 匹配优先级 当多个记录都匹配时,系统按以下优先级选择: 1. **年份范围最小**: 优先选择年份跨度最小的记录 2. **年份优先级**: - 优先级1: 查询年份等于起始年份(start_year) - 优先级2: 查询年份等于结束年份(end_year) - 优先级3: 查询年份在中间 3. **时段索引**: 选择period_index较小的 ### 查询示例 ```python from tcm_query_api import TCMAnalyzer analyzer = TCMAnalyzer() result = analyzer.query_by_birthdate("1983-11-11") if result: print(f"天干地支:{result['ganzhi']}") print(f"年份范围:{result['start_year']}-{result['end_year']}") print(f"时段:{result['period_name']}") print(f"内容:{result['full_content']}") ``` ## 📝 测试结果 ### ✅ 成功案例(9/10) | 序号 | 测试日期 | 匹配文件 | 时段 | 状态 | |------|----------|----------|------|------| | 1 | 1971-09-19 | 丁丑_1937年1997年_7月21日-9月20日.md | 四之气 | ✅ | | 2 | 2008-07-22 | 丁巳_1977年2037年_7月21日-9月20日.md | 四之气 | ✅ | | 3 | 1974-05-11 | 丁丑_1937年1997年_3月21日-5月20日.md | 二之气 | ✅ | | 4 | 1979-11-02 | 丁丑_1937年1997年_9月21日-11月20日.md | 五之气 | ✅ | | 5 | 1946-01-28 | 丁丑_1937年1997年_1月21日-3月20日.md | 初之气 | ✅ | | 6 | 1987-07-11 | 丁丑_1937年1997年_5月21日-7月20日.md | 三之气 | ✅ | | 7 | 1972-09-30 | 丁丑_1937年1997年_9月21日-11月20日.md | 五之气 | ✅ | | 8 | 1984-03-04 | 丁丑_1937年1997年_1月21日-3月20日.md | 初之气 | ✅ | | 9 | 1972-11-19 | 丁丑_1937年1997年_9月21日-11月20日.md | 五之气 | ✅ | ### ❌ 失败案例(1/10) | 序号 | 测试日期 | 原因 | |------|----------|------| | 10 | 2019-01-07 | 年份超出所有记录的覆盖范围 | ## 🎯 指定测试用例 用户指定测试:`1983-11-11` ### 查询结果 - **天干地支**: 癸亥年 - **年份范围**: 1983年 - 2043年 - **年份跨度**: 60年 - **时段**: 五之气(第5之气) - **日期范围**: 9月21日-11月20日 - **原始文件**: 癸亥年_1983年2043年_9月21日-11月20日.md ### 验证结果 - ✅ 年份验证:1983 在范围 [1983, 2043] 内 - ✅ 日期验证:11月11日 在范围 9月21日-11月20日 内 **结论**: 匹配完全正确! ## 🚀 快速开始 ### 1. 查询单个日期 ```python from tcm_query_api import query_and_display # 查询1983年11月11日 query_and_display("1983-11-11") ``` ### 2. 批量查询 ```python from tcm_query_api import TCMAnalyzer analyzer = TCMAnalyzer() dates = ["1983-11-11", "1963-02-15", "2020-05-01"] for date in dates: result = analyzer.query_by_birthdate(date) if result: print(f"{date} -> {result['ganzhi']} - {result['period_name']}") ``` ### 3. 获取完整内容 ```python analyzer = TCMAnalyzer() result = analyzer.query_by_birthdate("1983-11-11") if result: # 获取完整内容 full_content = result['full_content'] # 或者格式化输出 formatted = analyzer.format_result(result) print(formatted) ``` ## 📚 API文档 ### TCMAnalyzer.query_by_birthdate(birthdate) 根据出生日期查询体质分析。 **参数:** - `birthdate` (str): 出生日期,格式 'YYYY-MM-DD' **返回:** - `dict` 或 `None`: 包含体质分析信息的字典 **示例:** ```python result = analyzer.query_by_birthdate("1983-11-11") ``` ### TCMAnalyzer.format_result(result) 格式化查询结果为易读文本。 **参数:** - `result` (dict): query_by_birthdate() 返回的结果 **返回:** - `str`: 格式化的文本报告 **示例:** ```python formatted_text = analyzer.format_result(result) print(formatted_text) ``` ## 🔧 技术栈 - **语言**: Python 3.x - **数据库**: MySQL 5.7+ - **驱动**: pymysql - **字符集**: utf8mb4 ## 📞 联系方式 如有问题或建议,请联系开发团队。 --- **文档版本**: 1.0 **最后更新**: 2025-01-28