是否有必要将三方订单 API 的最后一次有效响应结果保存下来?
业务逻辑问题
我们程序的业务逻辑中,经常需要获取三方订单数据。很长一段时间,经常困扰我们的问题是,业务逻辑经常发生变化,但三方平台只能获取某一段时间内的订单数据。这导致历史数据在业务逻辑发生变化时,很难再找到当时的数据进行调整。
当然,这里只提到了订单,其他单据和内容也会有相同的问题。但他们都具备相同的特征:
- 有唯一识别标识,如:订单 ID 或 页面路径;
- 在一段时间内内容会发生变化,如:订单状态 或 页面修改;
- 在更长的时间内数据不再发生变动,但会被归档导致无法访问;
解决方案
是否需要将这部分接口或页面响应的结果,随业务处理过程,在验证有效之后进行存储。比如:
在三方订单数据表中单独准备一些字段来存储三方订单接口响应的最后一次订单数据、订单优惠数据、订单物流数据 和 订单收货数据。
这边能在需求发生变动,且当三方平台无法获取这部分历史数据的时候进行数据更新或相关业务逻辑的处理。
在这方面我能想到的一些问题:
- 三方平台接口响应逻辑升级,导致历史数据不兼容;
- 己方业务逻辑变动导致采用新的一组接口或页面;
问题1只能从处理逻辑上进行兼容,问题2可能对业务变动前的数据就没有什么好办法了。
我想问问大家都是采用什么方案来处理这种问题的,有没有更好的解决方案。
推荐文章: