yml2213
f07e4087ad
feat(consignment): 优化寄售仓库与接单工单双向手动匹配,支持工单号与提报单号检索与强制匹配
...
1. 寄售仓库手动匹配订单扩充支持 open 状态工单,增强 WO 工单号与纯数字的模糊/前缀搜索,修复工单搜不到的问题并在卡片高亮展示内部工单号与状态;
2. 接单工单操作列全面支持【手动匹配寄售】,允许从接单工单主动调起寄售匹配弹窗;
3. 寄售现货筛选支持通过 SUB 提报单号、INV 仓库号、供货打手等快速搜索;
4. 完善规格冲突下的强制匹配确认与必填原因提交机制,确保履约全流程留痕合规。
2026-09-19 17:59:05 +08:00
yml2213
8631100d07
style: 统一代码格式化与代码规范
2026-09-19 10:41:15 +08:00
yml2213
a5727554a4
feat(worker-platform): 彻底去除非平台内部现货履约,寄卖匹配全面收敛为接单平台指派打手
...
1. 手动指定现货弹窗移除 deliveryKind 冗余单选框,统一收敛为一键指派供货打手履约;
2. 匹配确认后自动冻结打手履约押金、启动交付倒计时与履约时效监控,消除脱管盲区;
3. 订单发布前置拦截弹窗移除内部代交付入口,统一为走接单平台指派;
4. 未关联供货打手的现货进行明确阻断与告警提示,避免无监管指派;
5. 同步更新前端静态单测并保证全量测试与构建通过。
2026-09-19 10:28:23 +08:00
yml2213
b666a9c951
fix(consignment): 拼单份额验收收官补寄卖结算钩子 + 手动匹配弹窗三处复核遗留
...
- acceptWorkOrderShareAndSettle 最后一个份额把母单转 accepted 的分支,
此前不释放发布押金也不结算供货货款(两钩子只在统一验收里):
现在同口径补上;供货货款传 assignedWorkerId=0(拼单母单无单一接单人,
份额打手已各自按 share_reward 结算,不会重复付款)
- 手动匹配弹窗:race_condition/unavailable/spec_mismatch/partial_requires_confirm
四个错误码清空已选并自动重拉列表,数据过期不再死循环撞错
- 手动匹配弹窗库存侧:keyword+pageSize100 透传后端(原来 keyword 是死参数、
只拉 50 条),300ms 防抖后端搜索;无供货打手时禁用指派选项并在提交前
再拦一道(原来必 400 死路);选中订单回显 workerId/workerName
- 凭证核销反馈抽共享 utils/voucher-consume,WorkOrdersPanel 与弹窗共用,
口径不再漂移(弹窗顺带获得"已提前核销 N 张"提示)
- docs/寄卖系统优化方案.md 记录批次 V
后端 477(+4)/ 前端 50(+1)测试全绿,typecheck / lint / format / check:sql 通过
2026-09-17 12:45:51 +08:00
yml2213
0476339ec4
fix(consignment): 手动匹配订单按钮点了不弹窗(弹窗挂错了位置)
...
用户反馈:在库待匹配列表点「手动匹配订单」没有反应。
根因:上一批把手动匹配弹窗挂到了「编辑寄售物品」弹窗**内部**,外层弹窗未打开时
该组件根本没被挂载,点击只改状态、界面无变化。
- 弹窗移到面板顶层(与其它弹窗同级),点击即弹
- 新增静态守卫测试:断言手动匹配弹窗前面不能有未闭合的 Modal(即不能嵌在别的弹窗里)、
按钮必须真的 setState、open 由该状态驱动;已验证该守卫能拦下错误写法
- 顺带补入口缺口:订单侧原先只在"检测到系统候选"的提醒弹窗里给入口,订单没有任何候选时
反而进不去手动匹配 —— 工单行内新增常驻「手动匹配现货」(仅待指派/待补资料,
与后端前置校验同口径)
- 已暂停匹配的现货点按钮会直接 409,改为按钮禁用并提示先打开「允许匹配」开关
- destroyOnClose → antd 6 的 destroyOnHidden(前者已废弃)
验证:前端 typecheck/lint/format/48 例测试/build 全过。
2026-09-17 12:27:58 +08:00
yml2213
a7a55d6c16
feat(consignment): 客服手动指定现货匹配的界面入口
...
后端批次已提供判定/差异/强制留痕与双向读取接口,这里补界面,让客服真的能用上。
- 新增共享弹窗 ConsignmentManualMatchModal:订单侧(匹配弹窗「手动指定现货匹配」)与
库存侧(寄售仓库行内「手动匹配订单」)共用同一套交互与落地逻辑,避免两套 UI 漂移
- 交互:搜索 → 选中(精确/非精确/规格冲突三档标签 + 字段级差异说明)→ 选交付方式
(内部现货履约 / 指派供货打手)→ 非精确需勾选确认、冲突需勾选「确认规格不一致」并必填原因
→ 落地;并在落地前提示"现货立刻被占用、点错需撤销寄售履约"
- 判定规则收敛成纯函数 consignment-manual-match.ts(需不需要确认/填原因、能否提交、
关键词过滤、标签文案)并加 4 例单测
- 服务与类型补齐:fetchWorkOrderConsignmentMatchOptions / fetchInventoryMatchableOrders,
fulfill/assign 入参增加 allowSpecMismatch 与 matchNote
- 凭证核销失败的提示沿用既有规则(核销失败不能报成功)
验证:前端 typecheck/lint/format/44 例测试/build 全过;两个新接口未登录访问均 401
(路由已挂载、权限位生效)。
2026-09-17 12:23:30 +08:00
yml2213
ca04e09deb
feat(consignment): 客服端凭证链可视化(提报凭证 + 赠送凭证)
...
问题:一件寄卖有两类凭证,客服界面只看得见第一类,还是 48x48 一张缩略图,
看不出是主页还是物品;第二类(证明"这件货真送出去了"的赠送完成截图)只在工单验收界面,
客服要证明赠送是否完成得自己跨模块翻,没有任何地方把两类凭证并排呈现。
- 两类凭证分别在哪里:
提报凭证 = 提报表 screenshots_json(卖家提报时的游戏主页截图,含物品/仓库详情)
赠送凭证 = 绑定工单的验收资料 work_orders.acceptance_json(冷却结束后上传、客服凭此验收)
- 后端把凭证链从客服两个列表/详情接口一起下发:提报表/库存 → 结果库存 → 绑定工单,
新增 submissionScreenshots / giftEvidenceImages / giftEvidenceNote / giftEvidenceSubmittedAt /
giftWorkOrderNo / giftWorkOrderStatus / giftEvidenceReviewStatus(none|pending|accepted|submitted);
赠送凭证图从 imageUrls 与 files[].url|mediumUrl|thumbnailUrl 两处取并去重
- 提报凭证口径统一:有来源提报单用提报单主页截图,客服手工入库现货回退库存自身截图,
前端只看 submissionScreenshots 一个字段,不会拿错
- 前端新增共享组件 ConsignmentEvidenceGallery(缩略图 + 大图预览 + 共 N 张,
预览用 Image.PreviewGroup items,被折叠的图在大图里仍能翻看);审核面板把「凭据截图」
拆成「提报凭证(游戏主页截图)」与「赠送凭证」(带待验收/已验收 Tag + 关联工单 Tooltip),
仓库面板新增「凭证」列并分组展示,两个详情弹窗同口径(含备注/提交时间/工单号/一句话说明)
真实库验证:赠送凭证解析在构造的工单验收资料上取到 3 张图(imageUrls 1 + files 2)并识别
pending_acceptance → 待客服验收;提报凭证在真实数据上取到 1 张。临时数据已清理。
2026-09-17 11:22:59 +08:00
yml2213 and Cursor
b7d246e5b9
fix(admin): 任务列表商品名与执行器标签改为中文展示
...
建单时不再把英文 sku 写入商品名,列表按映射反查中文名,并将 Affiliate Dash 等标签本地化。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 13:03:47 +08:00
yml2213
c6dd6a8b7c
修复订单发布与核销并发状态覆盖
2026-09-01 14:13:10 +08:00
yml2213
02c9de8b9c
feat(ops): 数据保留清理、CORS 白名单与上传失败回滚
...
- 新增每日数据保留清理任务:按保留期清空原始报文、删除过期
事件/审计记录,批量幂等可重跑;067 迁移补齐清理索引并清理
冗余索引,check-sql-guard 增加防线
- 生产 CORS 改为显式来源白名单(CORS_ALLOWED_ORIGINS),禁用
通配符,非通配响应补充 Vary: Origin
- 文件上传任一步失败时回滚已上传对象,清理失败记录 warn 日志
- 新增 HTTP/CORS 与 PostgreSQL 集成测试;若干文件仅 prettier 重排
2026-08-30 13:59:01 +08:00
yml2213
5d5d63bb59
feat(接单): 支持客服手动结束赠送冷却
2026-08-28 20:39:41 +08:00
yml2213
d91d7180ad
feat(worker): support batch sharing cancellation
2026-08-28 19:40:49 +08:00
yml2213
e189811617
将退单审核文案明确为打手退单
2026-08-23 18:19:47 +08:00
yml2213
003c3e9208
统一取消订单申请审核文案
2026-08-23 18:13:37 +08:00
yml2213
360c5ea20e
好友赠送单确认加好友后取消扣押金覆盖撤单撤回取消指派撤单申请与超时问题单处置
2026-08-23 11:23:17 +08:00
yml2213
665fc9ffa7
工单流转记录始终展示操作人并区分涉及打手补充编辑与撤回明细
2026-08-22 14:02:52 +08:00
yml2213
476ab166d7
修复资金申请渠道筛选失效并为时间筛选增加快捷选项
2026-08-22 12:08:11 +08:00
yml2213
1f7ff016df
新增打手端新订单语音播报开关
2026-08-22 09:12:26 +08:00
yml2213
f4d32a7c07
增加售后相关的
2026-08-21 14:30:00 +08:00
yml2213
993ddcd034
优化订单打手信息展示
2026-08-21 11:49:42 +08:00
yml2213
e05a6797a3
新增接单模板价格同步
2026-08-20 20:24:00 +08:00
yml2213
6539e0fb21
新增打手端滚动公告
2026-08-20 20:04:43 +08:00
yml2213
20b1066ba3
新增打手问题反馈
2026-08-20 19:56:10 +08:00
yml2213
e504b3a207
新增打手撤单审核
2026-08-20 19:43:03 +08:00
yml2213
3587e44261
增加取消订单重新可以发布
2026-08-20 17:46:53 +08:00
yml2213
df90b67d8e
v5拼单免审核
2026-08-19 19:27:23 +08:00
yml2213
ab6387759e
修复拼单明细并支持参与者撤单
2026-08-19 14:35:23 +08:00
yml2213
baf09dc533
支持VIP5免审核后补图
2026-08-17 12:29:34 +08:00
yml2213
950c4fd578
接单工单新增流转记录(订单详情时间线)
...
- 后端:新增工单事件查询接口(管理端 + 打手端),事件带操作人显示名(管理员用户名 / 打手昵称 / 系统)
- 补齐关键节点事件:抢单接手(grabbed)、验收通过(accepted 带操作人)
- 管理端/打手端事件写入操作人(admin session username 贯通至事件)
- 前端:订单详情新增「流转记录」时间线,按订单生命周期节点展示(创建/发单/接手/资料/验收/问题/取消),时间+操作人+状态流转
2026-08-16 19:25:20 +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
5c7c3e14e3
统一前后端代码格式化配置
2026-08-16 17:27:12 +08:00
yml2213
c4e7e67115
优化拖拽
2026-08-16 14:38:10 +08:00
yml2213
3a29226077
限制验收图片列表展示
2026-08-15 15:10:39 +08:00
yml2213
d433518038
修复验收图片多选暂存
2026-08-15 14:49:48 +08:00
yml2213
190445319b
fix: 优化验收操作和图片去重
2026-08-15 14:27:12 +08:00
yml2213
88b205f4fd
feat: 优化接单工单资料补充体验
...
- 区服改为非必填,保持 QQ区/微信区 单选;游戏编号/昵称保持输入框,系统保持安卓/苹果单选
- 后台工单 API 归一化输出资料字段,后台人工补充资料弹窗与收集页字段一致
- 人工补充资料弹窗单选字段由下拉框改为直接点选(Radio)
- 买家主页截图支持全局剪贴板粘贴(Ctrl+V/⌘V),并提示点击/粘贴/拖拽三种上传方式
2026-08-14 16:05:55 +08:00
yml2213
23ad60a1ef
接单工单支持任务时限,超时自动判定失败并处置
2026-08-01 19:02:57 +08:00
yml2213
66193c5d59
图片上传支持粘贴剪贴板与拖拽上传
2026-08-01 18:40:51 +08:00
yml2213
2412df8b54
资料字段支持下拉选项与买家截图,大厅按 VIP 等级延迟可见
...
资料字段:
- CollectField 支持 type(text/select) 与 options,规则字段语法 key:名称#选项1,选项2
- 默认字段改为游戏编号/游戏昵称/系统(安卓,苹果)/区服(QQ区,微信区),旧默认模板字段自动替换为新版
- 采集页与管理端补资料支持单选下拉与买家主页截图上传(新增公开上传接口)
- 管理端工单详情展示买家截图
VIP 延迟可见:
- 等级权限新增 visibleDelaySeconds(默认 VIP1=20s~VIP5=0s,可后台配置)
- 大厅按等级延迟过滤新发布工单,页面提示延迟规则
2026-08-01 18:14:37 +08:00
yml2213
a2587eda01
完善接单平台上传与物品规则
2026-07-25 15:56:18 +08:00
yml2213
d52a16bf85
统一日期时间选择器为中文
...
- 全局初始化 dayjs zh-cn,修复日历周/月英文
- 新增 AdminDatePicker / AdminRangePicker 统一格式与占位文案
- 任务、审计、云触手、行业售后等筛选统一使用
2026-07-10 16:07:29 +08:00
yml2213
32eb442b72
修复链接 feifei 不展示
2026-07-09 18:57:52 +08:00
yml2213
dbcb5a4979
重命名前端目录
2026-07-07 19:55:18 +08:00
yml
837e1c6e66
清理旧履约模型残留
2026-05-27 14:22:23 +08:00
yml2213
4cd9e6d5b6
优化订单列表状态标签布局
2026-05-26 13:20:29 +08:00
yml
2c7464b1eb
删除库存和旧回调管理
2026-05-25 23:07:19 +08:00
yml
dc099ae6f8
清理快手前端无用入口
2026-05-25 20:59:57 +08:00
yml
a39d43c4d6
使用element ui
2026-05-21 20:16:27 +08:00
yml2213
787b01749c
feat(frontend): add P2 quality gates
2026-05-15 17:35:50 +08:00
yml2213
11678a7f83
admin后台 第一阶段目录优化
2026-05-15 14:12:38 +08:00