zhaoxing
|
7743d2019c
|
fix:优化再拼一次bug,优化打手端移动端拼单列表显示
|
2026-10-26 16:36:26 +08:00 |
|
yml2213
|
31a8b6fc65
|
Merge branch 'dev1023' into dev
解决 9 个冲突文件,并修复合并后遗留问题:
- 大厅候选集:采用 FIFO 窗口 + 全部置顶单 UNION(列表与抢单/拼单复核同源)
- 拼单份额:采用多次参与模型(每次参与 INSERT 新份额、requestId 幂等),
取消后可重新参与;移除 HEAD 已废弃的单行 rejoin 逻辑与对应测试
- 工单迁移与成本中心 103–108 编号撞车:合并重写为
109_work_order_share_participation / 110_work_order_hall_and_shop_indexes;
临时库全量执行与重跑幂等验证通过(10 列、唯一键已删、7 个索引)
- 实时补丁:保留个性化字段、置顶重排、分页总数同步;补回 orderTimelineVisible 类型
- 打手大厅:保留 memo 组件化,移植「再拼一次」多份额按钮逻辑
- 全项目表格统一 PercentTable:WorkerOrderShareTable 改造
验证:backend typecheck/lint/check:sql/test(833 pass)、
frontend typecheck/lint/test(172 pass)/build 全绿。
|
2026-10-26 12:10:53 +08:00 |
|
zhaoxing
|
d787d3c364
|
feat:抢单大厅数据排列优化
|
2026-10-25 14:41:13 +08:00 |
|
yml2213
|
2fb7aae13f
|
feat(auth): 登录态改为滑动续期(后台 24h/7d,打手 7d/30d)
|
2026-10-25 13:28:58 +08:00 |
|
zhaoxing
|
a7a8634a96
|
feat:加一个网站发布公告会弹出来点确定我已知晓的弹窗;mock数据自动匹配接单模板;本地访问模式修改
|
2026-10-25 12:27:32 +08:00 |
|
zhaoxing
|
25756901cc
|
add:新增同一个工单同一人可以多次拼单:抢单大厅优化
|
2026-10-24 13:44:34 +08:00 |
|
zhaoxing
|
7e1e1f7075
|
add:新增同一个工单同一人可以多次拼单:拼单后按钮固定显示「再拼一次」
|
2026-10-23 16:37:59 +08:00 |
|
yml2213
|
fe4d02d136
|
fix(worker-platform): 按工单号搜不到彻底收口 —— 显式单号检索不再被任何排他筛选吞掉
## 修的是什么
线上反复复发的「后台接单平台按工单号搜不到、某些状态尤其明显」,根因不是一处,
而是同一类问题在 5 个地方各留了一半(历次修复都只补了一处,所以总复发):
1. 状态筛选走运营态派生:拼单母单一旦有人参与,open → in_progress /
pending_acceptance,于是「单号 + 待接单」永远为空(没人参与时反而搜得到),
这正是「有人接单后就搜不到」;非拼单单子被接单后同理。
2. 「单号 + 接单人员 / 分类 / 打手等级 / 创建时间」照样过滤掉目标单
(接单人员是 INNER JOIN 可见集合,不在集合里整行消失)。
d6523635 只在面板查询按钮里清了 状态/赠送阶段/验收模式,这三个没清。
3. 待办通知跳转(buildNotificationActionPath 带 ?workOrderId=)设下的
「定位工单」是 wo.id = X 排他条件,不手点「取消定位」就一直生效,
之后搜任何别的单号都是空 —— 这条路径历次修复从未涉及。
4. AdminLayout 把服务端 operation='remove' 直接判成 mismatch,
绕过了「显式单号不删行」的护栏。
5. 打手端「我的订单」默认页签固定「代练中」,搜索不联动页签、
实时补丁又拿状态当可证伪条件删行 → 打手端同类问题(此前只修了关键词匹配)。
## 修法(收口到单一真源,不再按按钮打补丁)
后端:
- 新增 isExplicitOrderNoLookupKeyword()(工单号 / 平台单号 / SUB·INV·AS·DT);
- 后台列表筛选抽成纯函数 resolveAdminWorkOrderListFilters():显式单号检索时
不下推 状态/VIP待补图/验收模式/赠送阶段/接单人员/分类/打手等级/创建时间/定位工单;
- 打手端 resolveWorkerMyOrderStatusFilter():只放掉状态与 VIP 待补图,
**严格保留 workerSharingId 可见范围**(否则打手能搜到别人的单)。
前端:
- admin-realtime-work-orders.ts:显式单号检索直接判 unknown(含服务端 remove),
remove 的短路移交给判定函数;
- WorkOrdersPanel:单号检索时清空全部排他筛选并提示「已按单号精准检索,自动忽略…」,
通知定位工单时也清掉其它筛选,避免残留;
- WorkerOrdersPage:单号检索自动切「全部订单」;WorkerLayout 走新的
resolveWorkerMyOrderRealtimeVerdict(),与后台同策。
刻意不改(避免越权/召回不可用单):抢单大厅(候选必须是 open)、
寄卖手动匹配候选(只做未接单整单)。
## 验证
后端 npm run check 全绿:682 pass / 3 skip(新增 6 项);
前端 npm run check 全绿:138 pass(新增 6 项,含「单号检索 + 实时事件不得删行」,
以及「服务端 remove 不得绕过单号护栏」的回归);format/lint/typecheck/build 通过。
无数据库迁移。
|
2026-10-12 15:48:30 +08:00 |
|
yml2213
|
f4c405d51a
|
fix(worker): 打手端实时补丁不再误删"按工单号搜到的行",并同步分页总数
这是后台那个"搜工单号搜不到、必须刷新整页"在打手端的同源副本:
WorkerLayout 的 operation = event.operation === 'remove' || !matches ? 'remove' : 'upsert'
只要前端判"不匹配"就删行,而前端关键词匹配器**没有比对工单号**——
后端搜索表达式的第一项恰恰就是 work_order_no(还有 material_json 里更多前端不知道的字段)。
于是按工单号搜索时,该单一旦有实时变更,行就被从缓存删掉、列表变空。
修法与后台侧对齐:
1. 抽出 utils/worker-realtime-work-orders.ts(可单测、无运行时依赖),关键词匹配补上
workOrderNo,并改成三态判定——状态/分类等可证伪维度不符才删行;关键词能找到=match
(允许插入),找不到=unknown(不删不插,只就地更新)。
2. patchWorkerWorkOrderListEnvelope 增删行时同步 data.pagination.total,
修掉"列表空了、分页器还显示有 N 条"。
3. 大厅无限下拉只在第 1 页允许插入,其余页只就地更新。
验证:前端 86 项单测全绿(新增 6 项,覆盖"按工单号搜索+实时变更不得删行"、
unknown 只就地更新、删/插同步总数、无限下拉页边界)。
|
2026-10-01 13:48:05 +08:00 |
|
 yml2213andCursor
