Commit Graph
511 Commits
Author SHA1 Message Date
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
yml2213 6e635b2499 优化后端-接单平台部分逻辑 2026-07-28 14:06:31 +08:00
yml2213 b505b6b85e 精简接单端页面样式 2026-07-28 11:52:41 +08:00
yml2213 55ffb1e88b 优化抢单大厅布局 2026-07-28 11:24:29 +08:00
yml2213 cdfee71c97 优化我的订单页 2026-07-28 11:06:17 +08:00
yml2213 2ab80c4df8 完善个人中心资金功能 2026-07-28 10:41:46 +08:00
yml2213 dca45afcc8 优化接单工单详情展示 2026-07-28 10:24:49 +08:00
yml2213 f0ba0fe17f 修复接单平台并发、分页与补资料 2026-07-28 10:15:44 +08:00
yml2213 9053a06481 有效期改成 30 天 2026-07-27 13:08:48 +08:00
yml2213 a2587eda01 完善接单平台上传与物品规则 2026-07-25 15:56:18 +08:00
yml2213 f6d3f00f21 新增接单平台第一期闭环 2026-07-25 13:58:53 +08:00
yml2213 06decc51ff 优化操作区域-2 2026-07-23 11:52:00 +08:00
yml2213 66ef033b47 优化操作区域 2026-07-23 11:44:36 +08:00