# ARR 自动取数交付与生产启用说明 交付日期:2026-09-18。状态:**开发收尾完成,生产配置和真实数据验收待完成。** 用户已确认日期选择交互可用,并说明当前测试环境没有可用于验收的数据。 ## 完成的产品流程 选择一天 → 从 OHIP 获取到店预订和关联资料 → 按既有规则筛选、去重、定价 → 生成日报 → 入库后自动更新月报 → 下载处理后的报表。 - 自动入口覆盖15个业务字段、8个查询接口;Trace按约定不获取。 - 直接处理接口数据,不生成中间XML;原人工XML上传入口保留。 - 日期选择、运行中预选、任务状态、重复提交保护和原任务恢复已实现。 - 缺少定价资料进入原有价格复核;影响处理的必需字段缺失或存在无法确定的候选时提示异常。 - 本机模拟已覆盖日报、复核、入库、月报、报表下载及断线恢复;用户确认日期交互验收通过。 字段:[对接表](../ARR_OHIP_FIELD_MAPPING.md)。产品使用:[直接数据入口](../arr_web/DIRECT_DATA_ENTRY.md)。 ## 正式启用必须完成的配置 | 项目 | 当前边界及启用要求 | |---|---| | 酒店与平台 | 当前本机是OHIPSB02沙箱。生产须由平台完成正式Oracle环境/酒店的路由和授权;本地hotel-id仅校验返回酒店,不能把沙箱接口切成生产接口。 | | 应用身份 | 当前客户端固定平台`https://ohip.nianxx.cn`及应用`caller_zloxalzsQ9pYsztt`。如生产改用其他平台或新应用,需适配并验证固定身份配置;替换一份不同身份的密钥文件会被拒绝。 | | 读取权限 | 现沙箱所需权限已补齐。生产应用须覆盖预订、档案、团队、房间历史及套餐8个操作;现有配置需求包含reservations.read、profiles.read、blocks.read、configuration.read。保留平台已授其他权限,不盲目覆盖权限集。 | | 数据库 | 在已具备018的目标库上应用019;既有迁移及运行配置要求隔离库名`booking_test`。若正式环境使用其他库名,先适配和验证数据库边界,不能直接删除保护或假设已有兼容。 | | 自动取数入口 | 标准启动器支持三个OHIP参数,现有基础Compose尚未传入,部署时须明确加入。仅按基础Compose启动会保留原处理入口而不启用自动取数。 | | 凭据和持久数据 | 挂载正式凭据目录,并为任务/原始数据配置仓库外的持久目录。目录0700、凭据文件0600,属主为实际运行用户;容器须按容器UID准备属主。凭据只读挂载,任务目录可写,不能放临时目录或镜像内。 | | 月报与报表存储 | 复用正确配置的数据库和OSS,独立月报worker须由进程管理器持续运行。网页可访问、Web健康检查成功不等于月报worker已启动。 | 当前固定平台/应用身份和数据库名称均保留原有边界,本次收尾没有放宽它们。 正式环境参数尚未提供,本次没有部署、修改平台路由、数据库迁移、重启或新增取数。 ## 启动对照 沿用[部署说明](README.md)的登录、数据库、OSS和HTTPS配置,为Web添加以下三个参数: ```text --ohip-hotel-id <平台实际返回的正式酒店ID> --ohip-credential-file <容器或主机内的正式凭据文件绝对路径> --ohip-state-root <仓库外的私有持久目录绝对路径> ``` 三个参数必须一起提供,并保留`--enable-processing`。Compose部署需同时更新Web的command与凭据/状态目录挂载;仅在环境文件填写变量不会被当前启动器自动读取。 新正式环境使用新任务目录,不能复制沙箱队列、原数据或未完成任务;目录绑定酒店、平台、应用及处理规则。 月报另按部署说明运行`python -m monthly_reports.worker --output-root /app/outputs/monthly_reports`并配置持续监管。 `--enable-monthly-generation`是另一个手动生成入口,不替代自动月报worker。 数据库019的升级/回退文件位于`database/019_ohip_data_source.sql`和对应`.down.sql`。 先检查现有版本、备份和副本验证,再在正式启用窗口升级;已经有JSON来源记录时回退会被保护机制拒绝。 ## 有真实数据后的首日验收 这一步待数据可用并明确开始验收后执行,本次不发起查询: 1. 选一个有到店记录的日期,确认来自正确酒店、范围完整,15字段的空值/缺失/候选状态符合实际。 2. 完成原有处理;若缺价则完成复核,再核对日报记录、金额和原有业务规则。 3. 确认月报自动更新,页面能够下载日报及月报,文件内容和汇总一致。 4. 确认刷新/断线后能恢复原任务,重复继续不会重复入库。 完成这些检查后,才可把状态更新为“生产验收通过”。真实字段缺失、名称多候选、历史换房或生产取数规模可能需要依据实际返回继续适配。 ## 收尾检查与已知验证范围 - 先前直接处理验收:220项相关检查及5项JS检查,包含独立本机PostgreSQL和模拟页面全流程,详见[记录](../.project-docs/50-evidence/topics/2026-09-18-arr-direct-processing.md)。 - 最新日期修复:9项JS与27项Python检查、用户原页面实点和用户确认,详见[记录](../.project-docs/50-evidence/topics/2026-09-18-arr-calendar-selection.md)。 - 本次收尾:2项部署入口检查通过,标准启动帮助确认三个OHIP参数可用。 - 处理器`.zip`及`.skill`各8个关键文件与源码逐字节一致,两包SHA-256均为`feea915e7db49365f9139af8e236440038fe1d5099faf9c096e9bb3fa0f62436`。 - 本机没有Docker命令,本次未构建或启动生产镜像;正式主机部署验证待执行。 - `.zip/.skill`是处理器包,完整Web交付还包含项目源码、数据库019及运行配置,不能只上传处理器包来启用自动下载。