[Epic] Admin 采集采购管理端 #14

Open
opened 2026-08-07 10:24:11 +08:00 by ila · 7 comments
Owner
  • #192 Admin:优化顺运宝当天分页漂移重试与默认日期

  • #195 Admin:部署最新版本 a4556b4 到生产服务器

背景与目标

我们在蝦皮(台湾)卖货,在拼多多(大陆)进货,中间由顺运宝提供货运单。
Admin 的职责是把这三方的数据串起来,最终产出 Client 能执行的采购任务。

目标:

  1. 导入并维护蝦皮商品档案,为每个商品登记对应的拼多多链接。
  2. 同步顺运宝货运单,知道“这单该买什么”。
  3. 把蝦皮的颜色尺码对应到拼多多的颜色尺码,且对应关系可复用。
  4. 生成采购任务并分配给指定客户端,跟踪执行结果。
  5. 管理客户端清单,知道谁在干活。
  6. 通过首次管理员初始化、网页登录和受控账号管理保护 Admin 网页。

非目标

  • 不做面向公网的服务,只在内网/本机运行。
  • 不直接对接蝦皮和拼多多的接口。
  • 不自动决定买哪个商品——PDD 链接和规格匹配都由人确认。
  • 不自动付款。
  • ������放公众���册�����不���本阶段给 Client API 增加用户登录或 API Key 认证。

