eec75b8a2f81e6fe8f5c6af25625d6d3b0d1cd6ec01151412e2707a4e338e623.json 38 KB

1
  1. {"nodes": [{"id": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "label": "invoice.py", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L1"}, {"id": "bx_invoice_invoiceservice", "label": "InvoiceService", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L30"}, {"id": "bx_invoice_tenant_no", "label": "_tenant_no()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L32"}, {"id": "bx_invoice_is_wallet_admin", "label": "is_wallet_admin()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L36"}, {"id": "bx_invoice_can_query_others_wallet", "label": "can_query_others_wallet()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L43"}, {"id": "bx_invoice_require_wallet_admin", "label": "_require_wallet_admin()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L51"}, {"id": "bx_invoice_lookup_user_name", "label": "_lookup_user_name()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L56"}, {"id": "bx_invoice_resolve_owner", "label": "_resolve_owner()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L67"}, {"id": "bx_invoice_resolve_owner_for_query", "label": "_resolve_owner_for_query()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L79"}, {"id": "bx_invoice_count_invoices", "label": "_count_invoices()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L93"}, {"id": "bx_invoice_get_mine_summary", "label": "get_mine_summary()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L105"}, {"id": "bx_invoice_list_wallets", "label": "list_wallets()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L144"}, {"id": "bx_invoice_list_invoices", "label": "list_invoices()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L176"}, {"id": "bx_invoice_list_ledgers", "label": "list_ledgers()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L199"}, {"id": "bx_invoice_create", "label": "create()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L242"}, {"id": "bx_invoice_delete", "label": "delete()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L319"}, {"id": "bx_invoice_summary_to_dict", "label": "_summary_to_dict()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L368"}, {"id": "bx_invoice_out_rows_with_attachments", "label": "out_rows_with_attachments()", "file_type": "code", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L383"}, {"id": "bx_invoice_rationale_44", "label": "\u53d1\u7968\u5939\u7ba1\u7406 \u6216 \u62a5\u9500\u6539\u9009\u7533\u8bf7\u4eba \u6743\u9650\u53ef\u67e5\u8be2\u4ed6\u4eba\u53d1\u7968/\u4f59\u989d\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L44"}, {"id": "bx_invoice_rationale_205", "label": "\u8fd4\u56de\u6d41\u6c34\u5b57\u5178\u5217\u8868\uff1b\u6d41\u6c34\u5907\u6ce8\u4e3a\u7a7a\u65f6\u56de\u586b\u5173\u8054\u53d1\u7968\u5907\u6ce8\uff08\u542b\u5df2\u8f6f\u5220\u53d1\u7968\uff09\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L205"}, {"id": "bx_invoice_rationale_251", "label": "\u4e00\u6b21\u4e0a\u4f20\u521b\u5efa\u4e00\u6761\u53d1\u7968\u6863\u6848\uff1a\u91d1\u989d\u4e3a\u603b\u989d\uff0cfiles \u5168\u90e8\u6302\u5230\u540c\u4e00 biz_id\uff0c\u53ea\u5199\u4e00\u6761 credit_upload\u3002", "file_type": "rationale", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L251"}], "edges": [{"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "mimetypes", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L3", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "decimal", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L4", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L5", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L7", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L8", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L9", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_core_bx_auth", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L11", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L12", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L13", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_models_bx_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L14", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L15", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_services_bx_attachment", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L16", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_services_bx_base", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L17", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_services_bx_invoice_ledger", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L18", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_services_bx_storage", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L23", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "app_services_web_auth_roles", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L24", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_invoiceservice", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L30", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_tenant_no", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L32", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_is_wallet_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L36", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_can_query_others_wallet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L43", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_require_wallet_admin", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L51", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_lookup_user_name", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L56", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_resolve_owner", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L67", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_resolve_owner_for_query", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L79", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_count_invoices", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L93", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_get_mine_summary", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L105", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_list_wallets", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L144", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_list_invoices", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L176", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_list_ledgers", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L199", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_create", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L242", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_delete", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L319", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_summary_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L368", "weight": 1.0}, {"source": "users_zlwu_work_00code_shanxia2_0_backend_app_services_bx_invoice_py", "target": "bx_invoice_out_rows_with_attachments", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L383", "weight": 1.0}, {"source": "bx_invoice_can_query_others_wallet", "target": "bx_invoice_is_wallet_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L45", "weight": 1.0}, {"source": "bx_invoice_require_wallet_admin", "target": "bx_invoice_is_wallet_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L52", "weight": 1.0}, {"source": "bx_invoice_resolve_owner", "target": "bx_invoice_require_wallet_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L75", "weight": 1.0}, {"source": "bx_invoice_resolve_owner", "target": "bx_invoice_lookup_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L76", "weight": 1.0}, {"source": "bx_invoice_resolve_owner_for_query", "target": "bx_invoice_can_query_others_wallet", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L85", "weight": 1.0}, {"source": "bx_invoice_get_mine_summary", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L111", "weight": 1.0}, {"source": "bx_invoice_get_mine_summary", "target": "bx_invoice_resolve_owner_for_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L112", "weight": 1.0}, {"source": "bx_invoice_get_mine_summary", "target": "bx_invoice_lookup_user_name", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L116", "weight": 1.0}, {"source": "bx_invoice_get_mine_summary", "target": "bx_invoice_summary_to_dict", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L128", "weight": 1.0}, {"source": "bx_invoice_get_mine_summary", "target": "bx_invoice_count_invoices", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L137", "weight": 1.0}, {"source": "bx_invoice_list_wallets", "target": "bx_invoice_require_wallet_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L152", "weight": 1.0}, {"source": "bx_invoice_list_wallets", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L153", "weight": 1.0}, {"source": "bx_invoice_list_invoices", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L184", "weight": 1.0}, {"source": "bx_invoice_list_invoices", "target": "bx_invoice_resolve_owner_for_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L185", "weight": 1.0}, {"source": "bx_invoice_list_ledgers", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L206", "weight": 1.0}, {"source": "bx_invoice_list_ledgers", "target": "bx_invoice_resolve_owner_for_query", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L207", "weight": 1.0}, {"source": "bx_invoice_create", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L252", "weight": 1.0}, {"source": "bx_invoice_create", "target": "bx_invoice_resolve_owner", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L253", "weight": 1.0}, {"source": "bx_invoice_create", "target": "bx_invoice_count_invoices", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L306", "weight": 1.0}, {"source": "bx_invoice_delete", "target": "bx_invoice_require_wallet_admin", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L320", "weight": 1.0}, {"source": "bx_invoice_delete", "target": "bx_invoice_tenant_no", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L321", "weight": 1.0}, {"source": "bx_invoice_delete", "target": "bx_invoice_count_invoices", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L355", "weight": 1.0}, {"source": "bx_invoice_rationale_44", "target": "bx_invoice_invoiceservice_can_query_others_wallet", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L44", "weight": 1.0}, {"source": "bx_invoice_rationale_205", "target": "bx_invoice_invoiceservice_list_ledgers", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L205", "weight": 1.0}, {"source": "bx_invoice_rationale_251", "target": "bx_invoice_invoiceservice_create", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L251", "weight": 1.0}], "raw_calls": [{"caller_nid": "bx_invoice_tenant_no", "callee": "get_tenant_no", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L33"}, {"caller_nid": "bx_invoice_tenant_no", "callee": "to_tenant_user_dict", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L33"}, {"caller_nid": "bx_invoice_is_wallet_admin", "callee": "iter_user_menu_perm_codes", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L39"}, {"caller_nid": "bx_invoice_can_query_others_wallet", "callee": "iter_user_menu_perm_codes", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L47"}, {"caller_nid": "bx_invoice_can_query_others_wallet", "callee": "set", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L48"}, {"caller_nid": "bx_invoice_require_wallet_admin", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L53"}, {"caller_nid": "bx_invoice_lookup_user_name", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L58"}, {"caller_nid": "bx_invoice_lookup_user_name", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L58"}, {"caller_nid": "bx_invoice_lookup_user_name", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L58"}, {"caller_nid": "bx_invoice_lookup_user_name", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L63"}, {"caller_nid": "bx_invoice_lookup_user_name", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L64"}, {"caller_nid": "bx_invoice_resolve_owner", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L72"}, {"caller_nid": "bx_invoice_resolve_owner_for_query", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L84"}, {"caller_nid": "bx_invoice_resolve_owner_for_query", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L86"}, {"caller_nid": "bx_invoice_count_invoices", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L95"}, {"caller_nid": "bx_invoice_count_invoices", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L95"}, {"caller_nid": "bx_invoice_count_invoices", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L95"}, {"caller_nid": "bx_invoice_get_mine_summary", "callee": "first", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L119"}, {"caller_nid": "bx_invoice_get_mine_summary", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L119"}, {"caller_nid": "bx_invoice_get_mine_summary", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L119"}, {"caller_nid": "bx_invoice_get_mine_summary", "callee": "calc_summary", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L129"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L154"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L154"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L158"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L160"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L161"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L162"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "contains", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L163"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "count", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L166"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "limit", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "offset", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_wallets", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L168"}, {"caller_nid": "bx_invoice_list_invoices", "callee": "get_paged", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L187"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "list", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L208"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "reversed", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L208"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "list_entries", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L208"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L213"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L213"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L213"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L214"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "list", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L214"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L218"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L223"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L225"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L226"}, {"caller_nid": "bx_invoice_create", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L254"}, {"caller_nid": "bx_invoice_create", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L254"}, {"caller_nid": "bx_invoice_create", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L256"}, {"caller_nid": "bx_invoice_create", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L258"}, {"caller_nid": "bx_invoice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L269"}, {"caller_nid": "bx_invoice_create", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L278"}, {"caller_nid": "bx_invoice_create", "callee": "guess_type", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L280"}, {"caller_nid": "bx_invoice_create", "callee": "upload_bx_file", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L281"}, {"caller_nid": "bx_invoice_create", "callee": "len", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L290"}, {"caller_nid": "bx_invoice_create", "callee": "add_entry", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L296"}, {"caller_nid": "bx_invoice_create", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L304"}, {"caller_nid": "bx_invoice_create", "callee": "refresh_summary", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L307"}, {"caller_nid": "bx_invoice_delete", "callee": "get_by_id", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L322"}, {"caller_nid": "bx_invoice_delete", "callee": "HTTPException", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L326"}, {"caller_nid": "bx_invoice_delete", "callee": "assert_can_delete_invoice", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L328"}, {"caller_nid": "bx_invoice_delete", "callee": "add_entry", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L331"}, {"caller_nid": "bx_invoice_delete", "callee": "Decimal", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L336"}, {"caller_nid": "bx_invoice_delete", "callee": "str", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L336"}, {"caller_nid": "bx_invoice_delete", "callee": "strip", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L339"}, {"caller_nid": "bx_invoice_delete", "callee": "update", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L344"}, {"caller_nid": "bx_invoice_delete", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L344"}, {"caller_nid": "bx_invoice_delete", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L344"}, {"caller_nid": "bx_invoice_delete", "callee": "flush", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L353"}, {"caller_nid": "bx_invoice_delete", "callee": "refresh_summary", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L356"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "all", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L390"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L390"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "filter", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L390"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "query", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L390"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "in_", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L393"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "asc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L397"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L402"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "setdefault", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L402"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "get", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L406"}, {"caller_nid": "bx_invoice_out_rows_with_attachments", "callee": "append", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L408"}]}