Files

5.0 KiB

三亚旅游统计管理系统 syly2

本仓库从 2026-10-29 交接包的外层 Maven 工程建立维护基线。原始清单的 5,302 个文件已逐一核验 SHA-256,与当天构建使用的原始输入清单一致。该核验针对交接源码;编译兼容修正和 UAT 运行副本的部署调整另见下文。

入库版本包含已验证的三处 Java 8/Linux 编译兼容修正:POM 使用平台路径分隔符,两个统计 Controller 删除未使用的 JDK 内部类导入。数据库备份、历史 target、内层重复工程及真实凭据不进入仓库。

构建

需要 JDK 8、Maven 3.9.11。原工程包含 6 个中央仓库缺失的旧组件,脚本将交接 JAR 安装到项目专用 Maven 仓库,再编译 WAR:

export JAVA_HOME=/absolute/path/to/jdk8
export PATH="$JAVA_HOME/bin:$PATH"
bash scripts/build.sh

可通过 MVN=/absolute/path/to/mvn 指定 Maven,通过 MAVEN_REPO_LOCAL=/absolute/path/to/repository 指定依赖缓存。输出为 target/syly.war。脚本显式跳过原有测试编译和执行;这些历史测试含外部系统访问,不能作为离线单元测试运行。src/main/com 沿用原 POM,不属于主编译源码根。

部署配置与密钥

入库前移出了数据库、邮件、短信及诊断工具中的硬编码凭据,RSA 私钥和 AES 密钥改由 RuntimeSecrets 读取。配置模板位于 config/secrets.example.properties,支持同名环境变量,或 SYLY_SECRETS_FILE / JVM 参数 -Dsyly.secrets.file=/absolute/private/path 指向的私有 properties 文件。环境变量优先;必需密钥缺失时明确报错,不自动生成替代密钥。

历史数据必须使用原 AES 密钥;当前前端公钥要求原 RSA 私钥配对。 这些值从原交接配置经私有渠道取得,本次没有轮换密钥。私有配置应保存在仓库和 WAR 外,限制为运行用户可读。邮件、短信为空时须继续禁用相关外部任务。

src/main/resources/dbconfig.properties、sysConfig.properties 与 zzc/zzc_database.properties 是去除凭据的配置基线;部署前在运行副本中配置实际数据库/邮件连接。默认外部接口指向本地禁用地址。Druid 监控 Servlet 按此前 UAT 的做法移除。

ops/uat-build、ops/uat-deploy 保存此前 UAT 的操作脚本与说明,含当次路径和原始产物哈希检查。它们是历史复现资料,不是当前仓库 WAR 的直接发布命令。现有 UAT 未被本次入库操作更新。

UAT 页面标记与版本关系

UAT 登录页上的 [UAT] 和“UAT 隔离测试环境 · 数据来自备份 · 外部上报已禁用”由 prepare-runtime.py 在部署时写入。脚本先解压已验证的 WAR,再修改部署目录下的 runtime/webapp/webpage/login/login.jsp:给页面标题添加 [UAT] 前缀,并在 <body> 后插入 isolated-uat-banner 横幅。

2026-10-29 核对结果如下:

文件版本 登录页状态
原始交接源码 标题为“登录”,没有 UAT 标记;文件哈希与原始清单一致
首次入库提交 da8224e 的 login.jsp 与原始交接登录页哈希一致,没有 UAT 标记
当天 UAT 部署运行副本 部署脚本修改了 JSP,加入标题前缀和环境提示横幅

“原始交接目录未改动”不表示 UAT 运行文件未改动。 当天部署还在运行副本中替换了数据库连接、禁用了外部接口和定时任务、调整了日志及 web.xml,并加入 UatGuardFilter。这些部署调整可从 ops/uat-deploy 追溯;修改后的运行文件未直接作为应用源码入库。

首次入库之前没有可用的 Git 提交历史;原始源码通过文件清单核对,部署修改通过脚本和留存验证记录追溯。常规 Maven 构建不会自动添加上述 UAT 页面标记。发布或复现环境时,应同时核对源码版本、WAR 和部署脚本,不能仅凭页面标记判断源码提交是否变化。

源码接手分析

源码接手分析报告 包含原始交接包盘点、技术架构、主要业务、风险证据和建议验收顺序;源码副本差异清单 保存原始内外层源码的路径及 SHA-256 对比。

报告分析对象是 2026-10-29 的原始交接包。后续入库已完成编译兼容修正和凭据迁出,详见下方验证记录;报告中的原始问题与首轮“未构建”等状态应结合后续记录阅读。

验证范围

见 验证记录 和 docs/evidence/。此前 UAT 已通过编译、部署、登录及基础页面检查,但仍存在旧 JavaScript 报错和菜单内嵌页面切换问题;全量报表、业务填报、附件及省级接口尚未验收。

入库时 UAT 网络不可达,因此对凭据移出后的版本执行本地 Java 8 编译和离线加解密兼容检查,不能将此前 UAT 运行结果视为当前提交的完整运行验收。