This commit is contained in:
zlwu committed 2026-08-19 09:14:37 +08:00
1 parent c3bd2c00ae
commit a52fe77e34
39 files changed
+609647 -9238

No files matched your search

@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_py", "label": "reimburse.py", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_tenant", "label": "_tenant()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L41"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_build_details_data", "label": "_build_details_data()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_get_generated_title", "label": "get_generated_title()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L82"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_download_reimburse_import_template", "label": "download_reimburse_import_template()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L99"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_import_reimburses", "label": "import_reimburses()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L131"}, {"id": "uploadfile", "label": "UploadFile", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_list_reimburses", "label": "list_reimburses()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L147"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_my_reimburses", "label": "my_reimburses()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L193"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_my_reimburse_stats", "label": "my_reimburse_stats()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L238"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_reimburse_status_counts", "label": "reimburse_status_counts()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L248"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_pending_approval", "label": "pending_approval()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L257"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_pending_approval_stats", "label": "pending_approval_stats()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L289"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_approved_by_me", "label": "approved_by_me()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L299"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_get_reimburse", "label": "get_reimburse()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L331"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_get_approvals", "label": "get_approvals()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L345"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_get_approval_history", "label": "get_approval_history()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L358"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_create_reimburse", "label": "create_reimburse()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L371"}, {"id": "reimburseapplycreate", "label": "ReimburseApplyCreate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_api_bx_reimburse_update_reimburse", "label": "update_reimburse()", "file_type": "code", "source_file": "app/api/bx/reimburse.py", "source_location": "L425"}, {"id": "reimburseapplyupdate", "label": "ReimburseApplyUpdate", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/api/bx/reimburse.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_appLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "label": "test_bx_reimburse_import.py", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_build_expense_path_labels_unique_and_enabled_only", "label": "test_build_expense_path_labels_unique_and_enabled_only()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L20"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_build_expense_path_labels_disambiguate_collision", "label": "test_build_expense_path_labels_disambiguate_collision()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L34"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_build_applicant_label", "label": "test_build_applicant_label()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L44"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_is_example_row", "label": "test_is_example_row()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L49"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_partition_empty_group_is_solo", "label": "test_partition_empty_group_is_solo()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L54"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_validate_group_headers_mismatch", "label": "test_validate_group_headers_mismatch()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L68"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_validate_group_headers_title_partial_empty", "label": "test_validate_group_headers_title_partial_empty()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L77"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_write_option_sheet_and_validation", "label": "test_write_option_sheet_and_validation()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L86"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_build_import_template_has_guide_examples_and_dv", "label": "test_build_import_template_has_guide_examples_and_dv()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L104"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_iter_data_rows_skips_examples", "label": "test_iter_data_rows_skips_examples()", "file_type": "code", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L124"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "io", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "openpyxl", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "app_services_bx_reimburse_import", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "app_utils_excel_list_validation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L17", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburse_import_test_build_expense_path_labels_unique_and_enabled_only", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/test_bx_reimburse_import.py", "source_location": "L20", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_tests_test_bx_reimburLine truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_py", "label": "reimburse_import.py", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_build_applicant_label", "label": "build_applicant_label()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L57"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_build_expense_path_labels", "label": "build_expense_path_labels()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L63"}, {"id": "any", "label": "Any", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_is_example_row", "label": "is_example_row()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L96"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_partition_import_groups", "label": "partition_import_groups()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L101"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_validate_group_headers", "label": "validate_group_headers()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L117"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_cell_str", "label": "cell_str()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L135"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_parse_amount", "label": "parse_amount()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L145"}, {"id": "decimal", "label": "Decimal", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_load_expense_nodes_flat", "label": "load_expense_nodes_flat()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L157"}, {"id": "session", "label": "Session", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_load_applicant_options", "label": "load_applicant_options()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L176"}, {"id": "bxusercontext", "label": "BxUserContext", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_build_import_template_bytes", "label": "build_import_template_bytes()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L193"}, {"id": "date", "label": "date", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_iter_data_rows", "label": "iter_data_rows()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L270"}, {"id": "worksheet", "label": "Worksheet", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/services/bx/reimburse_import.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_import_reimburse_workbook", "label": "import_reimburse_workbook()", "file_type": "code", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L300"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_rationale_64", "label": "\u8fd4\u56de {id: \u5c55\u793a\u6587\u6848}\uff0c\u4ec5 status==1\uff1b\u51b2\u7a81\u65f6\u8ffd\u52a0 \uff08\u7f16\u7801:xxx\uff09\u3002", "file_type": "rationale", "source_file": "app/services/bx/reimburse_import.py", "source_location": "L64"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_services_bx_reimburse_import_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": Line truncated
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "label": "duty_models.py", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "label": "DutyDay", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L25"}, {"id": "base", "label": "Base", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "label": "DutySlot", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L45"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "label": "DutyAssignment", "file_type": "code", "source_file": "app/models/duty_models.py", "source_location": "L65"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "label": "\u503c\u73ed\u6392\u73ed\u6a21\u578b \u2014 docs/superpowers/specs/2026-08-14-duty-schedule-design.md", "file_type": "rationale", "source_file": "app/models/duty_models.py", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "datetime", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L2", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "sqlalchemy", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L4", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "app_core_database", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L25", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L45", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "target": "base", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L65", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_rationale_1", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_py", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/models/duty_models.py", "source_location": "L1", "weight": 1.0}], "raw_calls": [], "callable_nids": ["users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyassignment", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyday", "users_wuzilong_work_00code_shanxia2_0_backend_app_models_duty_models_dutyslot"]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "label": "excel_list_validation.py", "file_type": "code", "source_file": "app/utils/excel_list_validation.py", "source_location": "L1"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_write_option_sheet", "label": "write_option_sheet()", "file_type": "code", "source_file": "app/utils/excel_list_validation.py", "source_location": "L11"}, {"id": "workbook", "label": "Workbook", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/excel_list_validation.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_add_list_validation", "label": "add_list_validation()", "file_type": "code", "source_file": "app/utils/excel_list_validation.py", "source_location": "L35"}, {"id": "worksheet", "label": "Worksheet", "file_type": "code", "source_file": "", "source_location": "", "origin_file": "/Users/wuzilong/work/00code/shanxia2.0/backend/app/utils/excel_list_validation.py"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_rationale_19", "label": "\u5199\u5165\u9009\u9879\u8868\uff1aA=label\uff0c\u53ef\u9009 B=id\u3002\u8fd4\u56de sheet_title\u3002", "file_type": "rationale", "source_file": "app/utils/excel_list_validation.py", "source_location": "L19"}, {"id": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_rationale_45", "label": "option_rows \u4e3a\u9009\u9879\u6570\u636e\u884c\u6570\uff08\u4e0d\u542b\u8868\u5934\uff09\u3002option \u5728 A2:A{1+option_rows}\u3002", "file_type": "rationale", "source_file": "app/utils/excel_list_validation.py", "source_location": "L45"}], "edges": [{"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "typing", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L3", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "openpyxl_utils", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L5", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "openpyxl_workbook_workbook", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L6", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "openpyxl_worksheet_datavalidation", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L7", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "openpyxl_worksheet_worksheet", "relation": "imports_from", "context": "import", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L8", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_write_option_sheet", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_write_option_sheet", "target": "workbook", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L11", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_py", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_add_list_validation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_add_list_validation", "target": "worksheet", "relation": "references", "context": "parameter_type", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L35", "weight": 1.0}, {"source": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_rationale_19", "target": "users_wuzilong_work_00code_shanxia2_0_backend_app_utils_excel_list_validation_write_option_sheet", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "app/utils/excel_list_validation.py", "source_location": "L19", "Line truncated
+1 -1
View File
@@ -1 +1 @@
{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4Line truncated
{"/Users/zlwu/work/00code/shanxia2.0/backend/start-prod.sh":{"size":7357,"mtime_ns":1782639355476060453,"hash":"ca89869446be74a2bf2367b3b28f448580220859a39a84ad9613ac5fe35a8433"},"/Users/zlwu/work/00code/shanxia2.0/backend/start.sh":{"size":9548,"mtime_ns":1780114661446983244,"hash":"4d632863e8a0cd81194b491d83a0218a4157435ae812dec76a6f6197b4d48e57"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/__init__.py":{"size":21,"mtime_ns":1780113982281973984,"hash":"60a04ff08fd97084e83ea809fd13feda6d2848be20ebf309e31fc1dad7523230"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/main.py":{"size":6280,"mtime_ns":1782790852770448643,"hash":"8f9da799977bee7134d87a26ff8434ac5ef8eabb0b7368dd537eee49ad7fd00b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/tasks/__init__.py":{"size":2207,"mtime_ns":1783208067881286091,"hash":"313e6da0e91d743ce891dd283458c79b50b24c4d909dc96ca7b3fd9d2bfa5013"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/auth.py":{"size":7457,"mtime_ns":1782790841500516545,"hash":"34bac56e1c2cb6215f4b5fa2dc32d77d4b4abca51428819eebf4afd269cc51cf"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto.py":{"size":1870,"mtime_ns":1780108930724444498,"hash":"c04b748aea86890a5971f749523c7b17dbad1ddd6f9f7f07a5679d159c984e33"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/login_crypto.py":{"size":3858,"mtime_ns":1780108930725155710,"hash":"b82d51afabf2293a9cb1fb2e5f994c383948e7f47ea95fe674686b4f3f3342b1"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/config.py":{"size":6958,"mtime_ns":1784032424448146538,"hash":"c2fb44aedb880733de28afa7f92d2c1c681eb600f821bbeba2bcda3933e5bc37"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_pay.py":{"size":23585,"mtime_ns":1780108930725768130,"hash":"3d52265ce65d21e7103f94afa1e8547aee0823b5ea6d65c50317436ac81fb4fc"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_request_log_middleware.py":{"size":11971,"mtime_ns":1782701669198208175,"hash":"0b84c32828939e6102bb3647691fa8f04b1f68e0e0e9f28127374cc44e19a11c"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/database.py":{"size":1510,"mtime_ns":1782790847265601586,"hash":"8bc9c8ae62e2be2c6920036582ba448dfcd1711c41cebb62274ff6bc6ee14b0b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/security.py":{"size":728,"mtime_ns":1780108930725470004,"hash":"df0f01115064f7b8de1c81dbe9a6db39360c236610b68c33b3234a51d7f0025b"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/request_payload.py":{"size":2842,"mtime_ns":1780108930725350836,"hash":"e9937151530ab1417ef297aef59111977725cf90be2a8fa76c00a0618789aba0"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/__init__.py":{"size":61,"mtime_ns":1780108930724312414,"hash":"3dd1842ee59b0c804176b03b4b8a323bd4a252b7feb1bbc32db64f3a8928570e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/response.py":{"size":1824,"mtime_ns":1780108930725412462,"hash":"f1739352d65ea8287d76e282a59553aa8d63c97e35764c64ac378aa5bd9c347e"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/menu_guard.py":{"size":1611,"mtime_ns":1780108930725223002,"hash":"3e26077288c3620a4780038b891a326206b45bffe00aca545bdae30172487235"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/db_collation.py":{"size":548,"mtime_ns":1780108930725025043,"hash":"0c680e25a18244ca839a7de6ed1f4313b33bc8da118d89c463aee1b6af00c6f9"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/context.py":{"size":421,"mtime_ns":1780108930724824458,"hash":"83a10aee67162374993c10a30bf8bb8bd9c4b35cf48f42c832415ccebd91660f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/utils.py":{"size":1498,"mtime_ns":1780108930725607296,"hash":"09323693661c1d4560458b86a954128ccff82bbaf6522da0b44f24da99ddf9ea"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/storage.py":{"size":14141,"mtime_ns":1782855136810943216,"hash":"3ae2c413c10898a8adb3d6773870bafbfbc18c739c10e0e8b4f765b4b5ca6c08"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/order_status_compat.py":{"size":2828,"mtime_ns":1780108930725284669,"hash":"5349e5a0745ee6734c4a995337779307adefc46f453906171988a77de2081540"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/exceptions.py":{"size":4946,"mtime_ns":1780108930725084335,"hash":"79c997d964bca1a4f12f2b92fb1f181fdb9e2b3cf72eae39f4cc164d23794fd7"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/data_scope.py":{"size":8043,"mtime_ns":1782648925694296304,"hash":"626dff86937e5cacec634ecbc61cd53d3763d760223a1d4ec7cd11f64e59a220"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/admin_request_json.py":{"size":2669,"mtime_ns":1780108930724378914,"hash":"4f68b3cf84291e7bddad6ecf4bb4d29ca5e1ec246a9f7f9c4cf5909d0ec1174a"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/api_crypto_middleware.py":{"size":10876,"mtime_ns":1782790001926627098,"hash":"b39f128b6612589ea6ac5babd30752e9585b3af07b82bb1ad53c9e3c0d90816f"},"/Users/zlwu/work/00code/shanxia2.0/backend/app/core/wechat_message.py":{"size":11194,"mtime_ns":1780108930725684255,"hash":"5086070deb14d99d1a69e419b2299ec4Line truncated