diff --git a/backend/app/api/pl/transport.py b/backend/app/api/pl/transport.py index 3ad62f15e..0c84d62e7 100644 --- a/backend/app/api/pl/transport.py +++ b/backend/app/api/pl/transport.py @@ -64,7 +64,6 @@ from app.services.pl_transport_stop_feedback_service import ( ensure_transport_site_token, load_driver_stop_segments, load_site_stop_segments, - rotate_transport_site_token, ) from app.services.pl_inventory_link_read import build_transport_inventory_link_read from app.services.pl_io_order_service import ( @@ -882,9 +881,9 @@ def arrange_transport( needs_site_link = plan_requires_site_link(db, tenant_no=tenant_no, plan=plan) if is_rearrange: - _rotate_driver_access_token(transport) + _ensure_driver_access_token(transport) if needs_site_link and plan_has_load_stop(db, tenant_no, plan.id): - rotate_transport_site_token(transport) + ensure_transport_site_token(transport) elif not needs_site_link: transport.site_access_token = None if plan.plan_type in ("inbound", "outbound"): diff --git a/backend/tests/test_pl_transport_rearrange_tokens.py b/backend/tests/test_pl_transport_rearrange_tokens.py new file mode 100644 index 000000000..cc226fad8 --- /dev/null +++ b/backend/tests/test_pl_transport_rearrange_tokens.py @@ -0,0 +1,29 @@ +"""调整运输默认不 rotate 司机/现场 token""" +from app.api.pl import transport as transport_api +from app.models.pl_models import PlTransport +from app.services.pl_transport_stop_feedback_service import ensure_transport_site_token + + +def test_ensure_driver_access_token_keeps_existing(): + transport = PlTransport(id="tr-1", driver_access_token="driver-token-keep") + assert transport_api._ensure_driver_access_token(transport) == "driver-token-keep" + assert transport.driver_access_token == "driver-token-keep" + + +def test_ensure_site_token_keeps_existing(): + transport = PlTransport(id="tr-1", site_access_token="site-token-keep") + assert ensure_transport_site_token(transport) == "site-token-keep" + assert transport.site_access_token == "site-token-keep" + + +def test_rearrange_branch_uses_ensure_not_rotate(): + """政策:调整运输走 ensure;_rotate_* 仅保留备用,安排路径不再调用。""" + source = open(transport_api.__file__, encoding="utf-8").read() + arrange_idx = source.find("def arrange_transport") + assert arrange_idx > 0 + # 截取安排函数前段(含 token 分支) + snippet = source[arrange_idx : arrange_idx + 12000] + assert "_ensure_driver_access_token(transport)" in snippet + assert "ensure_transport_site_token(transport)" in snippet + assert "_rotate_driver_access_token(transport)" not in snippet + assert "rotate_transport_site_token(transport)" not in snippet