fix(pl): keep driver/site tokens stable on rearrange.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
zlwuandCursor committed 2026-09-05 18:41:32 +08:00
1 parent 2a9cc6084b
commit 4e3c2a9ffb
2 files changed
+31 -3

No files matched your search

+2 -3
View File
@@ -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"):
@@ -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