|
4a6215e816
|
feat(consignment): 苏尔南寄卖接入打手端押金履约
打手可直接提报寄卖,关联 worker 与履约押金后指派交枪;后台去掉旧收集链接管理,提报审核与库存/工单流程对齐接单平台。
Co-authored-by: Cursor <cursoragent@cursor.com>
|
2026-09-15 16:00:33 +08:00 |
|
yml2213
|
402c10e9b6
|
feat(worker-platform): 接单平台全平台UI/UX视觉重构与体验升级
1. 全局导航侧边栏 (WorkerLayout):
- 打造专属品牌Logo标识与实时在线脉冲呼吸灯
- 打手身份卡片化:展示打手名称、在线状态徽章、会员等级及可用余额药丸徽标
- 导航菜单选中项增加橙色微光背景与指示条,售后问题单菜单支持待处理红点角标
2. 我的订单管理 (WorkerOrderDesktopList):
- 桌面端整合头部:标题 + 实时在办监控徽标 + 居中搜索框 + 刷新按钮单行整合
- 新增4栏工单态势KPI看板:代练进行中、等待验收、异常与问题单、已验收完结,支持点击卡片即时联动筛选
- 胶囊化状态过滤与结算收益金额说明
3. 售后问题单 (WorkerAfterSalesPage):
- 桌面端整合头部:待说明紧急红点药丸徽标、分段筛选与刷新按钮
4. 个人中心 (WorkerProfileDesktopSections):
- 打造全新打手Hero身份卡:大号头像环、等级徽标、UID、手机、邀请码一键复制芯片、会员权益微标签与晋级进度条
- 4栏立体资产看板:可用余额、冻结押金、待解冻金额、累计结算收益
- 快捷操作按资金管理、安全与设置、其他服务结构化分组
|
2026-09-12 19:08:10 +08:00 |
|
yml2213
|
ffb71f2276
|
修复接单端过期会话重复请求
|
2026-08-30 17:32:34 +08:00 |
|
yml2213
|
f20ff3018f
|
feat(打手): 支持个人追加免押额度
|
2026-08-28 21:36:54 +08:00 |
|
yml2213
|
70b31f4874
|
SSE鉴权失效停止重连清理会话跳登录并降噪4xx错误日志
|
2026-08-23 11:01:41 +08:00 |
|
yml2213
|
7e1c879c41
|
修复新订单广播绕过等级可见延迟导致抢单提示不可拼单
|
2026-08-22 18:56:00 +08:00 |
|
yml2213
|
ed81122047
|
大厅与后台工单列表改为精确补丁并支持抢单确认
|
2026-08-22 09:30:38 +08:00 |
|
yml2213
|
1f7ff016df
|
新增打手端新订单语音播报开关
|
2026-08-22 09:12:26 +08:00 |
|
yml2213
|
700bda8250
|
优化售后问题单后台位置
|
2026-08-21 20:03:37 +08:00 |
|
yml2213
|
f4d32a7c07
|
增加售后相关的
|
2026-08-21 14:30:00 +08:00 |
|
yml2213
|
874b093a4b
|
新增大厅订单容量控制
|
2026-08-21 14:02:30 +08:00 |
|
yml2213
|
6539e0fb21
|
新增打手端滚动公告
|
2026-08-20 20:04:43 +08:00 |
|
yml2213
|
12ca943170
|
优化打手注册和列表筛选
|
2026-08-20 09:52:51 +08:00 |
|
yml2213
|
ee79195f47
|
完善拼单状态与份额验收流程
|
2026-08-18 18:02:43 +08:00 |
|
yml2213
|
370acdba60
|
增加工单首次查看标识
|
2026-08-17 20:11:35 +08:00 |
|
yml2213
|
2aa8769661
|
改造实时事件缓存同步
|
2026-08-17 17:32:02 +08:00 |
|
yml2213
|
18dad9b0fe
|
增加订单实时状态同步
|
2026-08-17 14:51:51 +08:00 |
|
yml2213
|
81ae04dae0
|
接入 ESLint 并清理未使用代码
- 前后端接入 ESLint 10 扁平配置(typescript-eslint 类型感知检查 + react-hooks/react-refresh),新增 lint / lint:check / lint:fix 脚本并纳入 check 链路
- 清理全部 no-unused-vars 与 no-useless-assignment 警告,修复 floating promises、正则转义等问题
- 删除确认无引用的死代码(markKuaishouCloudBindUrlRefreshFailed、未使用 helper 等)
|
2026-08-16 18:04:55 +08:00 |
|
yml2213
|
bc2909d6f2
|
打手端迁移至独立子域名
|
2026-08-16 16:08:38 +08:00 |
|
yml2213
|
8a5ba4c2f3
|
优化接单大厅数量和排行榜
|
2026-08-16 13:36:16 +08:00 |
|
yml2213
|
10ae3d01ee
|
初步优化手机端ui
|
2026-08-16 10:33:45 +08:00 |
|
yml2213
|
1dd92ec10c
|
统一登录页品牌样式
|
2026-08-02 16:59:26 +08:00 |
|
yml2213
|
f0ba0fe17f
|
修复接单平台并发、分页与补资料
|
2026-07-28 10:15:44 +08:00 |
|
yml2213
|
f6d3f00f21
|
新增接单平台第一期闭环
|
2026-07-25 13:58:53 +08:00 |
|