diff --git a/docs/02-architecture-and-code-map.md b/docs/02-architecture-and-code-map.md index 8b4e089..9ca971b 100644 --- a/docs/02-architecture-and-code-map.md +++ b/docs/02-architecture-and-code-map.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Architecture-and-Code-Map wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Architecture-and-Code-Map.- -wiki_revision: f38dbf924894686f3ac1f91b669163ea11fc862b -synchronized_at: 2026-10-05T09:52:40Z +wiki_revision: 570383858b934c4d0550f2dff7b755f1dd962888 +synchronized_at: 2026-10-05T10:13:30Z @@ -610,7 +610,7 @@ Web 唯一展示位置为“采集采购 → SYB 同步记录”:列表状态 - 无新表、迁移、权限或执行器改动;Server/Web 应成套发布和回退,避免旧Server忽略集合筛选。 ## SYB 来源取消状态展示(#357) -实现绑定 `d6639a4`,2026-10-05,分支已实现,尚未合并 main、执行业务库迁移或发布。 +实现绑定 `d6639a4`;2026-10-05 已合并 main `4567a24`,经用户授权在线执行迁移 `1791200000000` 并发布 Server/Web 到 122.228.200.167。仅展示状态,未触发真实同步;本机业务库未迁移。 - `models.SYBProduct` 新增可空 `SYBIsCancelled` 和 `SYBStatusSyncedAt`。追加幂等迁移 `1791200000000_syb_cancel_status.go` 添加 nullable boolean/time 列,历史值留 null,不猜测、不改权限、不新增索引。 - `sybimport/cancel_status.go` 仅解析上游 `isCancel` 的数值 0/1;`sync.go` 将明确的状态与同一货运单的取得时间传入 `OrderInput`,`ApplyDetail` 随正常同步创建/更新各明细。false 通过 map 更新,避免零值被省略;缺失/未知值保留原状态与时间。 diff --git a/docs/03-business-rules-and-glossary.md b/docs/03-business-rules-and-glossary.md index ab6989f..6b5caa6 100644 --- a/docs/03-business-rules-and-glossary.md +++ b/docs/03-business-rules-and-glossary.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Business-Rules-and-Glossary wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Business-Rules-and-Glossary.- -wiki_revision: bfb8d7abd4d11466fc107ef8f26e0abf5ab13f41 -synchronized_at: 2026-10-05T09:52:46Z +wiki_revision: 8ee23d9c80ebba3cb6cff51e8e25eb1579ab9ac7 +synchronized_at: 2026-10-05T10:13:34Z @@ -783,7 +783,7 @@ Android 0.9.64 / versionCode 77,源码 `6550b9f`(分支实现,尚未安装 检索本身不重试采购;采购员仍须选中当前页可重试失败任务,经原确认流程执行。#303 的现行普通批量重试为原任务重置,保留CG编号并增加attempt,不新建任务。本单没有修改任何重试资格、执行、下单、支付或回填行为。 ## SYB 订单取消状态只读展示(#357) -实现绑定 `d6639a4`,2026-10-05,分支已实现,未合并/迁移/发布。 +实现绑定 `d6639a4`;2026-10-05 已合并 main `4567a24`,在线迁移并发布至 122.228.200.167。旧记录保持未获取,随后按既有正常同步范围更新;不新增采购拦截。 - “SYB状态”仅显示来源取消标记:`isCancel=1` 为“已取消”,`0` 为“未取消”,没有有效证据为“未获取”。“未取消”不等于可采购,不表达其他 SYB 业务状态,不由 status/orderStatus、规格解析或 PDD 排除标记推断。 - 正常同步成功取得有效值后覆盖原值,允许由取消变回未取消;失败、字段缺失/null、未知值或空页不改变既有取消状态与取得时间。历史记录不默认未取消。 diff --git a/docs/08-agent-api-contract.md b/docs/08-agent-api-contract.md index bec501d..d04f0b2 100644 --- a/docs/08-agent-api-contract.md +++ b/docs/08-agent-api-contract.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Android-Agent-API-Contract wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Android-Agent-API-Contract.- -wiki_revision: 730ddd7a4596a1ff3ed20395f84a9f0760af1d23 -synchronized_at: 2026-10-05T09:53:04Z +wiki_revision: 5818776a54c3784fbe5d691d830920f9b8f8b888 +synchronized_at: 2026-10-05T10:14:02Z @@ -1462,7 +1462,7 @@ Web 批量入口冻结原匹配 ID 并顺序调用;HTTP 409 状态冲突跳过 Web 输入去重后一个值提交旧标量、多个值提交重复集合键,空输入不提交订单筛选。查询不执行采购、重试或回填;权限、分页上限、当前页重试资格和接口均不变。100个订单号可能对应超过100个任务,仍逐页展示/勾选,不提供跨页全选。Server 与 Web 成套发布/回退,旧 Server 未支持集合参数前不单独上线新 Web。 ## 管理端 SYB 商品来源取消状态(#357) -实现绑定 `d6639a4`,2026-10-05,分支已实现,未合并 main 或部署;需要追加迁移 `1791200000000_syb_cancel_status.go`,业务库执行仍待授权。Android API 与采购 API 行为不变。 +实现绑定 `d6639a4`;2026-10-05 已合并 main `4567a24`,经用户授权在线执行追加迁移 `1791200000000_syb_cancel_status.go` 并发布至 122.228.200.167,商品列表只读接口已核验 nullable 字段。本机业务库未迁移;Android API 与采购 API 行为不变。 `GET /api/admin/v1/syb-products` 的 `data.items[]` 及 `GET /api/admin/v1/syb-products/:productId` 的 `data.item` 追加以下只读字段,原请求、权限、筛选、响应信封不变: diff --git a/docs/13-deployment-and-operations.md b/docs/13-deployment-and-operations.md index c323405..e195e3f 100644 --- a/docs/13-deployment-and-operations.md +++ b/docs/13-deployment-and-operations.md @@ -2,8 +2,8 @@ generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件) wiki_page: Deployment-and-Operations wiki_url: https://git.ilapage.cn/OPC/goauto/wiki/Deployment-and-Operations.- -wiki_revision: 6d3c599a45813ad844395e93a02832f0d28dd3f5 -synchronized_at: 2026-09-29T03:47:47Z +wiki_revision: 84231a25479bb6563645f5b8104805d4f5336349 +synchronized_at: 2026-10-05T10:13:42Z @@ -246,3 +246,14 @@ Provider 故障日志只允许记录调用关联 ID、操作类型、耗时、 - 旧版本出现崩溃现场,必须先确认原 worker 已退出、目标记录没有匹配计划和远端写执行证据,再按授权做精确条件事务收敛;禁止无条件整日重置或重试仍会崩溃的旧接口。修复上线后手动勾选失败项匹配,ready 后另行确认回写。 实现绑定:`fix/350-inner-code-matching`,源码提交 `9c5e20e`;未合并 main、未部署,正式环境仍需发布后启用。 + +## #357 来源取消状态展示发布(2026-10-05) + +- 用户授权合并 main、发布及线上追加迁移;发布源码 `4567a24f05c9307d66d189a1fd28225b98b2a16e`,目录 `/home/goauto/releases/20261005-4567a24-357`,`current` 已原子切换并重启 `goauto.service`。只部署 Server/Web,不安装 Android;本机业务库未迁移。 +- MySQL 8.4.8 上唯一待执行版本为 `1791200000000`。使用同版本 mysqldump 的 single-transaction 备份到 `/home/goauto/backups/20261005-357/database.sql`(目录0700、文件0600),不下载生产数据。迁移输出保存在同目录受限 `migrate.log`,不复制原始日志到工单。 +- 迁移追加 `syb_product.syb_is_cancelled`(nullable tinyint(1))和 `syb_status_synced_at`(nullable datetime(3));迁移记录回读通过,无剩余待执行版本。历史状态保持 null,不猜测或批量回填。 +- 切换前采集、采购、同步、AI、回填及批次运行检查无执行中工作,既有 pending 任务保留;未主动触发同步、采购或回填,没有修改 sys_job 的启停、Cron 与参数。原有开启任务继续正常运行。 +- 服务沿用原 config、环境文件和 Nginx;Nginx 配置检查通过,本次无配置改动,无需 reload。static/temp/var 分别直接引用已有真实目录 `20260928-344-9dace6a/static`、`20260930-352-1f3ce61/temp`、`20260929-340/var`(均位于 releases 下),保留已有图片、APK和运行文件。 +- 公网首页与本次 dist/index.html 字节一致,SPA入口与10项JS/CSS资源、健康及验证码接口正常;已认证商品列表返回 nullable 新字段。旧记录显示“未获取”,正常同步对应来源日期后才更新;本次不自动补同步,不宣称真实同步三态已验收。 +- Server SHA256:`73f169cc8091c34dac29f76b6125e68596b54517a18c4e1c7507a3f02f1dbd5d`;Web包 SHA256:`3edd072d0e44a8ea9768ba906f603c84ca872fad3f553ee91aff0815b58ab488`。 +- 回滚代码目标 `/home/goauto/releases/20261005-ddc18f5-353-355` 保留;需先检查运行任务再切回并重启,保留追加列与新数据,不通过删列或恢复旧备份覆盖后续业务。