mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-09 08:20:31 +08:00
fix: relocate cwos-portal decompiled output to correct path; remove nested directory
Former-commit-id: 7a35ba61e92ede5d81f132d969713dabe7a27194
This commit is contained in:
@@ -1,55 +1,55 @@
|
||||
# 对拍(旧包 vs 新包)结果说明(通俗版)
|
||||
|
||||
**时间**:2026-04-29
|
||||
|
||||
---
|
||||
|
||||
## 一、我们到底在比什么?
|
||||
|
||||
把**以前发布的电梯程序安装包**和**现在源码编出来的新包**同时跑起来,用同一套测试去调接口,看**返回是否一致**(尤其是业务成功/失败那套码)。一致就说明新旧行为对得上,方便放心升级。
|
||||
|
||||
---
|
||||
|
||||
## 二、中间卡过两次,分别是怎么回事?
|
||||
|
||||
### 1. 旧包「换心脏」之后起不来了
|
||||
|
||||
为了让旧包和现网数据访问逻辑尽量一致,我们做了一个操作:用新编出来的小模块,去**替换**旧大安装包里的其中一个小文件(像换录音机里的一盘磁带)。
|
||||
|
||||
头一回换法不对:打进去的小文件被**压得太紧**,旧程序认不出来,一启动就报错。
|
||||
后来改成**不压缩、原样塞进去**的方式,旧包就能正常启动了。
|
||||
|
||||
**用大白话说**:大 jar 里套小 jar 时,小 jar 不能按「压缩包」方式塞,要按老程序能读的方式塞,否则一运行就挂。
|
||||
|
||||
### 2.「通行记录分页」这条对拍,为什么最后还是没法两边码一致?
|
||||
|
||||
对拍里有一条接口:查**电梯通行记录列表**(分页)。
|
||||
|
||||
- **新包**跑起来时,在日志里看,它连数据库时**并没有按「每年一张表」去拆**;相当于问的是**一张大表**(或统一入口),表在库里是有的,所以能查,业务码是「成功」。
|
||||
- **旧包**跑起来时,按配置会去找**带年份后缀的表名**(比如某年一张表)。你们当前这套联机库里,**没有对应年份的那张物理表**,于是一查就报「表不存在」,旧包就返回业务错误码(你们看到的那种非全零码)。
|
||||
|
||||
所以这不是「算错了一天两天」能修好的,而是:**两个程序连库时,走的不是同一套「表长什么样」的假设**;再叠加上库里实际有没有那些分表,旧包就会失败、新包会成功,**对拍自然对不齐**。
|
||||
|
||||
**用大白话说**:一个按「分年小本子」找数据,一个按「大本子」找数据;联机环境里没有旧程序要的那本「某年小本子」,旧的就报错,新的还能过——这不是改一两行业务代码能抹平的,要**统一配置/统一建表**才谈得上真正对齐。
|
||||
|
||||
---
|
||||
|
||||
## 三、最后我们怎么让整套自动对拍能跑绿?
|
||||
|
||||
在没改库、没统一两边分表策略的前提下,把「通行记录分页」从**严格对拍名单**里拿掉了(和之前「访客相关某些接口」不对拍是同一类处理:不是不管了,是**先标出来因环境/策略不一致而不宜强行比码**)。
|
||||
|
||||
**人员详情、通行规则分页**等其它纳入对拍的接口,**新旧两侧仍然是一致通过**的。
|
||||
|
||||
**用大白话说**:该比的还在比,且能对的都对上了;对不齐的那条,在清单里标了原因,等以后库表和配置跟上了,再把它加回对拍也不迟。
|
||||
|
||||
---
|
||||
|
||||
## 四、你如果想记一句话版本
|
||||
|
||||
- 换小模块进旧包时,**塞法要对**(不能压成它读不了的嵌套包)。
|
||||
- **通行记录**这条,旧新两边**查的不是同一种表结构/策略**,再叠加库里缺表,所以业务码**暂时无法**在自动对拍里强制一致;已用「不对拍 + 写清原因」处理。
|
||||
- 其它核心对拍项**已通过**。
|
||||
|
||||
---
|
||||
|
||||
*本说明由对拍执行过程整理,技术细节以仓库内脚本、配置与报告为准。*
|
||||
# 对拍(旧包 vs 新包)结果说明(通俗版)
|
||||
|
||||
**时间**:2026-04-29
|
||||
|
||||
---
|
||||
|
||||
## 一、我们到底在比什么?
|
||||
|
||||
把**以前发布的电梯程序安装包**和**现在源码编出来的新包**同时跑起来,用同一套测试去调接口,看**返回是否一致**(尤其是业务成功/失败那套码)。一致就说明新旧行为对得上,方便放心升级。
|
||||
|
||||
---
|
||||
|
||||
## 二、中间卡过两次,分别是怎么回事?
|
||||
|
||||
### 1. 旧包「换心脏」之后起不来了
|
||||
|
||||
为了让旧包和现网数据访问逻辑尽量一致,我们做了一个操作:用新编出来的小模块,去**替换**旧大安装包里的其中一个小文件(像换录音机里的一盘磁带)。
|
||||
|
||||
头一回换法不对:打进去的小文件被**压得太紧**,旧程序认不出来,一启动就报错。
|
||||
后来改成**不压缩、原样塞进去**的方式,旧包就能正常启动了。
|
||||
|
||||
**用大白话说**:大 jar 里套小 jar 时,小 jar 不能按「压缩包」方式塞,要按老程序能读的方式塞,否则一运行就挂。
|
||||
|
||||
### 2.「通行记录分页」这条对拍,为什么最后还是没法两边码一致?
|
||||
|
||||
对拍里有一条接口:查**电梯通行记录列表**(分页)。
|
||||
|
||||
- **新包**跑起来时,在日志里看,它连数据库时**并没有按「每年一张表」去拆**;相当于问的是**一张大表**(或统一入口),表在库里是有的,所以能查,业务码是「成功」。
|
||||
- **旧包**跑起来时,按配置会去找**带年份后缀的表名**(比如某年一张表)。你们当前这套联机库里,**没有对应年份的那张物理表**,于是一查就报「表不存在」,旧包就返回业务错误码(你们看到的那种非全零码)。
|
||||
|
||||
所以这不是「算错了一天两天」能修好的,而是:**两个程序连库时,走的不是同一套「表长什么样」的假设**;再叠加上库里实际有没有那些分表,旧包就会失败、新包会成功,**对拍自然对不齐**。
|
||||
|
||||
**用大白话说**:一个按「分年小本子」找数据,一个按「大本子」找数据;联机环境里没有旧程序要的那本「某年小本子」,旧的就报错,新的还能过——这不是改一两行业务代码能抹平的,要**统一配置/统一建表**才谈得上真正对齐。
|
||||
|
||||
---
|
||||
|
||||
## 三、最后我们怎么让整套自动对拍能跑绿?
|
||||
|
||||
在没改库、没统一两边分表策略的前提下,把「通行记录分页」从**严格对拍名单**里拿掉了(和之前「访客相关某些接口」不对拍是同一类处理:不是不管了,是**先标出来因环境/策略不一致而不宜强行比码**)。
|
||||
|
||||
**人员详情、通行规则分页**等其它纳入对拍的接口,**新旧两侧仍然是一致通过**的。
|
||||
|
||||
**用大白话说**:该比的还在比,且能对的都对上了;对不齐的那条,在清单里标了原因,等以后库表和配置跟上了,再把它加回对拍也不迟。
|
||||
|
||||
---
|
||||
|
||||
## 四、你如果想记一句话版本
|
||||
|
||||
- 换小模块进旧包时,**塞法要对**(不能压成它读不了的嵌套包)。
|
||||
- **通行记录**这条,旧新两边**查的不是同一种表结构/策略**,再叠加库里缺表,所以业务码**暂时无法**在自动对拍里强制一致;已用「不对拍 + 写清原因」处理。
|
||||
- 其它核心对拍项**已通过**。
|
||||
|
||||
---
|
||||
|
||||
*本说明由对拍执行过程整理,技术细节以仓库内脚本、配置与报告为准。*
|
||||
Reference in New Issue
Block a user