Commit Graph
100 Commits
Author SHA1 Message Date
yml2213 b017efe783 支持客服下架和撤单 2026-08-15 15:27:40 +08:00
yml2213 cd3b48eef5 优化下架和撤单功能 2026-08-15 15:25:56 +08:00
yml2213 3b562b4824 复制订单信息包含物品 2026-08-15 15:15:06 +08:00
yml2213 3a29226077 限制验收图片列表展示 2026-08-15 15:10:39 +08:00
yml2213 4eb9aa2cd8 支持批量验收接单订单 2026-08-15 15:07:31 +08:00
yml2213 87d8360e64 支持代练中更新订单资料 2026-08-15 15:03:08 +08:00
yml2213 edccf03eb0 统一展示平台订单号 2026-08-15 14:54:56 +08:00
yml2213 d433518038 修复验收图片多选暂存 2026-08-15 14:49:48 +08:00
yml2213 190445319b fix: 优化验收操作和图片去重 2026-08-15 14:27:12 +08:00
yml2213 55a658b4fe fix: 限制客服编辑资料字段 2026-08-15 14:22:47 +08:00
yml2213 112a3272d2 feat: 增加打手工单备注 2026-08-15 14:22:13 +08:00
yml2213 af323af48e feat: 支持验收图片暂存 2026-08-15 14:20:58 +08:00
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
yml2213 316ee6d135 履约配置页 affiliate-dash 覆盖收尾:preferredMatchEnabled 开关补入平台配置 UI
- 分析结论:履约路由面板已含 affiliate_dash(开关/优先级/规则),职责划分成立
- 缺口修复:指定匹配优先开关此前无 UI 入口,现平台配置 affiliate-dash tab 增加 Switch
- 后端 effective 透出 preferredMatchEnabled;前端类型/panel 补齐
- 前后端 typecheck 通过,224 测试全绿
2026-08-05 17:52:14 +08:00
yml2213 5f5a1a8bcf 重构:affiliate-dash 平台配置从履约配置页移至平台配置页
- AdminPlatformShopsPage 新增 affiliateDash tab + AffiliateDashPlatformPanel(密钥/钱包/商品/映射/测试)
- AdminPlatformFulfillmentPage 移除 affiliate-dash tab 与组件
- 后端与 API 路径不变(本就挂 /platform-config),纯前端 UI 归位
- 前端 tsc -b 通过
2026-08-05 17:45:44 +08:00
yml2213 0f81380d9c 新增透传:91 编码与 affiliate_dash sku 一致时自动命中
- resolveAffiliateDashSkuByProductNo 改 async,匹配两级:①指定映射(skuMapping 归一命中) ②透传(productNo == affiliate_dash 商品 sku)
- 商品列表内存缓存 5 分钟,拉取失败返回上次缓存/空集合,匹配 miss 走其他通道不阻塞下单
- 两层命中均触发指定匹配最高优先(preferredExecutorKey)
- 测试 +3(224 全绿);线上验证 suit_alan_walker/suit_cloud_bear 透传命中,乱码回退
2026-08-05 17:40:13 +08:00
yml2213 769d41655a 优化履约匹配:指定匹配(91中文名→sku映射)最高优先 + 映射键归一化
- 91 商品编码全部为中文名(幸运币90个等),运营按中文名→affiliate_dash sku 配置显式映射
- resolveFulfillmentRoute 新增 preferredExecutorKey:映射命中强制优先(规则之前),停用/不可用回退原逻辑
- matchAffiliateDashSku 归一化:NFKC 全角→半角、去空白、小写,先精确再遍历
- preferredMatchEnabled 配置(默认 true,可一键回退,不耽误现有 cloud/feifei 生产)
- 测试 +9(221 全绿);行为验证:映射命中/全角/空格命中,未映射回退
2026-08-05 16:44:37 +08:00
yml2213 5f5506bb19 docs: 履约匹配逻辑深度分析(§21 痛点 P1-P8 + 优化建议分档)
- 匹配链路全貌:91 item → 三路匹配 → 路由(规则/优先级/manual_review) → planner 动态 profile
- 8 个痛点:P1 精确映射排在名字模糊匹配之后(可信度倒挂)、P2 productNo 未拆 ---- 后缀、P3 映射键无归一化、P4 缺名字兜底、P5 余额不参与路由、P6 双轨配置冲突、P7 重复计算、P8 命名语义误导
- 优化建议分档:快赢档 P1-P3 / 中档 P4 / 后档 P5-P8;按用户指示先分析不改代码
2026-08-05 16:14:35 +08:00
yml2213 7fc3d60588 新增 affiliate_dash 回调路由与幂等去重(阶段 5)
- POST /api/v1/open/affiliate-dash:验签 → 查任务(404 重试) → webhook_events 幂等闸门 → 状态同步
- migration 013:webhook_events(provider+event_id 唯一)
- task-repo findAffiliateDashTaskByOrder(仿 feifei 同构 SQL)
- notify-service:去重闸门在找到任务之后,任务未匹配不被 eventId 永久拦截
- typecheck + 212 测试通过;前置错误分支脚本验证通过
2026-08-05 16:07:33 +08:00
yml2213 00d490a2cd 优化 affiliate_dash 核销时机:建单成功即核销(参考 feifei 给用户链接即核销)
- prepareAffiliateDashTask 建单成功(91 卡信息到手、链接可发放)立即核销行业电子凭证
- 核销失败不阻塞下单与链接发放(consumeStatus=failed, delivered 回调兜底补核销)
- sync delivered 分支 alreadyConsumed 短路,避免重复核销
- typecheck + 212 测试通过
2026-08-05 16:02:44 +08:00
yml2213 5ef1ed6018 新增 affiliate_dash 统一领取页流程(阶段 4)
- 后端:claim 详情分流 affiliate_dash 分支 + 详情轮询刷新 bind-result
- 输 UID 触发 bind(拿 bindUuid/二维码, task→waiting_binding)
- 新增 POST /claim/:token/affiliate-dash/submit(submit→redeeming + 事件)
- 前端:ClaimAffiliateDashSteps(二维码/绑定状态/mismatch警告/提交发货)
- claim-snapshot/claim-poll 按 flowType 分流(step2 绑定中/step3 已绑定待提交/step4 结果)
- 前后端 typecheck + 后端 212 测试通过
2026-08-05 15:56:51 +08:00
yml2213 3284fed7a1 新增 affiliate_dash 履约配置与商品映射(阶段 3)
- bootstrap CORE_PROFILES + routing ROUTABLE/DEFAULT_PRIORITY 接入 affiliate_dash
- planner 上下文 affiliateDash 块 + resolveDynamicAffiliateDashProfile
- product-resolution: 91 productNo→sku 映射匹配(skuMapping) + snapshot.affiliateDash
- prepare 前余额预检(getAffiliateDashWallet)
- AFFILIATE_DASH_SKU_MAPPING_JSON env 注入
- admin 后端接口(GET/POST 配置、match、products、wallet)+ 前端 Tabs 面板
- 联调:模拟 91 进单命中 affiliate_dash 路由, 未命中回退;前后端 typecheck + 212 测试通过
2026-08-05 15:08:41 +08:00
yml2213 867ffd2f3c 新增 affiliate_dash 履约 executor(阶段 2)
- executor 常量/守卫 + affiliate-dash-executor(preparePaidTask/resolveDeliveryLink)
- 履约业务实现:prepareAffiliateDashTask(幂等建单, client_order_no=task_no, data 透传 91单号/game_account)
  + syncAffiliateDashTaskStatus(状态合并: delivering→redeeming / delivered→核销→redeemed /
  ship_failed→retry_pending / cancelled→closed)
