This commit is contained in:
2026-10-26 18:52:09 +08:00
parent 1a92bba2d5
commit 806641c579
2 changed files with 18 additions and 5 deletions
@@ -7,6 +7,17 @@
- 用户本轮已删除灰度旧 PDA 容器,并按本轮提供的命令把两站点页面代理改回静态文件;用户回传国内、海外域名首页均 HTTP 200,并确认恢复。该结果不外推 TEST 容器清理、其他代理节点或完整业务验证;本轮未远程执行其他环境删除或发布。
- 2026-09-29 起的 TEST H5 容器方案、2026-10-07 灰度容器/端口转发及后续镜像更新记录仅证明当时部署事实,已被本节发布方式取代。历史 `reports/gray-release-20261007/`、`reports/three-module-gray-20261012/` 等脚本与报告只用于追溯,不得重跑以恢复 PDA 容器或覆盖站点路由。
## 2026-10-26 排车档案照片与装车多图:已发布 TEST 并完成定向验证
- 用户确认执行照片表 SQL 并发布 TEST。后端 PR #38 合入 `test`,固定发布提交 `be9f5d2a30e4d7441f72ac3e0ac1e32cfd377e1a`;Admin PR #30、海外 PDA PR #10 合入 `release/test`,分别固定为 `04b099249e710f4c9ff5665a35cbfed8e3eeba66`、`3934ad57f89fed68bdff6e792d11f2af46d9db87`。保留测试分支既有费用、仓租和采购改动,解决 SQL 基线与业务索引冲突,统一初始化建表数为 240;未重放初始化。
- 唯一数据库写入为 `deploy/sql/lastleg-fleet-resource-photos.sql`,SHA-256 `9721e33dc1d9c38c4c7c88fc435466f1bd547bb650af64fcb3106af4c1201c16`。执行前确认目标表不存在,执行后核对 `baiyue_lastleg.ll_fleet_resource_photo` 的 9 个字段及空表状态;仅新增照片版本表,未回填或删除业务记录。
- File `#159`、Lastleg `#433`、Admin `#715` 均 SUCCESS,耗时分别 66.811、106.009、61.291 秒。后端明确检出固定提交并复用已通过定向门禁,跳过重复测试执行但保留生产/测试源码编译、打包和健康检查;Admin 类型检查、生产构建和发布通过。Admin 临时 SCM pin 已恢复并逐字核对原配置。实际后端镜像 tag 为 `be9f5d2a30e4`,Admin 为 `04b099249e71`;只有这三个容器镜像变化,15 个在用应用容器均 healthy,所有已记录容器的环境变量及挂载摘要保持不变,未处理历史退役容器。
- 海外 PDA H5 在核对实际生效的宿主机 Nginx 站点及 `nginx -T` 成功后,先备份覆盖文件,再上传资源、最后替换首页。服务器及公网 83 个文件 SHA-256 均与本批构建一致;没有发布 PDA 容器、APK 或 WGT。Admin 公网首页与运行容器摘要一致,61 个首页引用资源均 HTTP 200。
- 真实 HTTP 使用专属 TEST 合成车辆、司机和图片验证两类档案上传、版本冲突拒绝、当前与历史图片下载,以及新建排车自动复制两类档案照片。替换档案后,原排车的文件引用和图片内容保持不变。23 项照片及样本收尾检查通过,随后 13 项只读复核及线上资源检查通过;另读取已有有效装车单资料成功。合成空排车 `PC202610260001` 已按正式接口取消,车辆和司机已停用,独立会话已退出;无货物、库存或费用操作,合成档案、图片和审计记录保留。
- 两次验收脚本假设已纠正并保留原失败记录:空照片字段会由 JSON 序列化省略;未进入装车阶段的空草稿必须返回 A0409。前者沿同一组已创建资源继续验证,未重复造主档;后者按正式阶段门禁核对,未绕过状态推进。未因此修改生产代码或再次部署。
- 合并门禁为后端 117 项定向用例、Admin 104 项业务用例、PDA 4 项部署合同,以及 23 项部署拓扑/恢复合同;Admin 与 H5 构建通过。后端照片表测试截取范围、Admin 入库详情组件隔离问题已在测试分支修复并复测。Admin 样式合同仍有 4 项测试分支既有失败,未宣称全量回归通过。每类五张的完整现场上传/替换、装车至签收全链、人工页面及 PDA 真机相机验收仍待完成。
- 本轮不发布生产或灰度,不改 Nacos/Gateway 配置。证据保存在本机私有 `artifacts/chongchong-global/fleet-photo-test-20261026/`,包括 SQL 回执、Jenkins 日志/状态、配置恢复核对、静态文件摘要及 HTTP 报告;凭据未进入仓库或报告。
## 2026-10-26 海外费用与仓租 TEST 补齐:收费、仓租及应付链路已验,直付明细已修复并复验
- 本轮仅继续 TEST。先按已审阅的 `overseas-fees-storage-rent-structure-add.sql`、`overseas-storage-rent-zero-fee-repair.sql` 补齐 `ll_storage_rent_inbound`、费用审核人名称及自动免费仓租的金额/汇率约束,两文件执行成功。执行前后原有费用均为 143 条,资金编排及计租批次均为 0;未重放初始化、未回填或删除业务数据,未调整汇率。
@@ -12,7 +12,7 @@
列表、详情、审核、PDA与车辆维护共用按目的仓汇总的预约投影,BOL沿同一目的仓使用客服保存的编号,各票客户归属及箱数不改变;预约号筛选包含目的仓登记值,不再命中该仓已被人工改选覆盖的旧编号。已确认时间仍取匹配编号的当前有效正式确认,保留当地时区和原时段校验;仅填写编号不伪造正式确认时间,显示已登记,不能用计划发车或预计到达代替。货件号沿本车真实客户、计划逐票分配及直接订单关联读取,不依赖是否存在正式FBA预约批次;手填目的仓预约号时也须带出实际货件,同仓合并去重,不把其他客户货物并入本票。排车列表司机与联系电话保持两列,仅消费真实字段,缺失显示“—”。所有阶段、装车前审核分区和排车类型均展示主单created_at的真实创建时间,不以计划发车或更新时间替代,不逐行请求详情。
2026-10-22 车辆与图片门禁:车辆候选按海外在役状态及真实车次占用在服务端分页前筛选,排除其他车次占用并保留本车资源;当前选择失效可清除或改选,提交仍复验。草稿允许分步保存,提交审核及审核通过必须分别具备至少一张有效车辆图片、司机照片、驾驶证照片;选图未上传、上传失败、作废文件、PDF均不计为图片。每次放行复核文件有效性及分类归属;主档驾驶证按冻结来源读取,本趟补传图片按排车归属保留,不因主档解析丢失。主档换证后再次保存,服务端按原冻结来源标记剔除旧主档引用,再由车队解析当前主档;保留本趟补传图片及原历史,不把旧主档证照改按排车附件校验。
2026-10-22 车辆与图片门禁:车辆候选按海外在役状态及真实车次占用在服务端分页前筛选,排除其他车次占用并保留本车资源;当前选择失效可清除或改选,提交仍复验。草稿允许分步保存,提交审核及审核通过必须分别具备至少一张有效车辆图片、司机照片、驾驶证照片;选图未上传、上传失败、作废文件不计为有效资料;驾驶证接受PDF/JPG/PNG原件。每次放行复核文件有效性及分类归属;主档驾驶证按冻结来源读取,本趟补传图片按排车归属保留,不因主档解析丢失。主档换证后再次保存,服务端按原冻结来源标记剔除旧主档引用,再由车队解析当前主档;保留本趟补传图片及原历史,不把旧主档证照改按排车附件校验。
2026-10-21 新增内部散板需求发布选项,2026-10-22 简化智能排车入口;当前发布选项、时间来源及派送排车的候选、满载退出和未知容量口径统一见[内部散板需求池当前范围](内部拼车需求池首版开发契约.md#当前页面范围2026-10-21)。选项仅随新建命令按车同事务持久化,编辑不修改发布选择,不改变排车审核、实际拣货、装车照片或发车流程。
@@ -24,10 +24,12 @@
维护资料通过 `DispatchCommands.Update.maintenance` 保存到现有 `resourcesJson.maintenance`,详情对称返回 `vehicleInfo.maintenance`,唯一类型为 `DispatchContracts.Maintenance`。整体及八字段均可空,空白文本规范为 null,允许空草稿保存:`plannedDeliveryDate` 为 ISO 日期 `YYYY-MM-DD`;`deliveryMethod` 为 FBA自提/客户自提/卡派打托/卡派地板/快递/外配;`pickupMethod` 为一提一卸/一提多卸;`loadType` 为托盘/地板/混装;`fleetEmail` 最多254字符;`vehicleType` 为厢式货车/平板车/集装箱卡车;`appointmentAccount` 最多128字符;`destinationAppointments` 按本车目的仓去重,每项为目的仓业务键和最多128字符的预约号,空白可暂存但提交审核必须齐全。不新增审核级别或权限,正式确认时间、实际发车及派送费用口径保留。MASTER/EXTERNAL 车辆的本趟 `evidenceFileIds` 均保留到资源快照,不能被主档解析清空;保存及审核对非空照片逐项核验本排车及 VEHICLE 类别、有效性,调度审核读取同一已保存证据,不写入车辆主档。
2026-10-21 用户确认:在装车前清除“有效排车”筛选后,仍保留车辆信息、调度审核、理货员审核三个页签及当前选中项;查询沿用空值默认有效排车的规则,切换页签继续按当前审核分区查询。
4. 2026-10-21 用户确认:装车完成确认真实实载,Admin与PDA成功结果在资料未齐时为AFTER_LOADING、资料已齐时为DELIVERING。装车中及装车后均提供“装车照片1至5”五个固定框,两端均可拍照/选择图片、上传、预览及替换,按整张排车单共用当前照片与附加资料版本,不依赖派送单或按客户重复上传。五框全部绑定保存且已确认装车完成后自动进入派送中;不以选图、文件上传回执或重复槽位充数。保留真实拣货核平、实载校验、版本及防重复约束。
5. 装车已完成时,第五张装车照片绑定与按客户和目的地生成出库/派送单、记录实际发车并进入派送中在同一事务完成;照片先齐时,这些动作随装车确认在同一事务完成,仍无人工安排派送及确认发车入口。上传和绑定各保留稳定原请求键;第五张绑定或派送失败时保留装车后、前四张及原上传文件,原请求可恢复,不能留下半车或重复派送。PDA每次按Token绑定仓校验,Admin沿排车list只读、edit上传保存。照片使用原整车附加记录及文件归属,不新增存储表;五个既有技术槽位仅映射装车照片1至5,不表示司机审核或真实签收。真实外接报价沿原费用路径发布,未知派送补充资料与费用保持未确认,不猜测金额或原费用覆盖、不填写零费;后续由既有后台资料/费用管理维护。装车中上传齐资料不会提前发车;照片先齐时派送失败回滚本次装车确认、保留已保存照片,原请求可重试。装车完成原键恢复本次事务原最终阶段(AFTER_LOADING或DELIVERING),资料保存原键恢复原保存结果,当前阶段须另读;不重复扣库存。
4. 2026-10-21 用户确认:装车完成确认真实实载,Admin与PDA成功结果在资料未齐时为AFTER_LOADING、资料已齐时为DELIVERING。装车中及装车后均提供司机驾驶证、车牌照片、装车完成、封车照片、BOL司机签字五类资料(每类1至5份),两端均可拍照/选择图片、上传、预览及替换,按整张排车单共用当前照片与附加资料版本,不依赖派送单或按客户重复上传。五框全部绑定保存且已确认装车完成后自动进入派送中;不以选图、文件上传回执或重复槽位充数。保留真实拣货核平、实载校验、版本及防重复约束。
自动带入规则:理货审核通过、进入装车阶段时,服务端将本趟已核验驾驶证和车辆照片分别复制为“司机驾驶证”“车牌照片”类别的独立装车附件,PC与PDA共用同一份照片记录及版本。每类最多带入5份,仅填充空类别,来源未变化时保留已有现场照片及替换结果,重复审核不重复复制;退回后保存车辆身份、司机身份或对应证照附件变更时,对应类别的旧资料(含手工上传)与资源修改同事务失效,保留文件和历史,其他类别保持不变;再次理货通过后按新来源带入,未带入前不计入资料齐全。后续主档换图不改本趟附件。司机人像不放入驾驶证类别,其余三类由现场上传。驾驶证支持PDF原件(计一份)并可在两端查看;其他类别只接受JPG/PNG。复制失败时本次审核与资料绑定同事务回滚;GET保持只读,不执行测试存量补写。
5. 装车已完成时,第五张装车照片绑定与按客户和目的地生成出库/派送单、记录实际发车并进入派送中在同一事务完成;照片先齐时,这些动作随装车确认在同一事务完成,仍无人工安排派送及确认发车入口。上传和绑定各保留稳定原请求键;第五张绑定或派送失败时保留装车后、前四张及原上传文件,原请求可恢复,不能留下半车或重复派送。PDA每次按Token绑定仓校验,Admin沿排车list只读、edit上传保存。照片使用原整车附加记录及文件归属,不新增存储表;五个既有技术槽位按顺序映射上述五类资料,不替代司机审核或真实签收。真实外接报价沿原费用路径发布,未知派送补充资料与费用保持未确认,不猜测金额或原费用覆盖、不填写零费;后续由既有后台资料/费用管理维护。装车中上传齐资料不会提前发车;照片先齐时派送失败回滚本次装车确认、保留已保存照片,原请求可重试。装车完成原键恢复本次事务原最终阶段(AFTER_LOADING或DELIVERING),资料保存原键恢复原保存结果,当前阶段须另读;不重复扣库存。
6. 实际发车后为派送中;全部正常签收完成后自动进入配送完成。派送中可以“标记异常”:类型必填(拒收、部分签收、车辆异常),退货去向选填(退回海外仓、其他),说明和图片选填。登记沿排车维护权限,按本车版本及原请求键防重,异常记录和图片保存在主单并于现有“排车信息”详情回看;阶段仍为派送中,不自动创建退货、恢复库存或确认签收。异常后续处置由人工处理,本轮不新增线上异常闭环。
2026-10-21 资料入口确认:装车中、装车后从“管理资料”打开整车五张照片;有效排车在派送中、配送完成统一从“管理资料”居中弹框进入,签收文件、装车资料两个页签;2026-10-22 暂隐藏油耗图片上传和展示入口,原图片、版本及历史保留;按本车真实关联派送单及客户范围切换。签收文件与 BOL 复用派送单原附件记录;排车装车资料只维护整车共用的五张照片,不再同时显示另一套派送单装车照片上传框。派送单既有附件仍可从派送单资料入口查看,当前页签的上传类别统计只包含该页签内容。签收文件保存即沿现行逻辑完成对应派送单,全车全部正常签收才汇总配送完成;其他资料后补,不作为完成门禁。车辆与司机审核附件只读回看,油耗图片按车复用车队附加照片、版本及历史;保留原油耗接口的dispatch:list读取、dispatch:edit上传权限,当前排车页面不挂载油耗框,不改变车队原独立权限。外配任务原入口仍只输出五个装车框,但共享记录允许排车入口补充油耗图片;不复制派送签收文件为车队照片,不新增状态或数据库表。
2026-10-21 资料入口确认:装车中、装车后从“管理资料”打开整车五类资料;有效排车在派送中、配送完成统一从“管理资料”居中弹框进入,签收文件、装车资料两个页签;2026-10-22 暂隐藏油耗图片上传和展示入口,原图片、版本及历史保留;按本车真实关联派送单及客户范围切换。签收文件与 BOL 复用派送单原附件记录;排车装车资料只维护整车共用的五类资料,不再同时显示另一套派送单装车照片上传框。派送单既有附件仍可从派送单资料入口查看,当前页签的上传类别统计只包含该页签内容。签收文件保存即沿现行逻辑完成对应派送单,全车全部正常签收才汇总配送完成;其他资料后补,不作为完成门禁。车辆与司机审核附件只读回看,油耗图片按车复用车队附加照片、版本及历史;保留原油耗接口的dispatch:list读取、dispatch:edit上传权限,当前排车页面不挂载油耗框,不改变车队原独立权限。外配任务原入口仍只输出五个装车框,但共享记录允许排车入口补充油耗图片;不复制派送签收文件为车队照片,不新增状态或数据库表。
2026-10-21 本轮登记契约:`POST /api/platform/v1/last-leg/dispatches/{dispatchNo}/exceptions`,动作`MARK_EXCEPTION`,`recordVersion/idempotencyKey/exceptionType`必填;`returnDirection/description/imageFileIds`选填。说明最多1000字、图片最多20张;异常图片类型`OVERSEAS_DISPATCH_EXCEPTION_EVIDENCE`,平台0、本车ID归属,非空JPG/PNG、单文件10MiB。主表新增可空`exceptions_json`,与原版本、历史、命令账本同事务保存;代码及基线已准备,未执行SQL或部署。
@@ -36,7 +38,7 @@
2026-10-21 区域入口确认:智能排车新建选货删除查询区的海外仓选择,仅保留“全部/洛杉矶/纽约”。候选接口 `warehouseId` 可选,不传时按区域做数据库分页、计数;指定仓的已有排车和预约消费者保持单仓查询。首个选中来源决定草稿真实起运仓,草稿建立后按该仓读取并禁止切换至其他区域混仓;全部表示该草稿仓的全部候选。未确定起运仓且区域匹配多个仓时不能提前创建服务器车辆容器,先选货再确定仓。空单没有来源可推断仓,其起运仓放入排车设置内选择。创建、锁货和转换的同仓约束保持不变。
9. 车辆和司机既可从已有档案选择,也允许临时填写外配车辆和司机;临时填写不伪造车辆或司机档案关联,不自行创建主档。
10. 后台确认装车完成必须以PDA真实拣货核平为前提。后台不提供替代PDA的拣货数量补录来绕过此条件;PDA和后台均可确认装车完成;两端可在装车中同步上传五张装车照片,由服务端在装车与资料均完成时自动发车。
10. 后台确认装车完成必须以PDA真实拣货核平为前提。后台不提供替代PDA的拣货数量补录来绕过此条件;PDA和后台均可确认装车完成;两端可在装车中同步上传五类装车资料,由服务端在装车与资料均完成时自动发车。
11. 用户随后澄清本次“新增预约”是预约日历的功能需求,先与本批排车改造分开整理。本批不新增日历预约创建或独立约车流程;排车保留已有FBA预约关联;用户随后对车辆预约权威来源问题答复“那就不要”,因此排车取消车辆预约字段、关联操作及公开协议,不再等待或新建该权威提供者。此前确认的先保存后关联意见保留为日历需求输入,不作为本批扩大实现范围的授权。
12. 用户进一步明确“本批支持整托同车”:两张换标单已合到同一实托时,整托进入同一排车主单,物理托盘及容量只计一次,各换标单的箱数、客户及扫码归属分别保留。不得只装第一来源、借第一客户承载其他来源,或把同一实托拆成两张排车绕过排他占用;此确认取代该场景的待决定状态及仅作前置拦截的候选方案。
13. 用户进一步确认:换标已由客户确认完成、关联出库单尚未扫码时,只取消本次出库安排,保留已完成的换标成果,退回待安排。不得将已确认换标申请一并作废;取消须清除本次有效出库关联,保持真实客户、原换标成果及重新安排资格。此规则不放开已扫码取消或新增回库流程,整车取消仍遵循既有阶段、版本和零扫码门禁。2026-10-21 用户确认排车安排与货物事实分离:整车取消只撤销本车运输安排、预约分配及逻辑/物理占用,恢复本车换标预占,不改变货物实收、库存或已完成换标成果;未实收计划无需实托,已有实托也不重新按当前库存数量、来源组成或装车资格校验取消。取消仍先锁本车原换标申请及原实托串行点,并保留版本、装车前、零真实扫码、无有效出库及车队未执行门禁;扫码、装车和发运继续使用原严格货源校验。