This commit is contained in:
zlwu committed 2026-08-01 17:29:37 +08:00
1 parent 06956b742b
commit e59b2aa6cb
104 files changed
+653227 -7621

No files matched your search

@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_py", "label": "contract.py", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_ensure_contract_in_scope", "label": "_ensure_contract_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L48"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_contract_row_in_scope", "label": "_get_contract_row_in_scope()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L52"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_total_pages", "label": "total_pages()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_decimal_value", "label": "_decimal_value()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L75"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_date", "label": "_parse_optional_date()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L83"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_parse_optional_datetime", "label": "_parse_optional_datetime()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L101"}, {"id": "datetime", "label": "datetime", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_field", "label": "_get_field()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_resolve_user_display_name", "label": "_resolve_user_display_name()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L124"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_is_blank", "label": "_is_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L134"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_first_non_blank", "label": "_first_non_blank()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L138"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_get_default_invoice_info", "label": "_get_default_invoice_info()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L146"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_customer_address", "label": "_build_customer_address()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L156"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L168"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_contract_row_to_dict", "label": "contract_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L245"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_build_contract_filters", "label": "_build_contract_filters()", "file_type": "code", "source_file": "app/crud/crm/contract.py", "source_location": "L249"}, {"id": "query", "label": "Query", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_list_contracts", "label": "list_contractsLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_py", "label": "test_quote_approver_setting.py", "file_type": "code", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "label": "test_parse_and_join_roundtrip()", "file_type": "code", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L8"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_requires_enabled_and_nonempty", "label": "test_prefill_requires_enabled_and_nonempty()", "file_type": "code", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L16"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_filters_against_valid_ids", "label": "test_prefill_filters_against_valid_ids()", "file_type": "code", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L23"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_py", "target": "app_crud_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_requires_enabled_and_nonempty", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_filters_against_valid_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_quote_approver_setting.py", "source_location": "L23", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "callee": "parse_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L9", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "callee": "parse_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L10", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "callee": "parse_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L11", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "callee": "parse_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L12", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_parse_and_join_roundtrip", "callee": "join_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L13", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_requires_enabled_and_nonempty", "callee": "prefill_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L17", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approver_setting_test_prefill_requires_enabled_and_nonempty", "callee": "prefill_approver_ids", "is_member_call": false, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/tests/test_quote_approver_setting.py", "source_location": "L18", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_quote_approvLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_py", "label": "crm_models.py", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductcategory", "label": "CrmProductCategory", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L21"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproduct", "label": "CrmProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L43"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductbrand", "label": "CrmProductBrand", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L78"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductalias", "label": "CrmProductAlias", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L98"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_sysoss", "label": "SysOss", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomer", "label": "CrmCustomer", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L149"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontact", "label": "CrmContact", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L232"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crminvoiceinfo", "label": "CrmInvoiceInfo", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L267"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerfollow", "label": "CrmCustomerFollow", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L295"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpool", "label": "CrmCustomerPool", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L326"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpoolrule", "label": "CrmCustomerPoolRule", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L352"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunity", "label": "CrmOpportunity", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L375"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityfollow", "label": "CrmOpportunityFollow", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L418"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityproduct", "label": "CrmOpportunityProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L449"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunitystagelog", "label": "CrmOpportunityStageLog", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L479"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L510"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractapproval", "label": "CrmContractApproval", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L593"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L624"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L655"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractproduct", "label": "CrmContractProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L689"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractproductpricetier", "label": "CrmContractProductPriceTier", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L730"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmquote", "label": "CrmQuote", "file_type": "code", "source_file": "app/models/crmLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "label": "quote_approver_setting.py", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "label": "parse_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_approver_ids", "label": "join_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "label": "prefill_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_rationale_26", "label": "\u8fd4\u56de\u53ef\u9884\u586b\u7684\u5ba1\u6279\u4eba ID \u5217\u8868\uff1b\u4e0d\u53ef\u7528\u5219\u7a7a\u5217\u8868\u3002", "file_type": "rationale", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L26"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_rationale_26", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L26", "weight": 1.0}], "raw_calls": [{"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "callee": "split", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py", "source_location": "L10", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "callee": "strip", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py", "source_location": "L11", "receiver": "part"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "callee": "append", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py", "source_location": "L13", "receiver": "out"}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_approver_ids", "callee": "join", "is_member_call": true, "source_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py", "source_location": "L18", "receiver": null}, {"caller_nid": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_apprLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "label": "crm_quote_routes.py", "file_type": "code", "source_file": "app/api/crm_quote_routes.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_register_quote_routes", "label": "register_quote_routes()", "file_type": "code", "source_file": "app/api/crm_quote_routes.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_rationale_1", "label": "CRM \u62a5\u4ef7\u5355 API \u8def\u7531 \u2014 \u6302\u63a5\u5230 crm.router", "file_type": "rationale", "source_file": "app/api/crm_quote_routes.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_data_scope_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_share_log", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_schemas_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L50", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_schemas_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "label": "crm_quote_routes.py", "file_type": "code", "source_file": "app/api/crm_quote_routes.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_register_quote_routes", "label": "register_quote_routes()", "file_type": "code", "source_file": "app/api/crm_quote_routes.py", "source_location": "L85"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_rationale_1", "label": "CRM \u62a5\u4ef7\u5355 API \u8def\u7531 \u2014 \u6302\u63a5\u5230 crm.router", "file_type": "rationale", "source_file": "app/api/crm_quote_routes.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_data_scope_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L36", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_product", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L43", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_crud_crm_quote_share_log", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L49", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_schemas_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_quote_routes.py", "source_location": "L50", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_quote_routes_py", "target": "app_schemas_crm_quote", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "label": "quote_approver_setting.py", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "label": "parse_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L6"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_approver_ids", "label": "join_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L17"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "label": "prefill_approver_ids()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L46"}, {"id": "crmquoteapproversetting", "label": "CrmQuoteApproverSetting", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_get_setting", "label": "get_setting()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L56"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/quote_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_assert_users_exist", "label": "_assert_users_exist()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L69"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_save_setting", "label": "save_setting()", "file_type": "code", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L84"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_rationale_26", "label": "\u8fd4\u56de\u53ef\u9884\u586b\u7684\u5ba1\u6279\u4eba ID \u5217\u8868\uff1b\u4e0d\u53ef\u7528\u5219\u7a7a\u5217\u8868\u3002", "file_type": "rationale", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L26"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_parse_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_join_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_prefill_approver_ids", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L21", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_quote_approver_setting_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/quote_approver_setting.py", "source_location": "L37", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "label": "contract_approver_setting.py", "file_type": "code", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_row_to_dict", "label": "_row_to_dict()", "file_type": "code", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L14"}, {"id": "crmcontractapproversetting", "label": "CrmContractApproverSetting", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approver_setting.py"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_get_setting", "label": "get_setting()", "file_type": "code", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L24"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/crud/crm/contract_approver_setting.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_assert_users_exist", "label": "_assert_users_exist()", "file_type": "code", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L37"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_save_setting", "label": "save_setting()", "file_type": "code", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L52"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "app_core_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "app_crud_crm_quote_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L9", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "app_models_crm_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "app_models_models", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_row_to_dict", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_row_to_dict", "target": "crmcontractapproversetting", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/crud/crm/contract_approver_setting.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_crud_crm_contract_approver_setting_row_to_dict", "target": "any", "relation": "references", "context": "generic_arg", "confidence": "EXTRACTED", "source_file": "aLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_py", "label": "io_order.py", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_models", "label": "_models()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L34"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_order", "label": "_get_order()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L40"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_to_read", "label": "_to_read()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L58"}, {"id": "ioorderread", "label": "IoOrderRead", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_list_orders", "label": "_list_orders()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L64"}, {"id": "dbusercontext", "label": "DbUserContext", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py"}, {"id": "ioorderlistresponse", "label": "IoOrderListResponse", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_patch_order", "label": "_patch_order()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L125"}, {"id": "ioorderpatch", "label": "IoOrderPatch", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/pl/io_order.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_by_plan", "label": "_get_by_plan()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L182"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_inbound_by_plan", "label": "get_inbound_by_plan()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L207"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_list_inbound", "label": "list_inbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L220"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_inbound", "label": "get_inbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L252"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_patch_inbound", "label": "patch_inbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L263"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_inbound_site_url", "label": "inbound_site_url()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L273"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_outbound_by_plan", "label": "get_outbound_by_plan()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L285"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_list_outbound", "label": "list_outbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L298"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_get_outbound", "label": "get_outbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L330"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_patch_outbound", "label": "patch_outbound()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L341"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_outbound_site_url", "label": "outbound_site_url()", "file_type": "code", "source_file": "app/api/pl/io_order.py", "source_location": "L351"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_rationale_1", "label": "\u8fd0\u8f93\u8ba1\u5212 \u00b7 \u5165\u5e93\u5355 / \u51fa\u5e93\u5355\u7ba1\u7406\u7aef API", "file_type": "rationale", "source_file": "app/api/pl/io_order.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_pl_io_order_rationale_183", "label": "\u6309\u8ba1\u5212\u67e5\u627e\u5165\u5e93/\u51fa\u5e93\u5355\uff1b\u672a\u843d\u5355\u6Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_py", "label": "crm_models.py", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductcategory", "label": "CrmProductCategory", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L21"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproduct", "label": "CrmProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L43"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductbrand", "label": "CrmProductBrand", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L78"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmproductalias", "label": "CrmProductAlias", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L98"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_sysoss", "label": "SysOss", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomer", "label": "CrmCustomer", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L149"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontact", "label": "CrmContact", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L232"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crminvoiceinfo", "label": "CrmInvoiceInfo", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L267"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerfollow", "label": "CrmCustomerFollow", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L295"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpool", "label": "CrmCustomerPool", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L326"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcustomerpoolrule", "label": "CrmCustomerPoolRule", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L352"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunity", "label": "CrmOpportunity", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L375"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityfollow", "label": "CrmOpportunityFollow", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L418"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunityproduct", "label": "CrmOpportunityProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L449"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmopportunitystagelog", "label": "CrmOpportunityStageLog", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L479"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontract", "label": "CrmContract", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L510"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractapproversetting", "label": "CrmContractApproverSetting", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L593"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractapproval", "label": "CrmContractApproval", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L612"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractchange", "label": "CrmContractChange", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L643"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontracttemplate", "label": "CrmContractTemplate", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L674"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractproduct", "label": "CrmContractProduct", "file_type": "code", "source_file": "app/models/crm_models.py", "source_location": "L708"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_crm_models_crmcontractproductpricetier", "label": "CrmContractProductPriceTier", "file_type": "cLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "label": "crm_contract_routes.py", "file_type": "code", "source_file": "app/api/crm_contract_routes.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_register_contract_routes", "label": "register_contract_routes()", "file_type": "code", "source_file": "app/api/crm_contract_routes.py", "source_location": "L78"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_rationale_1", "label": "CRM \u5408\u540c API \u8def\u7531 \u2014 GET/PUT/DELETE/POST \u5bf9\u9f50\u539f Java CRM", "file_type": "rationale", "source_file": "app/api/crm_contract_routes.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "fastapi", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "sqlalchemy_orm", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L10", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_menu_guard", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_oper_log_decorator", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_response", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L13", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_core_tenant_context", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_data_scope_helpers", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L15", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L16", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approval", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L47", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L51", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_crud_crm_contract_approver_setting", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/api/crm_contract_routes.py", "source_location": "L52", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_crm_contract_routes_py", "target": "app_schemas_crLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_py", "label": "quote_approver_setting.py", "file_type": "code", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_quoteapproversettingsavebody", "label": "QuoteApproverSettingSaveBody", "file_type": "code", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_quoteapproversettingsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_quoteapproversettingsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/quote_approver_setting.py", "source_location": "L6", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_quote_approver_setting_quoteapproversettingsavebody"]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_py", "label": "contract_approver_setting.py", "file_type": "code", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_contractapproversettingsavebody", "label": "ContractApproverSettingSaveBody", "file_type": "code", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L6"}, {"id": "basemodel", "label": "BaseModel", "file_type": "code", "source_file": "", "source_location": ""}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_py", "target": "pydantic", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_contractapproversettingsavebody", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_contractapproversettingsavebody", "target": "basemodel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/schemas/crm/contract_approver_setting.py", "source_location": "L6", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_schemas_crm_contract_approver_setting_contractapproversettingsavebody"]}