总体方案与关键决策

  • 技术栈: Go + Gin + 标准库 html/template,SQLite(modernc.org/sqlite,纯 Go 免 cgo),Excel 用 excelize。
  • 不引入前端���架和 npm 构建,只允许原生 JS 或 htmx。
  • Go 版本固定 1.23.0,依赖版本受此约束(gin v1.11.0 / sqlite v1.38.0 / excelize v2.9.1)。
  • 四个模块统一三段式布局:顶部工具条 / 中间带勾选的表格 / 底部状态条。
  • 与 Client 只有四个调用:登记、领取、提交结果、提交失败。没有租约、没有心跳、没有状态回查。
  • Admin 必须无条件接受已派发过的 Client 提交的结果(任务已取消、已重派都要收)。
  • 网页认证与 Client API 分组隔离:网页登录只保护 HTML 页面,/api/v1/client/* 在本阶段保持现有契约和响应。
  • 账号体系保持最小:首次启动初始化一个管理员;之后只允许管理员创建或禁用采购员,不开放自助注册,不提前建设复杂 RBAC。

阶段路线

  1. 文档基线与项目骨架
  2. 客户端接入(登记 / 领取 / 提交)
  3. PDD 商品数据与规格匹配
  4. 蝦皮 Excel 导入
  5. 顺运宝货运单与采购任务
  6. Admin 登录与最小账号管理
  7. 客户端与采购员归属���理
  8. ���包与生���验���������

身份认证�������围变更(2026-08-09)

  • MVP 新增 Admin 网页登录与最小账号管理。
  • 包含首次管理员初始化、�������录/退出、Session、管�����员创建/禁用采购员。
  • Client 登�����、���取、结果提交和失败提交四个接口本阶段不改变。
  • API Key、Client 登录、公开注册、复杂角色权限和公网部署不属于本次范围。

子工单索引

  • #12 Admin:新增幂等 Client 登记接口

  • #13 优化 Admin Windows 启动脚本并增加热重载

  • #46 Admin:顺运宝货运单同步

  • #47 Admin:顺运宝登录接入验证码自动识别

  • #48 Admin:进入顺运宝页面不应自动弹验证码框

  • #49 Admin:更新登录与账号管理基线文档

  • #50 Admin:实现首次管理员初始化与网页登录

  • #51 Admin:实现采购员账号管理

  • #52 Admin:验证网页登录不影响 Client 四接口

  • #53 Admin:顺运宝支持指定日期同步

  • #54 Admin:建立客户端与采购员绑定管理

  • #55 Admin:���户密码最小长度���整为 6 个字符

  • #56 Admin:修复拖选密码时�����窗意外关闭

全局风险

  • Go 1.23.0 卡住依赖版���,要升依赖必须先升 Go。
  • 蝦皮报表不是全量目���(样本每商�����仅 1.17 ������� SKU),SKU 覆�������率靠反复导入累积 + 手动新增。
  • �������运宝同���方式尚未确定���MVP 阶段用手工录入。
  • 真实下单开关默认关闭,未通过采购安全门禁不得启�����。
  • Web 登录中间件误挂到 Client API 会破坏现有联调���必须�������过路由隔离和契约回归测�����������防止。
  • 内网非 HTTPS 部署不能保护传输中的密码和 Session,上线范围必须明确。

最终完成标准

四个模块可用,能从蝦皮报表导入一路走到给 Client 派发采购任务并收回结果;
Admin 网页需要���录且账号管理可控;Client 四接口保持兼容;
发���门禁(docs/admin/06 §8)逐条通过。

基线文档

docs/admin/00~07,规则��� admin/AGENTS.md。

客户端归属范围变更(2026-08-09)

经用户确认,MVP 增加管理员维护客户端当前采购员归属的能力:管理员可绑定、转交和解绑,采购员只读查看当前归属自己的���户端;保���完整归属历史。该关系只用于 Web 责任���围和后续任务分配选���,���������改变 Client 四接口,也不改动�����有任务。详见 #54。

  • #57 Admin:管理员自助修改密码

管理员改密范围变更(2026-08-09)

经用户确认,MVP 增加唯一管理员自助修改密码能力:必须校验当前密码,成功后撤销该管理员全部 Web Session 并重新登录�����������不开放采购员自助���密,不提�����������忘记密码绕过,不影响 Client 四接口。详见 #57。

  • #58 Admin:增强顺运宝日期同步容量与完整性保护

顺运宝同步完整性范围变更(2026-08-09)

经用户确认,MVP 增加顺运宝日期同步的真实数据容量与防静默漏单保护:逐日拆分、人工范围最多 31 天、默认总量熔断 10000,并严格核对列表总数和明细 ID 覆盖;任一不完整响应不推进同步游标。详见 #58。

  • #59 Admin:统一日期范围同步并增加同步记录

顺运宝统一同步入口与记录范围变更(2026-08-09)

经用户确认,MVP 将顺运宝的自动同步和指定日期同步合并为一个可见日期范围入口,通常默认最近 3 天并优先连续补齐未同步缺口;新增持久化同步记录,保存操作账号、范围、状态�����统计和游标结果。详����� #59。

  • #60 Admin:���复顺运宝分页总数误判导致同���停止

顺运宝�����页语义���复(2026-08-09)

真实 HAR �����明 list.data.total 是当前�����条�����而非筛选总数���#60 修复 #58 引入的误判,改为页内�����量校验、分页前后 listTotal 核对和唯一 ID 完整性核对;不改变同步范围、容量上限和 Client ���口。

  • #61 Admin:优化顺运宝同步反馈与记录刷新交互

顺运宝同步交���优化(2026-08-09)

经用���确认,同步长任务增加按���运行态和服务端重复提交提示;同步记录弹窗增加保持页码和筛选条件的手动刷新入口,底部操作统一右对齐。不增加自动轮询或新接口。详见 #61。

  • #62 Admin:同步记录弹窗改为局部刷新

同步记录局部刷新修正(2026-08-09)

经用户确认,#61 的“刷新记录”整页重载改为只更新同步记录弹窗列表和分页;F5 仍刷新整个 SYB 页面,不增加顺运宝请求或���动轮询。详见 #62。

  • #64 Admin:统一主列表�������页并右对齐

全模块统一分页范围变更���2026-08-09���

经用户确认,六个 Admin 主列表统一使用���共右下角分页;PDD、�����������集采���和客户端补充 SQL 真分页����������户管理完善������������与���码���持。每页固定 20 条,不增加数据库迁移���JavaScript 分页或跨页勾选。详见 #64。

  • #65 Admin���底���提���文字与分页整体右���齐

底栏信息组���对齐修正���2026-08-09)

经用户确认,在 #64 基础上将六个主列表底栏的提示文���与分���控件�����������������为同一组整体���右;窄窗口换行后两行���分别靠右。不���变分页和后端逻辑。详见 #65.

  • #67 Admin:建立顺运宝采购处理状态并识别���皮 SKU ���— 核心���计已被 #88 替代(阶段框架仍有效)���#88 验收后关闭
  • #68 Admin:���一���皮������ PDD 与采集入口 —— 保留有效,#88 只删掉它的「蝦皮 SKU 已确认才提供入���」前置
  • #69 Admin:实现可复用规格映射与采购任务���建 —— 映射���分已被 #88 替代(采购任务创建的校���仍有效),#88 验收后关闭
  • #88 Admin:顺运宝主链路重构——规格映���改键,蝦皮报表降级为参考数据(已实现,待验收)
  • #90 Admin:规��������配建议���规则层排序,人工确���)—— ���实现,待验收,依赖 #88

���运���驱���采���闭���范围变更(2026-08-09)

经���户确认,Admin 以顺运宝商品明细作为采���员���主要处理入口:在上下文中关���并采集 PDD ���品、保存可复用的���格映射,最后在完整安全校验后创建采购任务。PDD 页面继续作为商品档案和采集诊断入口;不自动猜测规格、不自动付���、不打开真实下单开关、不改变 Client 四接口。详见 #67、#68、#69。

顺运宝主链路设计变更(2026-08-10,#88)

原设计以「���确���性识别蝦��� SKU」���前置,映射���是 (shopee_sku_id, pdd_goods_id)。用线上真实数据核实后推翻:5334 条货运单明细里只有 186 条(3%)能在蝦皮报表里找到商品、102 条(2%)能对上报表的 SKU——97% 的订单会卡死在第一关,且连填 PDD ���接、发采集任务都被这道闸挡着。

改为:映射键换成 (shopee_goods_id, spec_key, pdd_goods_id)(订单���带���信息),蝦皮 Excel 从主干降级为参考数据,syb 同步时补建缺���的���品骨架。#16 立的「换 PDD 商品���旧映射天然失效、换回可复用」这条安全性质原样���留(主键仍��� pdd_goods_id)。

替代关系:#67 与 #69 的核心设计被 #88 替代(#67 的处���阶段框架、#69 ���采购任���校验仍�����有效,��� #88 文末���对照表�����;#68 保留有效。#67/#69 待 #88 实施���验收后关闭。

匹�����������(规则排������人工������、不引入大模型���另��� #90,依赖 #88。

  • #74 Admin:PDD 批量采集任务支持可选客户端

PDD 批量采集客户端分配���围变更(2026-08-10)

经用户确认,PDD 页面批量创建采集任务时增加可选执行客户端,默认仍不指定并允许任意客户端领取;指定后任务只等待该客���端领取。管理员可选全部客户端,采购��������能选择当前归������己的客户���。不改变蝦皮/顺运宝采集入口、Client 四接口或数据���结构。详见 #74。

  • #76 [Epic] Admin ���移到线上 MySQL 8.4

生产数据库架构变���(2026-08-10���

���用户确认,Admin 最终迁移到���上 MySQL 8.4.8,并与���据库同机部署;迁���期���保��� SQLite 只读回退,最终���除运行��� SQLite。不做双���或双向���步,不���放公网 MySQL 端口,不���变 Client 四接���或真实下单安全门禁。���整路线见 #76、#77。

顺运宝 PDD 商品 ID 输入范围变更(2026-08-10)

  • #95 Admin:顺运宝商品详情支持输入 PDD 商品 ID�����已���现�����待验收)

真实下单范���(2026-08-10)

真实下单(只创建未付款订单)不并入原 dry_run MVP,由跨项目 #96 和 #97 独立跟踪;未完������安全门禁前,本工单继续保持 dry_run。

  • #104 Admin:PDD 商品支持批量导入 Excel ���接

PDD Excel 批量导入范围变更(2026-08-10)

经用户确认,PDD ���品���块���加���一���式 .xlsx 批量���入完整商品链接的入口,按 goods_id 复用现有建档、去重和软删除恢复规则;导入后由���购员显式确认,才为本次导入集合批量创建采集任务,默认不指定客户端。上传不自���发���务,不������数据库���构,不覆���有�����采集结果,不改变 Client 四接�����。���见 #104。

  • #105 Admin:区分顺运宝标题与图片交互并增加原���预览(已实现,待验收)
  • #106 Admin:顺���宝下一���支持单条创建采购任���(已实现,���验收)

顺运宝列表采购操作优化(2026-08-10���

经用户确认,顺运宝列表取消含义模糊的整行双击:商品标题进入现有处理详情,图片打开远程原图预览;规格映射完成后���行内下一步可直接进入当前明细的采购任务确认弹窗。仍需确认客户端、执行模式和人民币价格上限,真实下单默认关闭且安全确���不变;不新���数据库结构,不改变 Client 接���。详见 #105、#106。

  • #121 Admin:允许已采集 PDD 商品明确重新采集

PDD 已采集商品���新���集修复(2026-08-10)

经用户确认,PDD 商品详情的“重新采集”改为独���业务入口:允许已采集商品在保���旧详情数据的同时原子创建一条新采集任务;未超时的采集中商品继续防重复,普通批量采集仍跳过已采集商品。不新增数据库结构,不改变 Client 四接口。详见 #121。

  • #123 Admin:PDD 商品支持批量重新采集已选商品

PDD 批量明确重新采集(2026-08-10)

经用户确认,在 #121 单商品重采基���上增加独立“重新采集已选商品”入口:普通“创建采集任务”继续跳过已采集商品;批量重采必须明确显示数量并二次确认,默认不指定客户端,服务端按实时状态逐项原子防重并保留旧采集结果。不新增数���库结构,不改变 Client 四接口。详见 #123。

  • #125 Admin:采购任务详情独立���示 PDD 核单结果

������任务 PDD 核单结果���示(2026-08-10)

经用户确认,采购任务详情从现有 result_data.purchase 结构化���示 PDD 订单编���、下������间和“上���时付款状态���;不同于顺运宝���运单号,付款状态不作为 PDD 实时状态。�����留原始结果折叠区,不新增数据库结构,不改��� Client 四接口。详见 #125。

  • #127 Admin:按创建人隔离采集采购任务并增加管理员筛选

采集采购任���创建人隔离(2026-08-10)

经用户确认,采购员只能查看和删除自������建的采集、采购任务;管理员继续查看全部任务,并在现有工具条按创建人���“历史任务”筛选。新增不可变创建人审计字段,列表、统计、详情和删除统一执行服务端可见范围;PDD 商品和采集���果仍全局共享,不改变 Client 四接口。详见 #127。

�����品目录接口替代蝦皮 Excel 范围变更(2026-08-11,已验收)

经用户确认,现有固定蝦皮 Excel 导入因数据���源格式不同而退出当前入口,改由第三方脚本把���同文件归一化后,通���独立���品目���接口一次提交蝦皮商品/SKU、PDD 商品及两者关联。接口与 Client ���接口隔离���使用专用 Token、批次幂等、事务 upsert���上游时间保护���持久化导入记录;不删除缺失���据、不静默���换不同 PDD 关联、不保存完整请求或凭据。新接口和导入记录联调通过���才移除旧蝦皮 Excel 入口,PDD Excel 导入保留。

  • #132 建立商品目���接入鉴权、批次与幂���基���(已验收)
  • #133 实现商品目录批量���入接口(已验收)
  • #134 增加商品目录导入记录接口和管理页面(已验收)
  • #135 移除蝦皮 Excel 导入并切换到目录接口(已验收)

商品目录接口全���回归:固��� Go 1.23 build/test/vet 全部通过;真实 MySQL 8.4 _test DDL/并发、生产部署和浏览��� 1366×768 视觉检查尚未执行。

商品目录与顺运宝观测数据后续范围(2026-08-11,已验收)

经用户确认,顺运宝解析到的商��� ID 可以补建商品���架,但颜色尺码、历史台������价等按观测数据汇总展示,不直接覆盖正式蝦皮商品/SKU 主数据;商品目录导���保留可空真实 SKU ID,并用分级更新策略替代危险的全量覆盖布尔开关。该范围不影响 #132–#135 的既有实现与验收���实施前按各单元工单���移和接口���案复核。

  • #140 Admin:保存并展示顺运宝观测规格,不覆盖蝦皮主数据
  • #141 Admin:商�����目录���入支持无 SKU ID 和分级更新策���
  • #142 Admin:商品目录支持蝦皮图片���店铺信息并在列���展示���依赖 #141���
  • #144 Admin:修复已记录 v8/v9 但 SKU 来源字段缺失的迁移
  • #146 Admin:编写三个已处理 Excel 的商品���录分批提交脚本
  • #150 Admin:蝦皮数据增加店���和图片三态筛选

顺运宝店铺检索范围(2026-08-11���

经用户确认,顺运宝原始货运单已有店铺名,增加独立字���和历史 JSON 回填,在列表展示并支持与现有条件组合的店铺模糊搜索;不覆盖蝦皮商品主数据,不改变 Client 四接���。详见 #151。

  • #151 Admin:顺运宝数据增加店铺列和店铺搜索

蝦皮非正式规格确定性转换(2026-08-11)

经用户确认,只把能够确定颜色/尺码维度的线上蝦皮规格转换为正������格;歧义数据继续保持待补。转换通过现有商品目录接口补空,保��� spec_raw/spec_key 和人工字段,生产执行前必须完成测试库演练���备份。详见 #152。

  • #152 Admin:将确定的蝦皮非正式规格转换为正式规格

  • #153 Admin:���运宝待采集商品支持批���创建 PDD 采集任务

跨模块列表状态保持(2026-08-11)

经用户确认,六个主模���通过顶部导航���换时,按登录账号和当前浏览器标���页恢复各自最后一次稳定的搜索、筛选和页码。���实 URL、F5、复制链接���浏览器前进/后退保持正常;不恢���勾选���弹窗、临时反馈或未提交表单,不修改数据库和接口。详见 #156。

  • #156 Admin:���换模块时保持各列表���选和分页状态

采集���购任务来源和执行设备可读性(2026-08-11)

经用户确认,采集采���列表增加当前 PDD 店铺,并把客户端 ID 改为优先显示当前客户端���称;详情保留名称和稳定 ID 以区分重复名称。缺�����关联使用明确占位或 ID 回退,不冗余写入任务,不增加筛选、迁移或接�������变更。详见 #158。

  • #158 Admin:采集采购列表展示 PDD 店铺和客户端名称

顺运宝采集任务状���一致性(2026-08-11)

经用户确认,修复顺运宝显示采集中但采集采购模块无任务的问题:新增任务与多个顺运宝明细的来源关联,支持按顺运宝订单号检索���删除最后一条有效采集任务时原子回收 PDD 采集状态;超时���无任务时���示明确恢复入���。追加 MySQL v12,不改变 Client 四接口。详��� #165。

  • #165 Admin:修复顺运宝采集中孤儿状态���建立任务来源关联

顺运宝采���结果状态一致性(2026-08-11)

经用户���认,成功采购任务必须在顺运宝页面显示为采购完成;待���工核对任务必须阻止重新���购。Admin 同时增加服务端重复采购门禁,不改变 Client 四接口和失败/取消后的现有人工处理策略。详见 #169。

  • #169 Admin:采购完成后更���顺运宝状态并阻止重复采购

任务业务主键规范变更(2026-08-12)

经用户确认,真实������主键改为两套独立递增业务���号:采集 cj1…、采购 cg1…。MySQL v13 迁移现有任务及有效关联并清理孤儿���取历史;Client 在迁移后可清除本地任务,但 Admin ���功采购和核单结果必须保留。Client 四接口业务语义不变。详见 #172。

  • #172 Admin:任务主键改为���集 cj 与采购 cg ���立自增编号
  • #174 Admin:统一顺运宝单条采集任务的客户端选择

蝦皮检索与顺运宝关联���用优化(2026-08-12)

经用户确认,蝦皮列表增加店铺名称模糊搜索,并把商品和店铺搜索框收紧为���面工具栏各 20% 的弹性宽度;顺运宝同步继续以蝦皮商品上的 PDD ���联为唯一事实来源,新货运单按蝦皮商品 ID 自动复用有效关联并明确展示,不向顺运宝明细复��� PDD 字段,不自动确认规格或创建任务。

  • #182 Admin:蝦皮列表增加店铺名称搜索�����收紧搜索框宽度
  • #183 Admin:顺运宝同步复用蝦皮商品已��� PDD 关联并明确展示

最新 Admin 生产发布(2026-08-12)

  • #184 Admin:打包并部署 #182、#183 最新版本

蝦皮商品批量创��� PDD 采集任务(2026-08-12)

经用户确认,蝦皮列表增加���部批量采集入口:勾选蝦皮商品后按当前有效 PDD ���联去重创建采集任务,可选当前账���可见客户端���未关联、失效、已采集和���有任务按原因跳过。单商品详情入口保留,不新增迁移或 Client 接口。

  • #185 Admin:蝦皮商品支持批量创建 PDD 采集任务

  • #186 采购任务详情展示蝦皮订单并安���定位重新创建

  • #188 部署最新 Admin 到生���服务器

蝦皮与 PDD 规格只读对比(2026-08-12)

  • #193 Admin:生成指定蝦皮店铺与关联 PDD 的规格对比报告
  • #194 Admin:将指定蝦皮店铺正式规格补入关联 PDD 空规格

顺运宝同步店铺准入(2026-08-12)

经用户确认,Admin 增加全局顺运宝允许店铺管理;同步仍先完成原始全量容量和分页完整性校验,再只为启用店铺拉取明细并入库。空白名���安全阻止同步���历史数据不自动删除,Client 四接口不变。详见 #196。

  • #196 Admin:按允许店铺筛选顺运宝同步入库(已实���,待验收)

顺运宝停用店铺删除(2026-08-13)

��� #196 店铺准入基础上,管理员���永久删除已停用配置;启用项由页面和服务端条件删除双重保护���历史货运单与同步记录不受影响。详见 #197。

  • #197 Admin:���许删除已停用的顺运宝同步店铺(已实现,���验收)

顺运宝店铺准入生产发布与历史数据治理(2026-08-13)

已��� #196、#197 对应���本发布到生产,并在完整备份后按当前 12 个启用店铺清理历史 syb_orders:删除非允许店铺 4,938 行、保留 3,388 行,反查不合规行 0;同步记录和任务来源数据未被删除���详见 #198。

  • #198 Admin:部署店铺准�����版本并清理非允许店铺SYB数据(已完成,待验收)

AI 规格批���匹配(MVP 后�����版本,2026-08-13)

经用户确认,现有单条人工匹配保持不变,新增列表批量 AI 匹配。AI 只能选择当前真���可购买候选;通过服务端硬门禁的结���直接保存并标记来源为 AI,人工修改后当前来源改���人工,历史审计保留。Admin 提供仅管理员可访问的服务商/模型���置,API Key 不写数据库、data/、日志、工单或文档,保存后不能明文回显。批量匹配不自动创建采购任务,不改变 Client 四接口。详见 #199。

  • #199 [MVP] Admin AI规格批量匹配
    • #200 Admin:增加管���员 AI 服务商与模型配置
    • #201 Admin:实现 AI 规格候选匹配、直接落库与来源审计
    • #202 Admin:顺���宝列表增加批量 AI 匹配、进度与筛选

SYB 补全蝦皮主数据与软删除(2026-08-13)

经用户确认:SYB ���片可匿名访���;同步可按低优���级补充蝦皮店铺和图�����;确定性代码解析成功的 SYB 规格可补建来源为 SYB、无真实 SKU ID 的蝦皮���格;蝦皮商品删除采用可恢复软删除。人工和商品目录权威数据优先,歧义规格不猜测,SYB 同步���复活已删除商品,Client 四接口不变。

  • #203 Admin:SYB 同步低优���级补全蝦皮店铺和图片
  • #204 Admin:确定性解析 SYB 规格并补建蝦皮 SKU(依赖 #203)
  • #205 Admin:实现蝦皮商品软删除、恢复和批量选择修复

蝦皮列表与规格人工维护(2026-08-13)

经用户确认,蝦皮列表使用稳定紧凑的商品名称列,PDD 关联正文改为商品 ID;商品详情支持人工修正现有 SKU 的颜色、尺码和建议说明。人工修改采用字段级来���保护,不覆盖 SYB 原始数据、规格映射或采购任务,不新增 SKU 和 Client 接口。

  • #214 Admin:优化蝦皮标题宽度并显示 PDD 商品 ID
  • #215 Admin:支���人工修改蝦皮 SKU 颜色尺码

顺运宝列表可用性优化(2026-08-13)

经用户确认,顺运宝列表隐藏内部明细 ID 显示、收紧店铺/规格列和筛选输入框,删除重复入口和提示,并把长表改为带固定表头的���立双向滚动区域,保证横向滚动条在表���可视区域底部可用。内部 syb_id、同步、采集采购业务和 Client 接���不变。

  • #216 Admin:压缩顺运宝列表并优化筛选与���动

  • #217 Admin:支持顺运宝多订单号精确搜索

  • #218 Admin:打包部署最新版本 5bf6764 到生产服务器

  • #219 Admin:压���顺运宝工���条并缩短操作�����案

  • #220 Admin:部署顺运宝工具条压缩版本到生���服务器

AI 配置新增缺陷(2026-08-14)

  • #222 Admin:修复 AI 服务商配置新增后未落库(属于 #199)

AI 模型 HTTP 接口兼容(2026-08-14)

  • #223 Admin:AI 服务商 Base URL 兼容 HTTP(属于 #199,补充 #200���

新增 MVP(2026-08-14)

  • #224 Admin 档口入库码回写
    • #231 Admin:档口入库码单表迁移与 Excel 幂等导入(已实现,待验���)
    • #232 Admin:档口入库码确定性匹配与顺运宝回写规划(���实现,待验收)
    • #233 Admin:实现档口入库码独立页面与列表交互(已实现,待验收)
    • #234 Admin:档口入库码安全回写、核验与异常恢���(已实现,待验收)

新增生���数据修复(2026-08-14)

  • #226 用三个蝦皮 Excel 最大价回填关联 PDD 正式价格
  • #227 Admin:确认三��� Excel 回填 PDD 规格可用于采购
  • #228 Admin:打包部署最新版本 4d6ee8c 到生产服务器

AI 规格匹配生产可用性修复(2026-08-14)

  • #229 Admin:AI 规格匹配失败弹窗反馈并补齐生产密���配置(属于 #199)

  • #235 Admin:档口入库码支持勾选部分记录匹配(已实现,待验收)

  • #236 Admin:档口入库码���配在会话过期时自动登录(已实现,待验收)

档口入库码导入日期与删除治理(2026-08-15)

  • #237 Admin:档口入库码导入使用 Excel 生成日期(属于 #224,已实现,待验收)
  • #238 Admin:档口入库码所有状态支持软删除与重复导入恢复(属于 #224,已实现,待验收)

档口入库码工具栏可用性优化(2026-08-15)

  • #239 Admin:压缩档口入库码筛选工具栏并调整控件顺序(属于 #224,已实现,待���收)

档���入库码多件商品聚合回写(2026-08-15)

经用户与客户���认,同一个顺运宝商品明细数量大于 1 时,Excel ���件生成的多个档口入库码按稳定顺序使用英文逗号连接,并���向该明细的 innerExpCode 写入一次;聚���值必须受 128 字符上限、确定性匹配和写后复读保护,不新增表或 Client 接口。详见 #240。

  • #240 Admin:同一顺运宝商品多���入库码合并回写(属于 #224)

最新 Admin 生产发布(2026-08-15)

  • #241 Admin:打包部署最新版本 17c2d45 到生产服务器(属于 #15)

可选每���条数范围变更(2026-08-15)

经用户确认,Admin 使用公共分页的主列表从固定每页 20 条改为可选 20、50、100 条,默认仍为 20;���择写入 URL 并随筛选���翻页和模块状态恢复。分页容量不自动放宽顺运宝等远程批量写操作上限,不增加跨页勾选、数���库迁移或 Client 接口变更。详见 #242。

  • #242 Admin:主列表支持每页 20、50、100 条

分页容量自动刷新缺陷修复(2026-08-15)

#242 的容量下拉框当前需要额外点击“应用”,且模块状态���名单遗漏 page_size。经用户确认,改为选择后自动提交,同时保留普通 GET 按钮作为无 JavaScript 回退,并补齐模块状态恢复���详见 #243。

  • #243 Admin:分页每页条���切换后自动刷新

主列表默认容量与���口入库码批量反馈调整(2026-08-15)

经用户确认,公共分页无参数时默认 100 条并移除正常页面可见的“应用”按钮;档口入库码删除列表上方流式提示,错误改为可访问���窗、成功改为不占布局的短提示。只读���配允许处理当前页全部选中记录并继续按 100 个货运单内部分���;远端回写仍固定最多 20 条。不增加跨页选择、数据库结构或 Client 接口变更。详见 #244。

  • #244 Admin:主列表默认100条并优化档口入库码批量匹配反���

档口入库码后台批量安全回写(2026-08-15)

经用户确认,档口入库码回写提交不再��� 20 条选择���限约束;记���在现有单表进入后台批次,页面立即返回,后台每次最多读取 20 条并逐条执行原有真实远端写入门禁。异常时未开始记录恢复可回写,未知远端结果转需核对,不自动重试,不新增批次表或 Client 接口。详见 #246。

  • #246 Admin:档口入库码后台批量回写与进度反馈(属于 #224,已实现,待验收)

档口入库码后台回写生产发布(2026-08-15)

  • #247 Admin:部署档口入库码后台回写版本到生产服务器(已完成,待验收;目���提交 7736ab7,包含 #245、#246,schema v25)
  • #248 Admin:统一列表搜索区的清除按钮(已完成,待验收;实现 9f35419,归档 d79e5c4)
  • #249 Admin:部署统一搜索清除按钮版本到生产服务器(已完成,待验收;release d79e5c4,归档 1927e3e)

档口入库码多件远端回写语义修正(2026-08-17)

真实顺运宝操作 HAR 证明一个商品明细的“快递单号”不能保存逗号连接的多个档口入库���。保留 #240 的本地业���键聚合,远端改为每件一个明细、一个码;额外件使用零价占位商品明细,并以现有业务表中的 JSON 检查点防止超时或重启后重复���建。详见 #250。

  • #250 Admin:多件档口入库码按件创建顺运宝明细回���(属于 #224)

SYB 已���集 PDD 批量刷新范围(2026-08-17)

经用户确认,SYB 列表增加独立“重新采集”入口:对当前页明确勾选的 SYB 商品按 PDD 商品 ID 去重,复用 #121 的原子防重和旧数据保留规则,并与 #123 共用批量重采 Service。普通“创建采集”规则保持不变;执行中、成功、待人工核对或进入不可逆阶段的采购记录不得从 SYB 发起重采,新���果也不得改写已有采购任务快照。不新增数据库结构或 Client 接口。详见 #252。

  • #252 Admin:SYB 列表支持批量重新采集���选 PDD 商品

采购运行时真机规格解析(2026-08-17)

跨端 MVP #253 的 Admin 范围负责新增一次性规格解析契约、审计模型,以及规则优先、AI 补充的候选白名单决策;复用 #199 的 AI 配置与匹配核心,不改变原 SYB 批量 AI 的触发范围。详见 #254、#255。

  • #254 Admin:定义采购运行时规格解析接口与审计模型
  • #255 Admin:实现采购运行时真机规格规则与 AI 解析

档口入库码 MVP 补充任务(2026-08-17)

  • #259 Admin:档口入库码使用原始 SKU 辅助确定性匹配(所属 MVP #224)

  • #269 Admin:部署档口逐件回写与原始 SKU 匹配版本(已完成,待验收)

  • #273

  • #274

档口入库码写码参数 Integer ���出修复(2026-08-19)

#250 把 updateDetailCode 的 t 改成毫秒时间戳后,顺运宝按 Java Integer 解析导致 19 号回写全部失败。本任务把 t 改回 #234 的 0,保留 POST。详见 #278。

  • #278 Admin:修复档口入库码回写 t 参数溢出 Integer(属于 #224)

档口入库码 t=0 修复生产发布(2026-08-19)

将 #278 的 updateDetailCode t=0 修复发布到生产。无 schema 变化。详见 #279。

  • #279 Admin:部署档口入库码 t=0 修复到生产(属于 #15)
  • #280 第三方 Excel 转规范 CSV(待实施)
  • #281 规范 CSV 预检与安全入库(进行中)
  • #282 部署规范 CSV 预检版本并运行生产预检(进行中)

SKU 并发写入可靠性(2026-08-21)

  • #283 Admin:恢复 SYB 与目录并发写入 SKU 的唯一键冲突

2026-08-21 生产发布任务

  • #285 Admin:部署 AI 规格候选上限放大至生产(依赖 #284)

2026-08-21 AI 等待时间生产发布

  • #287 Admin:部署 AI 规格解析 66 秒等待时间到生产(依赖 #286)

2026-08-21 候选上限 150 条生产发布

  • #288 Admin:部署 AI 规格候选上限 150 条到生产(依赖 #284)

档口入库码多个现成相同明细兼容(2026-08-22)

  • #289 Admin:兼容多个相同顺运宝明细的档口入库码逐件匹配(属于 #224,已实现,待验收)

2026-08-22 生产发布

  • #290 Admin:部署多个相同顺运宝明细逐件匹配修复到生产(已完成,待验收;依赖 #289)

蝦皮与 PDD 商品级颜色映射 MVP(2026-08-23)

经用户确认,Admin 在蝦皮数据模块内新增商品级颜色映射能力:只维护“蝦皮颜色 → 当前关联 PDD 商品颜色”,不做尺码映射页面,也不把颜色映射直接视为可采购的完整规格。颜色映射只有在其余规格维度唯一、完整组合仍可购买并通过现有门禁时,才可派生现有完整规格映射;否则继续走人工或 AI 规格解析。先完成专用交互原型并由用户确认,生产数据模型、页面和 SYB/采购链路接入随后分阶段实施。

  • #291 [MVP] Admin:蝦皮与 PDD 商品级颜色映射
- [x] #192 Admin:优化顺运宝当天分页漂移重试与默认日期 - [x] #195 Admin:部署最新版本 a4556b4 到生产服务器 ## 背景与目标 我们在**蝦皮**(台湾)卖货,在**拼多多**(大陆)进货,中间由**顺运宝**提供货运单。 Admin 的职责是把这三方的数据串起来,最终产出 Client 能执行的采购任务。 目标: 1. 导入并维护蝦皮商品档案,为每个商品登记对应的拼多多链接。 2. 同步顺运宝货运单,知道“这单该买什么”。 3. 把蝦皮的颜色尺码对应到拼多多的颜色尺码,**且对应关系可复用**。 4. 生成采购任务并分配给指定客户端,跟踪执行结果。 5. 管理客户端清单,知道谁在干活。 6. 通过首次管理员初始化、网页登录和受控账号管理保护 Admin 网页。 ## 非目标 - 不做面向公网的服务,只在内网/本机运行。 - 不直接对接蝦皮和拼多多的接口。 - 不自动决定买哪个商品——PDD 链接和规格匹配都由人确认。 - 不自动付款。 - ������放公众���册�����不���本阶段给 Client API 增加用户登录或 API Key 认证。 ## 总体方案与关键决策 - **技术栈:** Go + Gin + 标准库 `html/template`,SQLite(`modernc.org/sqlite`,纯 Go 免 cgo),Excel 用 `excelize`。 - **不引入前端���架和 npm 构建**,只允许原生 JS 或 htmx。 - **Go 版本固定 1.23.0**,依赖版本受此约束(gin v1.11.0 / sqlite v1.38.0 / excelize v2.9.1)。 - **四个模块统一三段式布局**:顶部工具条 / 中间带勾选的表格 / 底部状态条。 - **与 Client 只有四个调用**:登记、领取、提交结果、提交失败。没有租约、没有心跳、没有状态回查。 - **Admin 必须无条件接受**已派发过的 Client 提交的结果(任务已取消、已重派都要收)。 - **网页认证与 Client API 分组隔离**:网页登录只保护 HTML 页面,`/api/v1/client/*` 在本阶段保持现有契约和响应。 - **账号体系保持最小**:首次启动初始化一个管理员;之后只允许管理员创建或禁用采购员,不开放自助注册,不提前建设复杂 RBAC。 ## 阶段路线 1. 文档基线与项目骨架 2. 客户端接入(登记 / 领取 / 提交) 3. PDD 商品数据与规格匹配 4. 蝦皮 Excel 导入 5. 顺运宝货运单与采购任务 6. Admin 登录与最小账号管理 7. 客户端与采购员归属���理 8. ���包与生���验��������� ## 身份认证�������围变更(2026-08-09) - MVP 新增 Admin 网页登录与最小账号管理。 - 包含首次管理员初始化、�������录/退出、Session、管�����员创建/禁用采购员。 - Client 登�����、���取、结果提交和失败提交四个接口本阶段不改变。 - API Key、Client 登录、公开注册、复杂角色权限和公网部署不属于本次范围。 ## 子工单索引 - [x] #12 Admin:新增幂等 Client 登记接口 - [x] #13 优化 Admin Windows 启动脚本并增加热重载 - [x] #46 Admin:顺运宝货运单同步 - [x] #47 Admin:顺运宝登录接入验证码自动识别 - [x] #48 Admin:进入顺运宝页面不应自动弹验证码框 - [x] #49 Admin:更新登录与账号管理基线文档 - [x] #50 Admin:实现首次管理员初始化与网页登录 - [x] #51 Admin:实现采购员账号管理 - [x] #52 Admin:验证网页登录不影响 Client 四接口 - [x] #53 Admin:顺运宝支持指定日期同步 - [x] #54 Admin:建立客户端与采购员绑定管理 - [x] #55 Admin:���户密码最小长度���整为 6 个字符 - [x] #56 Admin:修复拖选密码时�����窗意外关闭 ## 全局风险 - Go 1.23.0 卡住依赖版���,要升依赖必须先升 Go。 - 蝦皮报表不是全量目���(样本每商�����仅 1.17 ������� SKU),SKU 覆�������率靠反复导入累积 + 手动新增。 - �������运宝同���方式尚未确定���MVP 阶段用手工录入。 - 真实下单开关默认关闭,未通过采购安全门禁不得启�����。 - Web 登录中间件误挂到 Client API 会破坏现有联调���必须�������过路由隔离和契约回归测�����������防止。 - 内网非 HTTPS 部署不能保护传输中的密码和 Session,上线范围必须明确。 ## 最终完成标准 四个模块可用,能从蝦皮报表导入一路走到给 Client 派发采购任务并收回结果; Admin 网页需要���录且账号管理可控;Client 四接口保持兼容; 发���门禁(docs/admin/06 §8)逐条通过。 ## 基线文档 `docs/admin/00~07`,规则��� `admin/AGENTS.md`。 ## 客户端归属范围变更(2026-08-09) 经用户确认,MVP 增加管理员维护客户端当前采购员归属的能力:管理员可绑定、转交和解绑,采购员只读查看当前归属自己的���户端;保���完整归属历史。该关系只用于 Web 责任���围和后续任务分配选���,���������改变 Client 四接口,也不改动�����有任务。详见 #54。 - [x] #57 Admin:管理员自助修改密码 ## 管理员改密范围变更(2026-08-09) 经用户确认,MVP 增加唯一管理员自助修改密码能力:必须校验当前密码,成功后撤销该管理员全部 Web Session 并重新登录�����������不开放采购员自助���密,不提�����������忘记密码绕过,不影响 Client 四接口。详见 #57。 - [x] #58 Admin:增强顺运宝日期同步容量与完整性保护 ## 顺运宝同步完整性范围变更(2026-08-09) 经用户确认,MVP 增加顺运宝日期同步的真实数据容量与防静默漏单保护:逐日拆分、人工范围最多 31 天、默认总量熔断 10000,并严格核对列表总数和明细 ID 覆盖;任一不完整响应不推进同步游标。详见 #58。 - [x] #59 Admin:统一日期范围同步并增加同步记录 ## 顺运宝统一同步入口与记录范围变更(2026-08-09) 经用户确认,MVP 将顺运宝的自动同步和指定日期同步合并为一个可见日期范围入口,通常默认最近 3 天并优先连续补齐未同步缺口;新增持久化同步记录,保存操作账号、范围、状态�����统计和游标结果。详����� #59。 - [x] #60 Admin:���复顺运宝分页总数误判导致同���停止 ## 顺运宝�����页语义���复(2026-08-09) 真实 HAR �����明 `list.data.total` 是当前�����条�����而非筛选总数���#60 修复 #58 引入的误判,改为页内�����量校验、分页前后 `listTotal` 核对和唯一 ID 完整性核对;不改变同步范围、容量上限和 Client ���口。 - [x] #61 Admin:优化顺运宝同步反馈与记录刷新交互 ## 顺运宝同步交���优化(2026-08-09) 经用���确认,同步长任务增加按���运行态和服务端重复提交提示;同步记录弹窗增加保持页码和筛选条件的手动刷新入口,底部操作统一右对齐。不增加自动轮询或新接口。详见 #61。 - [x] #62 Admin:同步记录弹窗改为局部刷新 ## 同步记录局部刷新修正(2026-08-09) 经用户确认,#61 的“刷新记录”整页重载改为只更新同步记录弹窗列表和分页;F5 仍刷新整个 SYB 页面,不增加顺运宝请求或���动轮询。详见 #62。 - [x] #64 Admin:统一主列表�������页并右对齐 ## 全模块统一分页范围变更���2026-08-09��� 经用户确认,六个 Admin 主列表统一使用���共右下角分页;PDD、�����������集采���和客户端补充 SQL 真分页����������户管理完善������������与���码���持。每页固定 20 条,不增加数据库迁移���JavaScript 分页或跨页勾选。详见 #64。 - [x] #65 Admin���底���提���文字与分页整体右���齐 ## 底栏信息组���对齐修正���2026-08-09) 经用户确认,在 #64 基础上将六个主列表底栏的提示文���与分���控件�����������������为同一组整体���右;窄窗口换行后两行���分别靠右。不���变分页和后端逻辑。详见 #65. - [x] #67 Admin:建立顺运宝采购处理状态并识别���皮 SKU ���— **核心���计已被 #88 替代**(阶段框架仍有效)���#88 验收后关闭 - [x] #68 Admin:���一���皮������ PDD 与采集入口 —— **保留有效**,#88 只删掉它的「蝦皮 SKU 已确认才提供入���」前置 - [x] #69 Admin:实现可复用规格映射与采购任务���建 —— **映射���分已被 #88 替代**(采购任务创建的校���仍有效),#88 验收后关闭 - [x] #88 Admin:顺运宝主链路重构——规格映���改键,蝦皮报表降级为参考数据(已实现,待验收) - [x] #90 Admin:规��������配建议���规则层排序,人工确���)—— ���实现,待验收,依赖 #88 ## ���运���驱���采���闭���范围变更(2026-08-09) 经���户确认,Admin 以顺运宝商品明细作为采���员���主要处理入口:在上下文中关���并采集 PDD ���品、保存可复用的���格映射,最后在完整安全校验后创建采购任务。PDD 页面继续作为商品档案和采集诊断入口;不自动猜测规格、不自动付���、不打开真实下单开关、不改变 Client 四接口。详见 #67、#68、#69。 ## 顺运宝主链路设计变更(2026-08-10,#88) 原设计以「���确���性识别蝦��� SKU」���前置,映射���是 `(shopee_sku_id, pdd_goods_id)`。**用线上真实数据核实后推翻**:5334 条货运单明细里只有 186 条(3%)能在蝦皮报表里找到商品、102 条(2%)能对上报表的 SKU——**97% 的订单会卡死在第一关**,且连填 PDD ���接、发采集任务都被这道闸挡着。 改为:映射键换成 `(shopee_goods_id, spec_key, pdd_goods_id)`(订单���带���信息),蝦皮 Excel 从主干降级为参考数据,syb 同步时补建缺���的���品骨架。#16 立的「换 PDD 商品���旧映射天然失效、换回可复用」这条安全性质**原样���留**(主键仍��� `pdd_goods_id`)。 替代关系:**#67 与 #69 的核心设计被 #88 替代**(#67 的处���阶段框架、#69 ���采购任���校验仍�����有效,��� #88 文末���对照表�����;**#68 保留有效**。#67/#69 待 #88 实施���验收后关闭。 匹�����������(规则排������人工������、不引入大模型���另��� #90,依赖 #88。 - [x] #74 Admin:PDD 批量采集任务支持可选客户端 ## PDD 批量采集客户端分配���围变更(2026-08-10) 经用户确认,PDD 页面批量创建采集任务时增加可选执行客户端,默认仍不指定并允许任意客户端领取;指定后任务只等待该客���端领取。管理员可选全部客户端,采购��������能选择当前归������己的客户���。不改变蝦皮/顺运宝采集入口、Client 四接口或数据���结构。详见 #74。 - [ ] #76 [Epic] Admin ���移到线上 MySQL 8.4 ## 生产数据库架构变���(2026-08-10��� ���用户确认,Admin 最终迁移到���上 MySQL 8.4.8,并与���据库同机部署;迁���期���保��� SQLite 只读回退,最终���除运行��� SQLite。不做双���或双向���步,不���放公网 MySQL 端口,不���变 Client 四接���或真实下单安全门禁。���整路线见 #76、#77。 ## 顺运宝 PDD 商品 ID 输入范围变更(2026-08-10) - [x] #95 Admin:顺运宝商品详情支持输入 PDD 商品 ID�����已���现�����待验收) ## 真实下单范���(2026-08-10) 真实下单(只创建未付款订单)不并入原 dry_run MVP,由跨项目 #96 和 #97 独立跟踪;未完������安全门禁前,本工单继续保持 dry_run。 - [x] #104 Admin:PDD 商品支持批量导入 Excel ���接 ## PDD Excel 批量导入范围变更(2026-08-10) 经用户确认,PDD ���品���块���加���一���式 .xlsx 批量���入完整商品链接的入口,按 goods_id 复用现有建档、去重和软删除恢复规则;导入后由���购员显式确认,才为本次导入集合批量创建采集任务,默认不指定客户端。上传不自���发���务,不������数据库���构,不覆���有�����采集结果,不改变 Client 四接�����。���见 #104。 - [x] #105 Admin:区分顺运宝标题与图片交互并增加原���预览(已实现,待验收) - [x] #106 Admin:顺���宝下一���支持单条创建采购任���(已实现,���验收) ## 顺运宝列表采购操作优化(2026-08-10��� 经用户确认,顺运宝列表取消含义模糊的整行双击:商品标题进入现有处理详情,图片打开远程原图预览;规格映射完成后���行内下一步可直接进入当前明细的采购任务确认弹窗。仍需确认客户端、执行模式和人民币价格上限,真实下单默认关闭且安全确���不变;不新���数据库结构,不改变 Client 接���。详见 #105、#106。 - [x] #121 Admin:允许已采集 PDD 商品明确重新采集 ## PDD 已采集商品���新���集修复(2026-08-10) 经用户确认,PDD 商品详情的“重新采集”改为独���业务入口:允许已采集商品在保���旧详情数据的同时原子创建一条新采集任务;未超时的采集中商品继续防重复,普通批量采集仍跳过已采集商品。不新增数据库结构,不改变 Client 四接口。详见 #121。 - [ ] #123 Admin:PDD 商品支持批量重新采集已选商品 ## PDD 批量明确重新采集(2026-08-10) 经用户确认,在 #121 单商品重采基���上增加独立“重新采集已选商品”入口:普通“创建采集任务”继续跳过已采集商品;批量重采必须明确显示数量并二次确认,默认不指定客户端,服务端按实时状态逐项原子防重并保留旧采集结果。不新增数���库结构,不改变 Client 四接口。详见 #123。 - [x] #125 Admin:采购任务详情独立���示 PDD 核单结果 ## ������任务 PDD 核单结果���示(2026-08-10) 经用户确认,采购任务详情从现有 `result_data.purchase` 结构化���示 PDD 订单编���、下������间和“上���时付款状态���;不同于顺运宝���运单号,付款状态不作为 PDD 实时状态。�����留原始结果折叠区,不新增数据库结构,不改��� Client 四接口。详见 #125。 - [x] #127 Admin:按创建人隔离采集采购任务并增加管理员筛选 ## 采集采购任���创建人隔离(2026-08-10) 经用户确认,采购员只能查看和删除自������建的采集、采购任务;管理员继续查看全部任务,并在现有工具条按创建人���“历史任务”筛选。新增不可变创建人审计字段,列表、统计、详情和删除统一执行服务端可见范围;PDD 商品和采集���果仍全局共享,不改变 Client 四接口。详见 #127。 ## �����品目录接口替代蝦皮 Excel 范围变更(2026-08-11,已验收) 经用户确认,现有固定蝦皮 Excel 导入因数据���源格式不同而退出当前入口,改由第三方脚本把���同文件归一化后,通���独立���品目���接口一次提交蝦皮商品/SKU、PDD 商品及两者关联。接口与 Client ���接口隔离���使用专用 Token、批次幂等、事务 upsert���上游时间保护���持久化导入记录;不删除缺失���据、不静默���换不同 PDD 关联、不保存完整请求或凭据。新接口和导入记录联调通过���才移除旧蝦皮 Excel 入口,PDD Excel 导入保留。 - [x] #132 建立商品目���接入鉴权、批次与幂���基���(已验收) - [x] #133 实现商品目录批量���入接口(已验收) - [x] #134 增加商品目录导入记录接口和管理页面(已验收) - [x] #135 移除蝦皮 Excel 导入并切换到目录接口(已验收) 商品目录接口全���回归:固��� Go 1.23 build/test/vet 全部通过;真实 MySQL 8.4 _test DDL/并发、生产部署和浏览��� 1366×768 视觉检查尚未执行。 ## 商品目录与顺运宝观测数据后续范围(2026-08-11,已验收) 经用户确认,顺运宝解析到的商��� ID 可以补建商品���架,但颜色尺码、历史台������价等按观测数据汇总展示,不直接覆盖正式蝦皮商品/SKU 主数据;商品目录导���保留可空真实 SKU ID,并用分级更新策略替代危险的全量覆盖布尔开关。该范围不影响 #132–#135 的既有实现与验收���实施前按各单元工单���移和接口���案复核。 - [x] #140 Admin:保存并展示顺运宝观测规格,不覆盖蝦皮主数据 - [x] #141 Admin:商�����目录���入支持无 SKU ID 和分级更新策��� - [x] #142 Admin:商品目录支持蝦皮图片���店铺信息并在列���展示���依赖 #141��� - [x] #144 Admin:修复已记录 v8/v9 但 SKU 来源字段缺失的迁移 - [x] #146 Admin:编写三个已处理 Excel 的商品���录分批提交脚本 - [x] #150 Admin:蝦皮数据增加店���和图片三态筛选 ## 顺运宝店铺检索范围(2026-08-11��� 经用户确认,顺运宝原始货运单已有店铺名,增加独立字���和历史 JSON 回填,在列表展示并支持与现有条件组合的店铺模糊搜索;不覆盖蝦皮商品主数据,不改变 Client 四接���。详见 #151。 - [x] #151 Admin:顺运宝数据增加店铺列和店铺搜索 ## 蝦皮非正式规格确定性转换(2026-08-11) 经用户确认,只把能够确定颜色/尺码维度的线上蝦皮规格转换为正������格;歧义数据继续保持待补。转换通过现有商品目录接口补空,保��� `spec_raw/spec_key` 和人工字段,生产执行前必须完成测试库演练���备份。详见 #152。 - [x] #152 Admin:将确定的蝦皮非正式规格转换为正式规格 - [x] #153 Admin:���运宝待采集商品支持批���创建 PDD 采集任务 ## 跨模块列表状态保持(2026-08-11) 经用户确认,六个主模���通过顶部导航���换时,按登录账号和当前浏览器标���页恢复各自最后一次稳定的搜索、筛选和页码。���实 URL、F5、复制链接���浏览器前进/后退保持正常;不恢���勾选���弹窗、临时反馈或未提交表单,不修改数据库和接口。详见 #156。 - [x] #156 Admin:���换模块时保持各列表���选和分页状态 ## 采集���购任务来源和执行设备可读性(2026-08-11) 经用户确认,采集采���列表增加当前 PDD 店铺,并把客户端 ID 改为优先显示当前客户端���称;详情保留名称和稳定 ID 以区分重复名称。缺�����关联使用明确占位或 ID 回退,不冗余写入任务,不增加筛选、迁移或接�������变更。详见 #158。 - [x] #158 Admin:采集采购列表展示 PDD 店铺和客户端名称 ## 顺运宝采集任务状���一致性(2026-08-11) 经用户确认,修复顺运宝显示采集中但采集采购模块无任务的问题:新增任务与多个顺运宝明细的来源关联,支持按顺运宝订单号检索���删除最后一条有效采集任务时原子回收 PDD 采集状态;超时���无任务时���示明确恢复入���。追加 MySQL v12,不改变 Client 四接口。详��� #165。 - [x] #165 Admin:修复顺运宝采集中孤儿状态���建立任务来源关联 ## 顺运宝采���结果状态一致性(2026-08-11) 经用户���认,成功采购任务必须在顺运宝页面显示为采购完成;待���工核对任务必须阻止重新���购。Admin 同时增加服务端重复采购门禁,不改变 Client 四接口和失败/取消后的现有人工处理策略。详见 #169。 - [x] #169 Admin:采购完成后更���顺运宝状态并阻止重复采购 ## 任务业务主键规范变更(2026-08-12) 经用户确认,真实������主键改为两套独立递增业务���号:采集 cj1…、采购 cg1…。MySQL v13 迁移现有任务及有效关联并清理孤儿���取历史;Client 在迁移后可清除本地任务,但 Admin ���功采购和核单结果必须保留。Client 四接口业务语义不变。详见 #172。 - [x] #172 Admin:任务主键改为���集 cj 与采购 cg ���立自增编号 - [x] #174 Admin:统一顺运宝单条采集任务的客户端选择 ## 蝦皮检索与顺运宝关联���用优化(2026-08-12) 经用户确认,蝦皮列表增加店铺名称模糊搜索,并把商品和店铺搜索框收紧为���面工具栏各 20% 的弹性宽度;顺运宝同步继续以蝦皮商品上的 PDD ���联为唯一事实来源,新货运单按蝦皮商品 ID 自动复用有效关联并明确展示,不向顺运宝明细复��� PDD 字段,不自动确认规格或创建任务。 - [x] #182 Admin:蝦皮列表增加店铺名称搜索�����收紧搜索框宽度 - [x] #183 Admin:顺运宝同步复用蝦皮商品已��� PDD 关联并明确展示 ## 最新 Admin 生产发布(2026-08-12) - [x] #184 Admin:打包并部署 #182、#183 最新版本 ## 蝦皮商品批量创��� PDD 采集任务(2026-08-12) 经用户确认,蝦皮列表增加���部批量采集入口:勾选蝦皮商品后按当前有效 PDD ���联去重创建采集任务,可选当前账���可见客户端���未关联、失效、已采集和���有任务按原因跳过。单商品详情入口保留,不新增迁移或 Client 接口。 - [x] #185 Admin:蝦皮商品支持批量创建 PDD 采集任务 - [x] #186 采购任务详情展示蝦皮订单并安���定位重新创建 - [x] #188 部署最新 Admin 到生���服务器 ## 蝦皮与 PDD 规格只读对比(2026-08-12) - [x] #193 Admin:生成指定蝦皮店铺与关联 PDD 的规格对比报告 - [x] #194 Admin:将指定蝦皮店铺正式规格补入关联 PDD 空规格 ## 顺运宝同步店铺准入(2026-08-12) 经用户确认,Admin 增加全局顺运宝允许店铺管理;同步仍先完成原始全量容量和分页完整性校验,再只为启用店铺拉取明细并入库。空白名���安全阻止同步���历史数据不自动删除,Client 四接口不变。详见 #196。 - [x] #196 Admin:按允许店铺筛选顺运宝同步入库(已实���,待验收) ## 顺运宝停用店铺删除(2026-08-13) ��� #196 店铺准入基础上,管理员���永久删除已停用配置;启用项由页面和服务端条件删除双重保护���历史货运单与同步记录不受影响。详见 #197。 - [x] #197 Admin:���许删除已停用的顺运宝同步店铺(已实现,���验收) ## 顺运宝店铺准入生产发布与历史数据治理(2026-08-13) 已��� #196、#197 对应���本发布到生产,并在完整备份后按当前 12 个启用店铺清理历史 `syb_orders`:删除非允许店铺 4,938 行、保留 3,388 行,反查不合规行 0;同步记录和任务来源数据未被删除���详见 #198。 - [x] #198 Admin:部署店铺准�����版本并清理非允许店铺SYB数据(已完成,待验收) ## AI 规格批���匹配(MVP 后�����版本,2026-08-13) 经用户确认,现有单条人工匹配保持不变,新增列表批量 AI 匹配。AI 只能选择当前真���可购买候选;通过服务端硬门禁的结���直接保存并标记来源为 AI,人工修改后当前来源改���人工,历史审计保留。Admin 提供仅管理员可访问的服务商/模型���置,API Key 不写数据库、`data/`、日志、工单或文档,保存后不能明文回显。批量匹配不自动创建采购任务,不改变 Client 四接口。详见 #199。 - [ ] #199 [MVP] Admin AI规格批量匹配 - [ ] #200 Admin:增加管���员 AI 服务商与模型配置 - [ ] #201 Admin:实现 AI 规格候选匹配、直接落库与来源审计 - [ ] #202 Admin:顺���宝列表增加批量 AI 匹配、进度与筛选 ## SYB 补全蝦皮主数据与软删除(2026-08-13) 经用户确认:SYB ���片可匿名访���;同步可按低优���级补充蝦皮店铺和图�����;确定性代码解析成功的 SYB 规格可补建来源为 SYB、无真实 SKU ID 的蝦皮���格;蝦皮商品删除采用可恢复软删除。人工和商品目录权威数据优先,歧义规格不猜测,SYB 同步���复活已删除商品,Client 四接口不变。 - [x] #203 Admin:SYB 同步低优���级补全蝦皮店铺和图片 - [x] #204 Admin:确定性解析 SYB 规格并补建蝦皮 SKU(依赖 #203) - [x] #205 Admin:实现蝦皮商品软删除、恢复和批量选择修复 ## 蝦皮列表与规格人工维护(2026-08-13) 经用户确认,蝦皮列表使用稳定紧凑的商品名称列,PDD 关联正文改为商品 ID;商品详情支持人工修正现有 SKU 的颜色、尺码和建议说明。人工修改采用字段级来���保护,不覆盖 SYB 原始数据、规格映射或采购任务,不新增 SKU 和 Client 接口。 - [x] #214 Admin:优化蝦皮标题宽度并显示 PDD 商品 ID - [x] #215 Admin:支���人工修改蝦皮 SKU 颜色尺码 ## 顺运宝列表可用性优化(2026-08-13) 经用户确认,顺运宝列表隐藏内部明细 ID 显示、收紧店铺/规格列和筛选输入框,删除重复入口和提示,并把长表改为带固定表头的���立双向滚动区域,保证横向滚动条在表���可视区域底部可用。内部 `syb_id`、同步、采集采购业务和 Client 接���不变。 - [x] #216 Admin:压缩顺运宝列表并优化筛选与���动 - [x] #217 Admin:支持顺运宝多订单号精确搜索 - [x] #218 Admin:打包部署最新版本 5bf6764 到生产服务器 - [x] #219 Admin:压���顺运宝工���条并缩短操作�����案 - [x] #220 Admin:部署顺运宝工具条压缩版本到生���服务器 ## AI 配置新增缺陷(2026-08-14) - [ ] #222 Admin:修复 AI 服务商配置新增后未落库(属于 #199) ## AI 模型 HTTP 接口兼容(2026-08-14) - [ ] #223 Admin:AI 服务商 Base URL 兼容 HTTP(属于 #199,补充 #200��� ## 新增 MVP(2026-08-14) - [ ] #224 Admin 档口入库码回写 - [ ] #231 Admin:档口入库码单表迁移与 Excel 幂等导入(已实现,待验���) - [ ] #232 Admin:档口入库码确定性匹配与顺运宝回写规划(���实现,待验收) - [ ] #233 Admin:实现档口入库码独立页面与列表交互(已实现,待验收) - [ ] #234 Admin:档口入库码安全回写、核验与异常恢���(已实现,待验收) ## 新增生���数据修复(2026-08-14) - [ ] #226 用三个蝦皮 Excel 最大价回填关联 PDD 正式价格 - [ ] #227 Admin:确认三��� Excel 回填 PDD 规格可用于采购 - [ ] #228 Admin:打包部署最新版本 4d6ee8c 到生产服务器 ## AI 规格匹配生产可用性修复(2026-08-14) - [ ] #229 Admin:AI 规格匹配失败弹窗反馈并补齐生产密���配置(属于 #199) - [ ] #235 Admin:档口入库码支持勾选部分记录匹配(已实现,待验收) - [ ] #236 Admin:档口入库码���配在会话过期时自动登录(已实现,待验收) ## 档口入库码导入日期与删除治理(2026-08-15) - [ ] #237 Admin:档口入库码导入使用 Excel 生成日期(属于 #224,已实现,待验收) - [ ] #238 Admin:档口入库码所有状态支持软删除与重复导入恢复(属于 #224,已实现,待验收) ## 档口入库码工具栏可用性优化(2026-08-15) - [ ] #239 Admin:压缩档口入库码筛选工具栏并调整控件顺序(属于 #224,已实现,待���收) ## 档���入库码多件商品聚合回写(2026-08-15) 经用户与客户���认,同一个顺运宝商品明细数量大于 1 时,Excel ���件生成的多个档口入库码按稳定顺序使用英文逗号连接,并���向该明细的 innerExpCode 写入一次;聚���值必须受 128 字符上限、确定性匹配和写后复读保护,不新增表或 Client 接口。详见 #240。 - [ ] #240 Admin:同一顺运宝商品多���入库码合并回写(属于 #224) ## 最新 Admin 生产发布(2026-08-15) - [ ] #241 Admin:打包部署最新版本 17c2d45 到生产服务器(属于 #15) ## 可选每���条数范围变更(2026-08-15) 经用户确认,Admin 使用公共分页的主列表从固定每页 20 条改为可选 20、50、100 条,默认仍为 20;���择写入 URL 并随筛选���翻页和模块状态恢复。分页容量不自动放宽顺运宝等远程批量写操作上限,不增加跨页勾选、数���库迁移或 Client 接口变更。详见 #242。 - [ ] #242 Admin:主列表支持每页 20、50、100 条 ## 分页容量自动刷新缺陷修复(2026-08-15) #242 的容量下拉框当前需要额外点击“应用”,且模块状态���名单遗漏 `page_size`。经用户确认,改为选择后自动提交,同时保留普通 GET 按钮作为无 JavaScript 回退,并补齐模块状态恢复���详见 #243。 - [ ] #243 Admin:分页每页条���切换后自动刷新 ## 主列表默认容量与���口入库码批量反馈调整(2026-08-15) 经用户确认,公共分页无参数时默认 100 条并移除正常页面可见的“应用”按钮;档口入库码删除列表上方流式提示,错误改为可访问���窗、成功改为不占布局的短提示。只读���配允许处理当前页全部选中记录并继续按 100 个货运单内部分���;远端回写仍固定最多 20 条。不增加跨页选择、数据库结构或 Client 接口变更。详见 #244。 - [ ] #244 Admin:主列表默认100条并优化档口入库码批量匹配反��� ## 档口入库码后台批量安全回写(2026-08-15) 经用户确认,档口入库码回写提交不再��� 20 条选择���限约束;记���在现有单表进入后台批次,页面立即返回,后台每次最多读取 20 条并逐条执行原有真实远端写入门禁。异常时未开始记录恢复可回写,未知远端结果转需核对,不自动重试,不新增批次表或 Client 接口。详见 #246。 - [ ] #246 Admin:档口入库码后台批量回写与进度反馈(属于 #224,已实现,待验收) ## 档口入库码后台回写生产发布(2026-08-15) - [ ] #247 Admin:部署档口入库码后台回写版本到生产服务器(已完成,待验收;目���提交 `7736ab7`,包含 #245、#246,schema v25) - [ ] #248 Admin:统一列表搜索区的清除按钮(已完成,待验收;实现 `9f35419`,归档 `d79e5c4`) - [ ] #249 Admin:部署统一搜索清除按钮版本到生产服务器(已完成,待验收;release `d79e5c4`,归档 `1927e3e`) ## 档口入库码多件远端回写语义修正(2026-08-17) 真实顺运宝操作 HAR 证明一个商品明细的“快递单号”不能保存逗号连接的多个档口入库���。保留 #240 的本地业���键聚合,远端改为每件一个明细、一个码;额外件使用零价占位商品明细,并以现有业务表中的 JSON 检查点防止超时或重启后重复���建。详见 #250。 - [ ] #250 Admin:多件档口入库码按件创建顺运宝明细回���(属于 #224) ## SYB 已���集 PDD 批量刷新范围(2026-08-17) 经用户确认,SYB 列表增加独立“重新采集”入口:对当前页明确勾选的 SYB 商品按 PDD 商品 ID 去重,复用 #121 的原子防重和旧数据保留规则,并与 #123 共用批量重采 Service。普通“创建采集”规则保持不变;执行中、成功、待人工核对或进入不可逆阶段的采购记录不得从 SYB 发起重采,新���果也不得改写已有采购任务快照。不新增数据库结构或 Client 接口。详见 #252。 - [ ] #252 Admin:SYB 列表支持批量重新采集���选 PDD 商品 ## 采购运行时真机规格解析(2026-08-17) 跨端 MVP #253 的 Admin 范围负责新增一次性规格解析契约、审计模型,以及规则优先、AI 补充的候选白名单决策;复用 #199 的 AI 配置与匹配核心,不改变原 SYB 批量 AI 的触发范围。详见 #254、#255。 - [ ] #254 Admin:定义采购运行时规格解析接口与审计模型 - [ ] #255 Admin:实现采购运行时真机规格规则与 AI 解析 ### 档口入库码 MVP 补充任务(2026-08-17) - [ ] #259 Admin:档口入库码使用原始 SKU 辅助确定性匹配(所属 MVP #224) - [ ] #269 Admin:部署档口逐件回写与原始 SKU 匹配版本(已完成,待验收) - [ ] #273 - [ ] #274 ## 档口入库码写码参数 Integer ���出修复(2026-08-19) #250 把 `updateDetailCode` 的 `t` 改成毫秒时间戳后,顺运宝按 Java Integer 解析导致 19 号回写全部失败。本任务把 `t` 改回 `#234` 的 `0`,保留 POST。详见 #278。 - [x] #278 Admin:修复档口入库码回写 t 参数溢出 Integer(属于 #224) ## 档口入库码 t=0 修复生产发布(2026-08-19) 将 #278 的 `updateDetailCode t=0` 修复发布到生产。无 schema 变化。详见 #279。 - [ ] #279 Admin:部署档口入库码 t=0 修复到生产(属于 #15) - [ ] #280 第三方 Excel 转规范 CSV(待实施) - [ ] #281 规范 CSV 预检与安全入库(进行中) - [ ] #282 部署规范 CSV 预检版本并运行生产预检(进行中) ## SKU 并发写入可靠性(2026-08-21) - [ ] #283 Admin:恢复 SYB 与目录并发写入 SKU 的唯一键冲突 ## 2026-08-21 生产发布任务 - [ ] #285 Admin:部署 AI 规格候选上限放大至生产(依赖 #284) ## 2026-08-21 AI 等待时间生产发布 - [ ] #287 Admin:部署 AI 规格解析 66 秒等待时间到生产(依赖 #286) ## 2026-08-21 候选上限 150 条生产发布 - [ ] #288 Admin:部署 AI 规格候选上限 150 条到生产(依赖 #284) ## 档口入库码多个现成相同明细兼容(2026-08-22) - [ ] #289 Admin:兼容多个相同顺运宝明细的档口入库码逐件匹配(属于 #224,已实现,待验收) ## 2026-08-22 生产发布 - [ ] #290 Admin:部署多个相同顺运宝明细逐件匹配修复到生产(已完成,待验收;依赖 #289) ## 蝦皮与 PDD 商品级颜色映射 MVP(2026-08-23) 经用户确认,Admin 在蝦皮数据模块内新增商品级颜色映射能力:只维护“蝦皮颜色 → 当前关联 PDD 商品颜色”,不做尺码映射页面,也不把颜色映射直接视为可采购的完整规格。颜色映射只有在其余规格维度唯一、完整组合仍可购买并通过现有门禁时,才可派生现有完整规格映射;否则继续走人工或 AI 规格解析。先完成专用交互原型并由用户确认,生产数据模型、页面和 SYB/采购链路接入随后分阶段实施。 - [ ] #291 [MVP] Admin:蝦皮与 PDD 商品级颜色映射
Author
Owner

用户已统一通过 Admin 待验收工单 #48–#62;已关闭 #48、#49、#50、#51、#52、#53、#54、#55、#56、#57、#58、#59、#60、#61、#62,并将本工单中存在的对应任务项勾选完成。#46、#47 尚未验收,继续保持未完成;本父工单仍保持开放。

用户已统一通过 Admin 待验收工单 #48–#62;已关闭 #48、#49、#50、#51、#52、#53、#54、#55、#56、#57、#58、#59、#60、#61、#62,并将本工单中存在的对应任务项勾选完成。#46、#47 尚未验收,继续保持未完成;本父工单仍保持开放。
Author
Owner

补正历史任务索引遗漏:加入 #46、#47、#48;其中 #48 已通过验收并关闭,标记完成,#46、#47 仍开放,保持未勾选。

补正历史任务索引遗漏:加入 #46、#47、#48;其中 #48 已通过验收并关闭,标记完成,#46、#47 仍开放,保持未勾选。
Author
Owner

用户已通过 #46、#47 验收;两张工单已补齐归档并关闭,父级任务清单已同步勾选。父工单仍有其他未完成范围,因此保持开放。

用户已通过 #46、#47 验收;两张工单已补齐归档并关闭,父级任务清单已同步勾选。父工单仍有其他未完成范围,因此保持开放。
Author
Owner

#127 已完成实现并归档,当前待用户验收。采集采购任务现按创建人隔离,管理员保留全量筛选;实现 a9f22b9,归档 dbe4779。

#127 已完成实现并归档,当前待用户验收。采集采购任务现按创建人隔离,管理员保留全量筛选;实现 a9f22b9,归档 dbe4779。
Author
Owner

用户已批量验收通过 Admin 工单:#64、#65、#67、#68、#69、#74、#88、#90、#95、#104、#105、#106、#121、#125、#127。对应子工单已关闭,父工单清单已同步;父工单本身是否满足整体关闭条件仍按其全部范围单独判断。

用户已批量验收通过 Admin 工单:#64、#65、#67、#68、#69、#74、#88、#90、#95、#104、#105、#106、#121、#125、#127。对应子工单已关闭,父工单清单已同步;父工单本身是否满足整体关闭条件仍按其全部范围单独判断。
Author
Owner

用户于 2026-08-12 验收通过并已关闭以下单元工单:#132、#133、#134、#135、#140、#141、#142、#144、#146、#150、#151、#152、#153、#156、#158、#165、#169、#172。父工单任务清单已同步为完成;未列出的工单(包括 #174)状态不变。

用户于 2026-08-12 验收通过并已关闭以下单元工单:#132、#133、#134、#135、#140、#141、#142、#144、#146、#150、#151、#152、#153、#156、#158、#165、#169、#172。父工单任务清单已同步为完成;未列出的工单(包括 #174)状态不变。
Author
Owner

子任务进度更新(2026-08-13)

  • #203 已实现并归档,待用户验收。
  • #204 已实现并归档,待用户验收。
  • #205 已实现并归档,待用户验收。
  • 共用实现提交 ad1ccc2,归档提交 901b37a。
  • 独立 MySQL 8.4 测试库权限仍是验收前已知缺口,未使用生产库代测。

父工单清单暂不勾选,等用户验收通过后再关闭子工单并同步完成状态。

## 子任务进度更新(2026-08-13) - #203 已实现并归档,待用户验收。 - #204 已实现并归档,待用户验收。 - #205 已实现并归档,待用户验收。 - 共用实现提交 ad1ccc2,归档提交 901b37a。 - 独立 MySQL 8.4 测试库权限仍是验收前已知缺口,未使用生产库代测。 父工单清单暂不勾选,等用户验收通过后再关闭子工单并同步完成状态。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#14