| 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": "L29"}, {"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": "L31"}, {"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": "L35"}, {"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": "L42"}, {"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": "L50"}, {"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": "L55"}, {"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": "L66"}, {"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": "L78"}, {"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": "L92"}, {"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": "L104"}, {"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": "L143"}, {"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": "L182"}, {"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": "L210"}, {"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": "L263"}, {"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": "L340"}, {"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": "L389"}, {"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": "L404"}, {"id": "bx_invoice_rationale_43", "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": "L43"}, {"id": "bx_invoice_rationale_218", "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": "L218"}, {"id": "bx_invoice_rationale_272", "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": "L272"}], "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_orm", "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": "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": "L10", "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": "L11", "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": "L12", "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": "L13", "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": "L14", "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": "L15", "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": "L16", "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": "L17", "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": "L22", "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": "L23", "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": "L29", "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": "L31", "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": "L35", "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": "L42", "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": "L50", "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": "L55", "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": "L66", "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": "L78", "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": "L92", "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": "L104", "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": "L143", "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": "L182", "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": "L210", "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": "L263", "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": "L340", "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": "L389", "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": "L404", "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": "L44", "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": "L51", "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": "L74", "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": "L75", "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": "L84", "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": "L110", "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": "L111", "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": "L115", "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": "L127", "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": "L136", "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": "L192", "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": "L193", "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": "L219", "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": "L220", "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": "L273", "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": "L274", "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": "L327", "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": "L341", "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": "L342", "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": "L376", "weight": 1.0}, {"source": "bx_invoice_rationale_43", "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": "L43", "weight": 1.0}, {"source": "bx_invoice_rationale_218", "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": "L218", "weight": 1.0}, {"source": "bx_invoice_rationale_272", "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": "L272", "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": "L32"}, {"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": "L32"}, {"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": "L38"}, {"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": "L46"}, {"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": "L47"}, {"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": "L52"}, {"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": "L57"}, {"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": "L57"}, {"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": "L57"}, {"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": "L62"}, {"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": "L63"}, {"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": "L71"}, {"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": "L83"}, {"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": "L85"}, {"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": "L94"}, {"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": "L94"}, {"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": "L94"}, {"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": "L118"}, {"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": "L118"}, {"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": "L118"}, {"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": "L128"}, {"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": "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": "strip", "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": "filter", "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": "or_", "is_member_call": false, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L167"}, {"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": "L168"}, {"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": "L169"}, {"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": "L172"}, {"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": "L174"}, {"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": "L174"}, {"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": "L174"}, {"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": "L174"}, {"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": "L174"}, {"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": "L174"}, {"caller_nid": "bx_invoice_list_invoices", "callee": "extend", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L196"}, {"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": "L197"}, {"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": "L221"}, {"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": "L221"}, {"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": "L227"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "desc", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L228"}, {"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": "L229"}, {"caller_nid": "bx_invoice_list_ledgers", "callee": "order_by", "is_member_call": true, "source_file": "/Users/zlwu/work/00code/shanxia2.0/backend/app/services/bx/invoice.py", "source_location": "L229"}, {"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": "L234"}, {"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": "L234"}, {"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": "L234"}, {"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": "L235"}, {"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": "L235"}, {"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": "L239"}, {"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": "L244"}, {"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": "L246"}, {"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": "L247"}, {"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": "L275"}, {"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": "L275"}, {"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": "L277"}, {"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": "L279"}, {"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": "L290"}, {"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": "L299"}, {"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": "L301"}, {"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": "L302"}, {"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": "L311"}, {"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": "L317"}, {"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": "L325"}, {"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": "L328"}, {"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": "L343"}, {"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": "L347"}, {"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": "L349"}, {"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": "L352"}, {"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": "L357"}, {"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": "L357"}, {"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": "L360"}, {"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": "L365"}, {"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": "L365"}, {"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": "L365"}, {"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": "L374"}, {"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": "L377"}, {"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": "L411"}, {"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": "L411"}, {"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": "L411"}, {"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": "L411"}, {"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": "L414"}, {"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": "L418"}, {"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": "L423"}, {"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": "L423"}, {"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": "L427"}, {"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": "L429"}]}
|