- registry 注册 + 测试(212 全绿)
- 真实建单联调通过(线上 skin.khhao.com,幂等不重复扣款)
- 修复 POST /orders 响应 data.order 映射层级
2026-08-05 14:56:36 +08:00
yml2213 a6ba5f1c7f 新增 affiliate_dash 发货平台客户端与签名(阶段 1)
- 平台配置接入:runtime-config/types/defaults/env-overrides/app-config-keys 增加 affiliateDash
- affiliate-dash 平台客户端:请求签名(§3.1 app_key+body_sha256)、回调验签(§3.2 timingSafeEqual)、
  http-client 封装(超时/错误归一/全链路日志)、订单/交付/钱包/商品接口封装
- 单测 12/12 + 全量 211 通过,真实联调拉取线上商品 33 个验证签名链路
- 新增 affiliate_dash 对接文档 v2(含契约验证结论与深度分析)
2026-08-05 14:51:40 +08:00
yml2213 784459232d 修复部署脚本 COMPOSE_PROFILES 跳过 MinIO 不生效的问题
- 仅在未设置 COMPOSE_PROFILES 时默认激活 storage profile,避免覆盖环境变量空值
- ensure_docker 改为按数组长度判断,移除恒为 false 的死代码
- start_minio 按 profile 值匹配,避免将来新增 profile 时误判
2026-08-05 12:36:16 +08:00
yml2213 d9c329e644 Merge remote-tracking branch 'origin/main' into dev 2026-08-05 11:29:00 +08:00
yml2213 4bd2c174c5 快手发码数据接入发单平台工单侧
- 新增 sync-work-orders-from-send-code 服务:91 先到则回填 shopId/补建工单/凭证回填 material_json;91 未到则兜底建单建工单
- order-service 与 ninetyone order-service 改用 findLatestOrderByPlatformOrderId,放宽 shopId 查重避免重复建单
- work-order-repo 新增 listWorkOrdersByPlatformOrderId 供兜底查重
- send-code-service 挂接同步逻辑并吞错,不影响发码主流程
- ProductRulesPanel 新增店铺列
- .gitignore 忽略 send_code/ 与 .reasonix/
2026-08-05 11:22:24 +08:00
yml2213 1dd92ec10c 统一登录页品牌样式 2026-08-02 16:59:26 +08:00
yml2213 40885c39b7 优化接单登录页设计 2026-08-02 16:55:52 +08:00
yml2213 2227cda73d 修复打手短信验证码发送 2026-08-02 15:12:02 +08:00
yml2213 e0e4f71830 Caddyfile 增加 live.khhao.com 反代 douyu-login 2026-08-02 11:43:55 +08:00
yml2213 f839429261 快手发码通知采集到独立日志文件,修复 integration 日志阈值问题 2026-08-02 11:43:22 +08:00
yml2213 c138d75d8e 快手发码通知采集到独立日志文件,修复 integration 日志阈值问题 2026-08-02 11:43:17 +08:00
yml2213 c9195c623d 优化打手端我的订单与个人中心界面布局 2026-08-02 10:32:51 +08:00
yml2213 93df3d1c9b 押金解冻天数可配置与待解冻押金扣减,超时订单保留记录 2026-08-02 10:14:05 +08:00
yml2213 043dd3c128 优化readme 2026-08-02 08:38:35 +08:00
yml2213 9c0d43535e Merge remote-tracking branch 'origin/main' into dev 2026-08-01 19:27:19 +08:00
yml2213 fdd4842c1f 接单平台记住上次选中的功能标签页 2026-08-01 19:24:35 +08:00
yml2213 3650526863 超时订单按打手统计,抢单大厅标注限时任务 2026-08-01 19:18:20 +08:00
yml2213 23ad60a1ef 接单工单支持任务时限,超时自动判定失败并处置 2026-08-01 19:02:57 +08:00
yml2213 66193c5d59 图片上传支持粘贴剪贴板与拖拽上传 2026-08-01 18:40:51 +08:00
yml2213 de33bfa74c 接单工单支持编辑与删除,修复编辑押金不生效问题 2026-08-01 18:35:12 +08:00
yml2213 fddb757078 抢单大厅新增自动刷新开关并移除延迟可见提示 2026-08-01 18:23:58 +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 70e64155bc 拆分接单平台超长文件,按域组织代码
- worker-platform-service.ts (2733行) 拆为 worker-service/admin-service/mappers + index 聚合
- worker-platform-repo.ts (2456行) 拆为 repositories/worker-platform/ 目录(types/shared/worker-repo/work-order-repo)
- AdminWorkerPlatformPage.tsx (2784行) 拆为主页面 + panels/ 目录(7 个面板文件)
- 引用方统一改指向 index 聚合,行为不变
2026-08-01 16:44:20 +08:00
yml2213 c33e859e96 接单平台新增拼单与取消接单能力
拼单功能:
- 工单/物品规则支持拼单配置(启用、总数量、单价),总价=单价×数量三方联动,启用拼单时工单金额自动同步拼单总价
- 拼单参与按数量冻结比例押金,验收通过后按份额结算报酬,升级统计按数量计入
- 抢单大厅拼单入口:紫色渐变大按钮带单价展示,拼单进度/剩余份数,弹窗输入数量实时预估报酬与押金
- 我的订单展示拼单份额(数量×单价、状态),拼单者各自提交验收,全部提交后管理员统一验收
- 新增 work_order_shares 表与迁移 008

