fix(groups): 排序终判——owner 二进制字符串序(云客逐位吻合),弃 list_order

上版按 list_order 排不对:云客员工列表序 ≠ 群统计页员工序。真机对照
切换点员工终判:群统计员工顺序 = owner(微信号/wxid 混存)的**区分大小写
二进制字符串升序**(Nancyjade < csf7169708 < wxid_01gv…,大写在小写前,
逐位吻合),组内 room_id 字符串升序。COLLATE BINARY 双库通用,且无需
JOIN wechat_account。

726 测试绿。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-09-10 14:23:43 +08:00
parent 253be99eca
commit acd6997bf0
2 changed files with 9 additions and 15 deletions
+3 -4
View File
@@ -64,10 +64,9 @@ async def _seed(session: AsyncSession) -> None:
async def test_default_list_returns_all_ordered_desc(make_client):
"""No filters -> 3 groups;微信排序=员工分组(list_order NULL 按 owner asc)
+组内 room_id 字符串升序(云客群统计同款,2026-09-10)。
seed 无 wechat_account 行 → list_order 全 NULL → owner 字符串序:
wa_owner_1 < wx_owner_1 < wx_owner_2 → [wa_room_x, room_a, room_b]。
"""No filters -> 3 groups;微信排序=owner 二进制字符串升序分组+room_id
升序(云客群统计同款,2026-09-10 终判:区分大小写,大写排小写前)。
owner 序:wa_owner_1 < wx_owner_1 < wx_owner_2 → [wa_room_x, room_a, room_b]。
"""
client = await make_client(_seed)
r = await client.get("/api/groups")