--- 日期: 2024-04-10 16:39 来源: 测试 --- # 问题详情 www.wangyitest3.com 测试过程发现,非首次开通过程中,验收反馈时间和域名表的计费时间不符。 # 处理过程 测试第二天又复现问题。 对比日志的执行顺序,发现主现成均一样。在鹏豪的提醒下发现了信安的异步执行逻辑存在不一样的情况。 开始对我进行执行流程的引导。在信安处存在如下的逻辑先将库种查询出来了: ![](../../../../attachment/images-paste/image-20240412185214152.png) 而这时候如果此次存储的时机在计费字段入库之后,那么就会造成值被刷新为了旧字段,或者直接将就字段更新进去了。 计费字段刷新位置如下: ```java com.cmcc.cdn.platform.selfservice.service.impl.BssManageServiceImpl#updateProducts ``` ![](../../../../attachment/images-paste/image-20240412185418847.png) > 鹏豪建议: > 咱们 portal 项目里尽量少用这种自定义 sql 更新数据,因为这种方法更新数据后,JPA 是不能及时感知到的,通过 JPA 查询到的数据还是旧数据,如果再次通过 JPA save 后新数据将会被旧数据覆盖 > ![](../../../../attachment/images-uuid/902bd017150a4d709f19543262c749b9.png) > 方案: > ![](../../../../attachment/images-paste/image-20240412185820970.png) 我这边查询后的方案: ![](../../../../attachment/images-uuid/83b4ed220e2f4c4a831b71f6512bceec.png) # 总结 问题待验证。 1. 排查问题应当进行与正常场景的对比,当发现大部分一样时,应当对不一样的地方进行联想分析。 2. 不要陷入框架就是对的误区,应加深对框架的理解和使用能力。