mirror of
https://github.com/goldenfishs/MRobot.git
synced 2026-02-04 18:00:19 +08:00
84 lines
3.0 KiB
Python
84 lines
3.0 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
导入查询问题修复 - 快速总结
|
||
|
||
问题: 导入的账户无法查询
|
||
原因: 导入时元数据ID没有更新,导致ID不一致
|
||
|
||
解决:
|
||
1. 修改 finance_manager.py 的 import_account_package() 方法
|
||
- 创建新ID时,更新metadata.json中的id字段
|
||
|
||
2. 修改 finance_interface.py 的 import_account() 方法
|
||
- 导入后自动设置为当前账户
|
||
- 清空查询结果表格
|
||
|
||
3. 修改 on_account_changed() 方法
|
||
- 切换账户时清空查询结果
|
||
|
||
结果:
|
||
✅ 导入账户正常
|
||
✅ 账户数据可查询
|
||
✅ 所有交易记录可见
|
||
"""
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
# 添加项目根路径
|
||
sys.path.insert(0, str(Path(__file__).parent))
|
||
|
||
from app.tools.finance_manager import FinanceManager
|
||
|
||
def main():
|
||
print("""
|
||
╔════════════════════════════════════════════════════════════════╗
|
||
║ 导入查询问题 - 修复完成 ║
|
||
╚════════════════════════════════════════════════════════════════╝
|
||
|
||
📝 修复内容:
|
||
|
||
1️⃣ finance_manager.py - import_account_package()
|
||
✅ 创建新ID时同步更新metadata.json中的id
|
||
|
||
2️⃣ finance_interface.py - import_account()
|
||
✅ 导入后自动设置为当前账户
|
||
✅ 自动清空查询结果表格
|
||
|
||
3️⃣ finance_interface.py - on_account_changed()
|
||
✅ 切换账户时清空查询结果
|
||
|
||
═══════════════════════════════════════════════════════════════════
|
||
|
||
✅ 验证结果:
|
||
|
||
""")
|
||
|
||
fm = FinanceManager()
|
||
accounts = fm.get_all_accounts()
|
||
|
||
print(f"📊 当前账户数: {len(accounts)}\n")
|
||
|
||
for i, acc in enumerate(accounts, 1):
|
||
trans_count = len(acc.transactions)
|
||
print(f"[{i}] {acc.name}")
|
||
print(f" ├─ ID: {acc.id}")
|
||
print(f" └─ 交易数: {trans_count}")
|
||
|
||
if trans_count > 0:
|
||
# 测试查询
|
||
results = fm.query_transactions(acc.id)
|
||
print(f" ✅ 查询测试: {len(results)} 条记录可查询")
|
||
|
||
print()
|
||
|
||
print("═══════════════════════════════════════════════════════════════════")
|
||
print("🎉 问题已解决! 您现在可以:")
|
||
print(" 1. 导入账户到本系统")
|
||
print(" 2. 所有交易记录会自动显示")
|
||
print(" 3. 可以正常进行查询操作")
|
||
print("═══════════════════════════════════════════════════════════════════\n")
|
||
|
||
if __name__ == '__main__':
|
||
main()
|