Commit Graph
87 Commits
Author SHA1 Message Date
yml2213 5e59a5fdb1 fix(order-service): 修复包含 Emoji 和孤立代理字符的订单在 PostgreSQL jsonb 下报错导致死循环重试进单的问题
1. 在 utils/json.ts 新增 sanitizeWellFormedUnicode、deepSanitizeUnicode 和 safeJsonStringify,自动清理空字节 (\0) 并将畸变孤立 UTF-16 代理字符 (Lone Surrogates) 安全转换为规范字符,杜绝 PostgreSQL jsonb 解析错误;
2. 拼多多订单映射器与通用进单服务 (order-service) 全面接入 Unicode 深度清洗与安全序列化,确保买家昵称/留言中的各类特殊 Emoji 和生僻字符平滑落库;
3. 数据库仓储层 (order-repo / order-item-repo) 针对 raw_payload_json、spec_json、item_snapshot_json 等 jsonb 字段增加兜底安全序列化保护;
4. 补充 utils/json.test.ts 与 pdd-order-mapper.test.ts 单元测试,覆盖畸变字符与空字节场景。
2026-09-19 11:40:02 +08:00
yml2213andCursor 40278a68fc chore(logging): 降噪 PDD 同步与发单消费者常态日志
将无新单/全跳过的处理完成日志降到 debug,并压缩 decisions 详情,避免 app 日志被按日切碎。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 13:48:30 +08:00
yml2213andCursor 40c51e1d8e fix(admin): 订单列表默认近7天并按支付时间筛选
避免无日期过滤时展示全库,关键词搜索不受日期限制;SSE 插入裁剪并尊重筛选,新单入库优先使用平台支付时间。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 13:41:29 +08:00
yml2213andCursor b3aad0044c refactor(fulfillment): 移除飞飞/乐玩通道,仅保留 affiliate_dash
新单只路由 affiliate_dash(未命中走 manual_dispatch);历史飞飞/乐玩任务保留只读 stub,避免订单重同步失败。同步清理 cloudtentacles 调度、Admin 写路径与相关 env。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 17:29:47 +08:00
yml2213 424c320183 feat(pdd): 原生内嵌拼多多多店铺订单同步子服务与anti-content纯算引擎
1. 纯算引擎 (pdd-anti-content.ts):
   - 100% 纯 TypeScript 原生还原 0as anti-content 算法,零 npm 依赖(仅基于 Node.js 原生 zlib 与 crypto)。
   - 包含 22 个环境特征 Tag TLV 组包、zlib 标准压缩、4 字节尾部扰动盐与 64 字符动态位移 Base64 编码,单次耗时 < 0.1ms。

2. MMS 接口客户端与数据映射 (pdd-client.ts, pdd-order-mapper.ts):
   - 基于原生 fetch 实现高可用 MMS 请求,支持拼多多网关毫秒级服务器时间校准 (/api/server/_stm)。
   - 实现拼多多订单状态与字段规范映射为平台 SourceOrderEvent,精准保留买家留言与充值账号信息。

3. 多店铺配置与防风控错峰调度 (pdd-source-config-service.ts, pdd-sync-service.ts):
   - 支持多店铺账号配置持久化(PostgreSQL app_config_entries 与本地 JSON 双模兜底)。
   - 实现店铺间轻量错峰拉取机制,避免并发峰值触发平台 40002 频控。

4. 内存级自动进单与派单流转:
   - 拉取新订单后在 Node.js 内存中直接调用 upsertOrderFromSource(),自动完成 orders/order_items 入库、商品规则匹配与打手大厅工单 (work_orders) 实时广播。

5. 调度器与管理端 API (scheduler-service.ts, platform-config/pdd.ts):
   - 注册 pdd_order_sync 定时任务(默认 20s 轮询),提供管理端店铺配置查看、保存、删除及手动立即同步接口。
   - 所有新增代码均遵循中英双语注释规范,并通过类型检查与单元测试。
