请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

订单状态问题

一哥好,我们遇到个问题,想要优化下
是这样的,我在做一个类似于订单状态查询的需求,就是请求一个API,返回给我一系列订单状态信息,比如APP下单→APP渠道下单(这里的渠道比如oppo渠道,华为渠道等等)→服务器下单→支付成功️→商品发货,当然也有下单失败,下单取消等等

那么在这期间,也会出现很多种情况,比如在这期间下单期间出现服务器下单失败或者取消,那么我要根据这个订单所经历的整个流程,做出一种订单步骤图,根据订单状态数据呈现出来。

那么问题来了,我应该怎么根据返回的订单状态来达到效果。我这边目前只是通过lambda遍历整个list,在循环里面进行一个一个if判断,但我感觉这种实现有点臃肿,我该如何去优化呢

给个图,方便理解下
图片描述

正在回答 回答被采纳积分+3

1回答

张勤一 2021-07-08 16:46:46

同学你好:    

    针对你这里的问题,或者说是一个业务场景,可以考虑将这个过程以状态为 key,订单 id 为 value 构造一个 Map<状态, Set<订单>>,那么,其实:

    (1)状态肯定是可以枚举出来的,所以,你只需要 for 循环一遍所有的状态,然后读取各个状态对应的 Set<订单>

    (2)那么,有这个状态就有对应的订单信息,没有的话,就进入到下一个状态

    这样的过程会比单纯的 if、else 之类的要简单清晰很多。

1 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信