取消接单:
- 进行中订单可取消(押金全额退还、工单回大厅),30 天内限 5 次防滥用
2026-08-01 16:31:27 +08:00
yml2213 52a85f7f9e 充值申请增加付款凭证与付款时间,管理端可核对后审核
- 打手端充值表单新增付款时间(必填)与付款凭证上传(最多5张)
- 后端存储 paidAt 与 proofFiles 归一化数据
- 管理端资金申请列表新增付款凭证缩略图列,审核弹窗展示付款时间与凭证预览
2026-08-01 15:22:25 +08:00
yml2213 d9db2f5dce 接单平台等级 CRUD 完善,修复默认分类停用被重置
- 等级面板支持编辑、启用/停用切换、删除(默认等级与使用中等级受保护)
- 新增等级删除接口及使用量校验
- 修复默认分类停用后被 ensureWorkerPlatformDefaults 重置为启用的问题,默认分类仅不存在时创建
- 分类操作后改为显式刷新列表
2026-08-01 15:11:02 +08:00
yml2213 0369186b18 接单平台分类管理完善:抢单大厅分类筛选与分类 CRUD
- 抢单大厅新增分类 Tab 筛选(仅显示启用分类,支持按分类查询工单)
- 管理端分类面板支持编辑、启用/停用切换、删除(被工单/规则引用时禁止删除)
- 后端工单列表支持 categoryId 筛选,大厅接口返回分类列表
2026-08-01 14:59:58 +08:00
yml2213 8dfe797c25 管理端打手列表增加邀请人展示 2026-08-01 14:52:13 +08:00
yml2213 51d72cc283 接单平台新增 VIP 等级体系与邀请绑定
- 等级按累计验收通过工单数自动升级(阈值后台可配),VIP1-5 默认配置 10/30/50/100
- 存量打手统一归 VIP1,原 regular 等级停用
- 注册支持邀请码绑定邀请人,每人生成唯一邀请码
- 新增 worker_level_logs 升级流水表
- 个人中心展示邀请码与升级进度,管理端等级表单支持升级阈值配置
2026-08-01 14:50:08 +08:00