Commit Graph
761 Commits
Author SHA1 Message Date
yml2213 21211bd760 feat: 支持取消指派打手,可重新指派他人
- 后台可取消进行中订单的指派:订单回未分配,冻结押金全额退还,记录事件与审计
- 工单列表新增「取消指派」按钮(带确认弹窗),客服/管理员/运营可用
- 取消后可重新指派给其他打手
2026-08-15 13:48:32 +08:00
yml2213 d44c6039ea feat: 物品规则页左右布局,接单平台统计条精简
- 物品规则改为左右布局:左侧编辑/新建表单(加宽、一屏展示无滚动条),右侧可滚动规则列表
- 列表顶部新增搜索(规则标识/商品/SKU/店铺),点击行快速载入编辑,当前行高亮
- 接单平台顶部统计改为单行紧凑统计条,减少页面高度
2026-08-15 11:28:52 +08:00
yml2213 1131780186 feat: 物品规则接单金额可填0并限制零元发布,客服增加发单指派权限
- 物品规则接单金额允许填 0(按数量计价不受影响)
- 接单金额为 0 的工单禁止发布:前端发布按钮置灰 + 后端 409 拦截
- 客服(support)获得发布工单与指派打手权限
2026-08-15 11:16:26 +08:00
yml2213 57ceac7143 feat: 打手验收图片上限提升到 20 张 2026-08-15 10:11:26 +08:00
yml2213 ecdbacd745 feat: 客服可修改工单,商品名双击编辑,订单列显示来源店铺
- 工单编辑接口放开 support 角色,客服可双击改发单金额/押金及商品名
- 订单列商品名支持双击原地修改(单击看详情不变)
- 订单列新增来源/店铺展示;Mock 工单补充店铺信息并回填存量数据
2026-08-15 10:07:32 +08:00
yml2213 f078c75378 feat: 人工补充资料的系统字段改为选填
系统(安卓/苹果)与区服均改为选填,仅游戏编号、游戏昵称必填;
同步更新默认字段模板单元测试
2026-08-15 09:55:47 +08:00
yml2213 b87886c688 fix: 按数量计价模式无需填写接单金额
选择按数量×单价时,接单金额可留空(建单时按 单价×SKU文字数量 计算总价);
仅当接单金额和单价都为空时才拦截
2026-08-15 09:53:26 +08:00
yml2213 f2edb7f895 feat: 物品规则支持按数量计价(二次匹配SKU文字数量)
- 规则新增单价(unit_price_fen,0 关闭),开启后接单总价 = 单价 × 商品名称文字中的规格数量
- 新增 resolveSkuNameQuantity:支持阿拉伯数字与中文数字(如 指挥官秘钥15个 → 15、三个 → 3)
- 建单同步时按文字数量计算奖励,skuQuantity 记入工单 material.source 便于核对
- 规则表单新增计价方式(固定金额/按数量×单价),列表展示单价
- 新增 3 个数量解析单元测试(269 全通过)
2026-08-14 18:25:06 +08:00
yml2213 f2e08a4fbc feat: 订单资料图片完整展示与打手快捷复制
- 修复资料截图 URL 过期问题:读取工单时统一重签截图访问链接(后台/打手端/收集页)
- 修复后台手动补资料截图从未保存的问题(提交真实上传列表)
- 收集页提交后回显已上传截图,补资料弹窗重开回显已有截图
- 打手端我的订单新增快捷复制:复制信息(多行标签:值)+ 一键复制图片(JPEG 自动转 PNG)
- 快捷复制列与后台资料列同款展示:全字段逐行 + 截图缩略图
- 后台接单工单资料列优化:显示全部字段与截图缩略图
- 详情抽屉移除冗余的资料要求卡片
2026-08-14 18:13:21 +08:00
yml2213 85fa8f11fd feat: 接单工单金额双击编辑与资料粘贴识别
- 表格双击发单金额/押金原地编辑,自动聚焦全选,Esc 取消
- 发单金额高于用户付款金额时保存前弹确认提示(编辑弹窗同步)
- 亏损单(发单金额>付款金额)在列表中红色加粗显示,便于定位
- Mock 工单支持填写用户付款金额(留空默认同接单金额),便于本地测试
- 人工补充资料支持客服消息剪贴板粘贴自动识别填充(系统/区服/角色名称/游戏编号,区服选填有则识别)
2026-08-14 17:34:13 +08:00
yml2213 7bb3142958 feat: 打手分内部/外部,内部免审核;支持后台指派打手
- worker_users 新增 worker_type(internal/external,迁移 017)
- 内部打手提交验收后自动通过进入待打款(accepted+结算),外部打手保持后台审核
- 打手管理页支持设为内部/外部并显示类型标签
- 新增后台指派打手:未分配/待抢单工单可指定已注册打手,进入其我的订单并冻结押金
- 指派带审计与事件记录,校验打手状态/接单上限/余额押金
2026-08-14 16:35:15 +08:00
yml2213 6a17113374 feat: 打手支持昵称登录,物品规则标识唯一校验
- 昵称全局唯一(迁移 016 唯一索引 + 注册校验),存量空昵称自动补账号名
- 登录解析链扩展为 账号/手机号/昵称,均可加密码登录
- 登录页提示更新为「手机号 / 昵称 / 账号」,注册页提示昵称可作登录账号
- 新建物品规则时校验规则标识唯一:已存在则拒绝(409),编辑不受影响
- 前端规则表单增加规则标识重复的即时校验
2026-08-14 16:16:49 +08:00
yml2213 88b205f4fd feat: 优化接单工单资料补充体验
- 区服改为非必填,保持 QQ区/微信区 单选;游戏编号/昵称保持输入框,系统保持安卓/苹果单选
- 后台工单 API 归一化输出资料字段,后台人工补充资料弹窗与收集页字段一致
- 人工补充资料弹窗单选字段由下拉框改为直接点选(Radio)
- 买家主页截图支持全局剪贴板粘贴(Ctrl+V/⌘V),并提示点击/粘贴/拖拽三种上传方式
2026-08-14 16:05:55 +08:00
yml2213 951d0574b1 优化接单工单筛选布局 2026-08-14 15:40:17 +08:00
yml2213 78d6c2f8a1 优化电子凭证操作与测试数据 2026-08-14 15:14:34 +08:00
yml2213 dffe32e84a feat: 冻结/拒绝的打手账号禁止登录
- loginWorker 仅允许 active 状态登录,rejected(冻结)/pending_review/disabled 均拦截并返回对应错误码
- verifyWorkerSessionToken 对非 active 状态直接失效会话,冻结后已登录会话立即退出
- 补充 assertWorkerLoginAllowed 四种状态的单元测试
2026-08-14 15:14:26 +08:00
yml2213 da1f2469bd 调整接单工单金额展示 2026-08-11 16:56:10 +08:00
yml2213 40be8103fc 优化快手发码接单数据 2026-08-11 14:30:19 +08:00
yml2213 e097ddad3d 支持领取链接长期有效 2026-08-11 14:06:29 +08:00
yml2213 e72c936986 优化履约路由回退策略 2026-08-11 11:38:47 +08:00
yml2213 3d747aa5aa 补全历史履约通道优先级 2026-08-11 11:00:11 +08:00
yml2213 c391122c67 修复履约任务创建筛选 2026-08-11 10:15:29 +08:00
yml2213 49705f2774 优化 affiliate-dash 商户单号 2026-08-11 09:48:05 +08:00
yml2213 5885720c36 解耦接单与履约订单处理 2026-08-10 18:23:41 +08:00
yml2213 a7de443cb9 优化 不在频繁报错 试 91 订单失败 2026-08-10 16:51:45 +08:00
yml2213 270e3ca89a 关闭 send-code 临时抓包日志 2026-08-10 15:59:27 +08:00
yml2213 16f9531b40 修复接单物品规则管理 2026-08-10 15:53:11 +08:00
yml2213 bcde47ef97 彻底修复 lewan 自动发货问题-8-8-2 2026-08-08 23:43:29 +08:00
yml2213 6e41d7e0db 彻底修复 lewan 自动发货问题-8-8 2026-08-08 23:08:05 +08:00
yml2213 7196752d44 失效号码清理下沉到刷新流程:所有触发路径(claim轮询/91交付/回收/后台)遇无权限号码统一清空绑定,不再反复打上游 2026-08-08 15:14:59 +08:00
yml2213 5a1c5a3759 回收遇无权限号码直接清空任务绑定不再重试:已手动退号的旧绑定一次性收敛,发货收尾视号码已释放 2026-08-08 14:59:23 +08:00
yml2213 2b3954d0e3 修复履约路由总开关关闭后仍回退默认配置自动发货:总开关关闭即停止自动履约 2026-08-08 14:56:28 +08:00
yml2213 23b3711e64 平台配置 kuaishou-lewan 调试区新增虚拟号列表查看与手动退号 2026-08-08 14:30:43 +08:00
yml2213 6d0534296c 修复取号账号与退号账号混用:操作已有号码严格锁定取号账号,禁止静默 fallback 到其他账号 2026-08-08 14:23:11 +08:00
yml2213 e1a0a74477 优化孤儿号码回收:权限不足重试3次后停止打上游,1小时后自动重置,health 摘要展示孤儿数量 2026-08-08 02:38:01 +08:00
yml2213 995de86322 修复 lewan 虚拟号配额被占满:过期绑定自动回收、退号失败不再追加取号、取号占满增加冷却 2026-08-08 02:15:13 +08:00
yml2213 84a4c6c627 修复 kuaishou-lewan 登录验证后未保存的新账号被服务端数据覆盖丢失 2026-08-08 02:02:31 +08:00
yml2213 3a2147e94b 优化 affiliate-dash 成功后绑定快照 2026-08-07 12:14:53 +08:00
yml2213 dc3fd63b04 修复 affiliate-dash 绑定状态一致性 2026-08-07 11:40:28 +08:00
yml2213 17acd65f28 修复 affiliate-dash 重复绑定与提交前校验:UID 未变复用绑定防重复生成二维码、提交前强制刷新绑定状态、UID 仅允许纯数字且限 15 位 2026-08-06 23:46:02 +08:00
yml2213 8756a196ae 移除 affiliate-dash 不更换二维码测试 2026-08-05 22:40:22 +08:00
yml2213 8e11d80496 修复 affiliate-dash 提交前绑定校验 2026-08-05 22:25:57 +08:00
yml2213 848f65319f 增加一个不更换二维码测试 2026-08-05 22:06:07 +08:00
yml2213 c91dd4d144 优化领取页绑定 UID 校验 2026-08-05 21:19:09 +08:00
yml2213 0deb498a05 修复 affiliate-dash 绑定不一致时仍显示第 3 步 + 更新 UID 后旧绑定信息残留
- 前端:标题/副文案改为 bound && !bindMismatch 才显示第 3 步,不一致时保持第 2 步并引导重新绑定
- 后端:bindAffiliateDashClaimForTask 重新绑定时清空 bound/boundAccount/bindMismatch,避免旧账号残留导致误报不一致
2026-08-05 20:50:03 +08:00
yml2213 0933b4514f affiliate-dash 绑定 UID 强制校验:绑定账号与第一步填写 UID 不一致时禁止提交
- bind 时记录 expectedGameAccount(第一步 UID 权威值)
- 轮询 bind-result 时本地对比 boundAccount 与 expectedGameAccount(去空白),不依赖平台 mismatch 字段
- submit 前实时拉 bind-result 二次校验,不一致 409 拒绝(前端无法绕过)
- 前端:bindMismatch 时不显示提交发货按钮,提示核对后重新绑定
- 拉取失败不阻塞轮询与提交(平台侧提交仍会校验)
2026-08-05 20:39:13 +08:00
yml2213 f455f853b1 affiliate-dash 结果页:移除渠道字段,结果时间改用 task.redeemedAt(原 flow.dispatch.dispatchAt 非本流程字段显示为空) 2026-08-05 20:24:16 +08:00
yml2213 541b458040 修复 affiliate-dash 提交成功(delivered)后结果页数秒后才显示成功
- syncAffiliateDashTaskStatus 新增 snapshotOnly:submit 拿到 delivered 后直接用本地快照收敛任务为 REDEEMED,不等平台回调(此前要等 delivered notify 落地,约 9 秒)
- 新增终态保护:已 REDEEMED/MANUAL_REVIEW/CLOSED/FAILED 的任务,非 delivered 状态不再降级(轮询时平台详情短暂返回 paid/delivering 会把成功任务打回 REDEEMING)
- submitAffiliateDashClaim:result.status=delivered 时重新读任务并 snapshotOnly 收敛
2026-08-05 20:20:10 +08:00
yml2213 e8eab6e689 fix(kuaishou-industry): 修复电子凭证发货回调并发导致 807000 获取并发锁失败
同一 oid 的发货回调可能被多个来源并发调度(内存重试链 timer、worker_scan
兜底扫描、快手重复推送 send-code 后的再次调度),快手侧对同一 oid 有并发锁,
并发请求会返回 807000「获取并发锁失败」。

- runKuaishouIndustrySendCallbackForOid 增加进程内 in-flight 互斥,
  正在执行时其它调度直接跳过,由当前执行链路决定成功或按 backoff 重试
  (try/finally 保证所有 return 路径释放)
- listKuaishouIndustryVouchersForSendCallbackRetry 增加 maxAttempts 参数
  及 SQL 条件 COALESCE(send_callback_attempt_count,0) < ,缩小扫描集
2026-08-05 20:05:43 +08:00
yml2213 4e9c416235 affiliate-dash 领取界面优化(合并多次迭代为一次提交)
- 第 2 步绑定页:移除金额/单号/商品信息区,移除标题上方 affiliate-dash 标签
- 二维码区参考旧设计:左右竖排红字 Q区用Q扫/V区用V扫,去浅蓝背景,放大至 220px
- 第 4 步结果页:废弃 canvas 生成发货成功图,改用旧版结果卡片(绿勾+兑换成功+信息网格+商品明细)
- 开发 Mock:新增 affiliate-dash 领取五步 mock(uid/bind/submitted/completed/failed,不调真实平台)
2026-08-05 19:39:15 +08:00