重构优化第三方查询接口返回大数据量的分页问题

# 问题描述
     用户线上查询其上网流量详单数据加载慢,且有时候数据没有响应全~
     1、经排除是调用第三方数据量达10w条响应会超时,数据没正常返回
     2、现有线上缓存分页也是加载慢数据不能正常展示
     3、第三方接口返回类似报文jsonj:
     重构优化第三方查询接口返回大数据量的分页问题_第1张图片
    4、我们要返回页面的报文json:
    重构优化第三方查询接口返回大数据量的分页问题_第2张图片

# 解决方案:
>    第1种方案:历史遗留问题,第三方提供的接口是一次性返回数据,没考虑到用户查询一个月的数据量会超过几万条,所以我们作为调用方也只能通过redis缓存然后前端递归分页加载所有数据展现~
> 代码示例:
重构优化第三方查询接口返回大数据量的分页问题_第3张图片
       第1种方案若第三方接口返回的数据量少,线上一直正常呈现给用户数据;某天某个用户查询数据上万条返回然后问题暴露了,问题1、第三方接口超时失败(咱不通过协同系统解决问题);2、前端在递归查询缓存所有的数据加载慢用户体验非常差‘。
因为是线上问题,尽量避免前端修改最少化,只能通过后端接口来解决,通过原有业务流程及代码的解读,第三方接口最新版本也有兼容分页调用,但是没法同步分页的,其分页返回的数据达不到我们现有线上前端展示的结构要求,要按日期yyyy-MM-dd分开分组,只能重构优化;
第2种方案:

重构优化第三方查询接口返回大数据量的分页问题_第4张图片

页面最终类似截图显示结果:

重构优化第三方查询接口返回大数据量的分页问题_第5张图片

你可能感兴趣的:(java,重构)