Server SHA256=eb401429b0dbd106e2e687378b35e50bc97bd35fb991ec69e740d018445de814,Web tgz SHA256=6935cd58bbb397d6c58cf8296eb3c1874de4c2dec676f6d64fc3c3253135ebef;远端binary哈希核验通过。
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
线上发布完成(2026-09-19,待用户业务验收)
用户已授权合并main并发布线上。main=f66952f,线上current=/home/goauto/releases/20260919-f66952f-326;首页/资源/health通过,无迁移,无APK变化。下方未发布描述是实施阶段历史记录,详见发布评论。
当前交付状态:待验收(2026-09-19)
已实现并推送 feat/326-order-information:3a2472d(代码)+ f66952f(Wiki镜像)。Server/Web构建及相关测试通过,无数据库迁移。未合并main、未发布、未执行真实SYB写入,详见本次完成评论。
2026-09-19 用户确认后的范围(替代原方案的冲突表述)
用户要求内部系统简单易用:采购任务有 PDD 订单号、下单时间和订单金额即资料完整,不检查支付状态;后续只保留自动下单读取和 Admin 手工补录两种来源。用户确认“按照你的建议来做”。本次保留插件与 Agent 回填,停用另行安排。
当前代码核验
基线:main 741e4bf680f72a4f7eda8e2daada5e32561ed901,核验日期2026-09-19。
目标和最小方案
范围/依赖
Server:purchase 资格、人工保存与事务入队、详情/列表完整性、测试。
Web:采购详情、既有人工处理弹窗与资料完整性/金额文案、测试。
Android、插件不改;后续停用另单。依赖 #305;复用 #325 已在 main 的金额字段链路。
不修改真实订单、不执行真实 SYB 写入、不发布线上;本轮无数据库迁移。业务更改获得本次实施授权,真实线上写入或发布另行确认。
设计证据与实施门禁
QuantUX v1(待审核):https://qux.ilapage.cn/#/apps/6aae32d6191a826306a7fea7.html
App ID:6aae32d6191a826306a7fea7,版本标识“#326 · v1 · 待审核”,创建2026-09-19。
覆盖:缺金额详情、补录三字段、保存成功、失败说明、空态/加载/禁用/权限边界。5屏、71控件、8条预置状态跳转;仅合成数据,不请求业务接口。结构回读通过。浏览器未登录时显示 QuantUX 登录页,需使用已登录账号查看,尚未完成渲染/点击验收。
ui-ux-pro-max 用于约束表单标签、保存反馈、错误保留输入;沿用现有 Admin 样式,不采用与项目无关的推荐视觉风格。
需求方案已由用户确认;原型确认人/时间:用户于2026-09-19在会话明确“原型通过,做#326”。由于扩展人工补录入口及状态展示,先完成原型审核,不以文字需求批准冒充原型批准;原型通过后已实施,见当前交付状态及完成评论。
验收与验证
文档/回退
实施后更新 Business-Rules-and-Glossary、Architecture-and-Code-Map、Android-Agent-API-Contract 的资格、完整性与人工录入契约;按 Wiki-first 一轮同步校验。当前仅设计,无已实现长期事实变更,不同步 Wiki。
回退采用对应完整代码提交,不只恢复单个 status 判断;已写入订单事实与外部SYB单号不能随代码回滚自动撤销。
原始建单记录(历史,仅用于追溯;冲突内容以上方最新方案为准)
原始需求
用户 2026-09-19 在采购管理核对线上任务(SYB 订单
260919DX79YRHA,状态「订单已创建」不能勾选)时确认:建单时间:2026-09-19。
目标与非目标
目标
purchaseCode(type=pdd,cost=0,created为空)。order_created、支付复核必须已支付、地址后缀或金额字段作为单号回填门禁。非目标
cost=0。前置依赖
updateDetailPurchaseCode协议。子项目影响
server/:orderWritebackEligible/ensureOrderWriteback/RequestOrderWriteback/ worker 再校验与单测。web/:若orderWriteback.canSubmit与原因文案随服务端变化,只改展示/勾选过滤,不新增页面。android/:不改。无新页面或导航变化,不做原型。
当前事实(代码)
orderWritebackEligible当前为:live+syb_order+status == order_created+ 有sybProductId+ 非空pddOrderNo。不检查下单时间。金额与
paymentReviewStatus已不作门禁。入队后 worker 写前回读 SYB;同单号+pdd 直接成功;空才写一次;不同单号/其他平台记 conflict 且不覆盖。Admin 列表勾选由服务端
orderWriteback.canSubmit决定;已 pending/running/succeeded 不能再勾。「重试」勾选仍只针对failed && retryable。方案
live+syb_order+ 有效 SYB 明细(stock_id/detail_id)+ 非空 PDD 订单号 + 有下单时间。不再要求status == order_created。ensureOrderWriteback(含 Agentorder_created、人工/扩展回填成功);历史补偿仍走POST /api/admin/v1/purchase-tasks/syb-order-writeback。POST /am/stock/detail/updateDetailPurchaseCode,只传单号;不传金额、不传下单时间(SYB 自行生成 purchaseTime)。canSubmit决定勾选;若原因文案仍写「不符合正式SYB订单回填条件」,改为与新资格一致的短说明。设计证据
无新页面。复用现有采购管理列表/详情的 SYB 单号回填区与 #305 协议。
验收
canSubmit=false。cost=0,不带金额。验证
go test覆盖purchase资格与 order writeback 相关包。purchase-order-writebacke2e。风险与回退
orderWritebackEligible为status == order_created。文档影响
有长期文档影响,需更新:
live + syb_order + order_created + 有效单号)写入协议本身不变;若 Wiki 仍写死绑
order_created,必须改成上述字段门禁。放宽 SYB 单号回填资格:有 PDD 订单号和下单时间即可入队to 采购订单资料补全与简化 SYB 单号回填(复用现有字段)开始实施:v1原型已由用户2026-09-19确认。基线741e4bf,独立worktree issue-326 / feat/326-order-information。只修改Server/Web、必要契约与测试,不改Android/插件,不迁移、不发布、不执行真实SYB写入。未配置Gitea MCP,沿用安全配置凭据调用API。
实施完成,待验收(2026-09-19)
原型v1已由用户确认,严格按修订后范围实施。当前无Gitea MCP,使用API回写。
交付
验证
Wiki
先在线更新并回读,再唯一一轮sync + sync --check,均通过:
未验证与交付边界
未查询/修改原案例线上任务,未执行真实SYB写入、采购、支付或生产部署。手工入口沿用既有unknown/已创建范围,不扩展执行中或取消任务编辑。下一步需用户授权合并main和发布Server/Web;先Server后Web,无迁移,无需新APK。工单保持打开待验收。
授权合并及线上发布完成
用户2026-09-19明确授权合并main并发布线上。无Gitea MCP,使用API回写。
本次复用现有发布拓扑及运维方式,长期契约已在实施阶段更新并sync/check通过;发布事实仅记本工单,不重复Wiki同步。工单保持打开待验收。