2026-09-12 14:12:11 +08:00
yml2213 de63daf1ac 优化订单履约分流与后台筛选 2026-09-02 11:59:38 +08:00
yml2213 dcb0fa4c76 优化订单流程与数据库关闭 2026-08-30 13:15:47 +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 5c7c3e14e3 统一前后端代码格式化配置 2026-08-16 17:27:12 +08:00
yml2213 c391122c67 修复履约任务创建筛选 2026-08-11 10:15:29 +08:00
yml2213 5885720c36 解耦接单与履约订单处理 2026-08-10 18:23:41 +08:00
yml2213 6e41d7e0db 彻底修复 lewan 自动发货问题-8-8 2026-08-08 23:08:05 +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 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 a2587eda01 完善接单平台上传与物品规则 2026-07-25 15:56:18 +08:00
yml2213 8bcd9bbd81 收紧后端 TypeScript:统一 Json 类型与 TaskContext 契约
关闭 allowJs;集中 JsonObject 定义并替换分散 any 别名;parseTaskContext 返回 TaskContext;任务详情 API 标注 AdminTaskDetailView;测试减少 as any。
2026-07-10 15:52:05 +08:00
yml2213 3642ad8aec 配置改为数据库存储
将运行时 JSON 配置迁入 app_config_entries,启动时从文件导入并删除源文件。
2026-07-10 09:14:12 +08:00
yml2213 4d5b0d6fc6 优化履约路由并重命名乐玩通道 2026-07-09 10:49:33 +08:00
yml2213 9a24268b5a 重构订单履约发货流程 2026-07-08 21:57:34 +08:00
yml2213 647f038061 优化发码回调,失败停止整个流程 2026-07-08 16:31:19 +08:00
yml2213 177f72dd2c 优化feifei商品名映射 2026-07-07 15:12:48 +08:00
yml2213 ddfa6c278f 接入多发货平台与电子凭证 2026-07-07 12:06:19 +08:00
yml2213 f408fe1804 优化多账号选择 2026-05-29 22:34:41 +08:00
yml e8ba48d74f 设置云触手默认登录设备 2026-05-28 13:05:44 +08:00
yml 9709643583 优化快手 Cloud 主链路状态机 2026-05-28 10:03:23 +08:00
yml 5e5413238f 修复不返回链接错误 2026-05-27 19:54:00 +08:00
yml 64b663a8f6 支持91商品携带店铺编号 2026-05-27 13:30:47 +08:00
yml c1f3a48634 支持cloudtentacles覆盖规则 2026-05-27 13:25:15 +08:00
yml c7e2a225bc 删除旧履约配置逻辑 2026-05-27 13:12:07 +08:00
yml dd6776c4e4 简化履约匹配并支持mock订单测试 2026-05-27 12:55:44 +08:00
yml2213 e8010728a4 增加履约高级配置 2026-05-26 22:56:41 +08:00
yml2213 6e85002724 优化履约账号优先级配置 2026-05-26 12:44:01 +08:00
yml2213 d126b35579 优化后端代码质量基础 2026-05-26 10:48:30 +08:00
yml2213 a2bce8b272 增强后端 TypeScript 严格类型检查 2026-05-26 10:07:19 +08:00
yml2213 5c7e145766 完成后端类型与平台配置目录分组 2026-05-26 09:10:11 +08:00
yml2213 7aef1a6d50 开启后端严格空值检查 2026-05-26 08:45:06 +08:00
yml2213 dea3023825 优化后端鉴权与日志安全 2026-05-26 08:21:11 +08:00
yml 2c7464b1eb 删除库存和旧回调管理 2026-05-25 23:07:19 +08:00
yml 2103416c7b 中性化库存凭据类型 2026-05-25 22:11:30 +08:00
yml 0caa38e690 清理旧消息和历史命名 2026-05-25 22:03:07 +08:00
yml e7aa194dde 删除咸鱼旧链路 2026-05-25 21:46:39 +08:00
yml 9aafddd624 断开快手后端旧依赖 2026-05-25 21:12:03 +08:00
yml 589de4b50b deduplicate json config file access 2026-05-21 18:54:41 +08:00
yml acd5c0d50e 后端迁移测试文件 2026-05-21 17:39:34 +08:00
yml 6f42609945 后端迁移订单履约配置 2026-05-21 15:48:39 +08:00
yml 0da7666aa0 后端迁移Agiso解析模块 2026-05-21 15:09:03 +08:00
yml a2d029c7da 后端迁移Webhook服务 2026-05-21 15:07:07 +08:00
yml 26739235e4 后端补充Webhook编排测试 2026-05-21 15:04:39 +08:00