if (StringUtils.startsWith(order.getOrderNo(),OrderNoUtil.SBK_ORDER_PRE)) { McOrder mcOrderVO = mcDonaldOrderDao.queryMcDeliveryOrder(order.getOrderNo()); if (ObjectUtil.isNull(mcOrderVO)) { return new SimpleMessage(ErrorCodeEnum.NO, "获取麦当劳订单失败"); } } if(StringUtils.startsWith(order.getOrderNo(), OrderNoUtil.MC_ORDER_PRE)) { StarbucksOrder sbkOrderVO = starBucksOrderDao.querySbkDeliveryOrder(order.getOrderNo()); if (ObjectUtil.isNull(sbkOrderVO)) { return new SimpleMessage(ErrorCodeEnum.NO, "获取麦当劳订单失败"); } } 优化代码
时间: 2024-04-08 18:33:42 浏览: 102
Java List集合返回值去掉中括号('[ ]')的操作
代码可以进行如下优化:
```java
String orderNo = order.getOrderNo();
if (StringUtils.startsWith(orderNo, OrderNoUtil.SBK_ORDER_PRE)) {
McOrder mcOrderVO = mcDonaldOrderDao.queryMcDeliveryOrder(orderNo);
if (ObjectUtil.isNull(mcOrderVO)) {
return new SimpleMessage(ErrorCodeEnum.NO, "获取麦当劳订单失败");
}
} else if(StringUtils.startsWith(orderNo, OrderNoUtil.MC_ORDER_PRE)) {
StarbucksOrder sbkOrderVO = starBucksOrderDao.querySbkDeliveryOrder(orderNo);
if (ObjectUtil.isNull(sbkOrderVO)) {
return new SimpleMessage(ErrorCodeEnum.NO, "获取星巴克订单失败");
}
}
```
这段代码的优化主要包括:
1. 将 `order.getOrderNo()` 的结果保存到一个变量 `orderNo` 中,避免多次调用 `getOrderNo()` 方法。
2. 使用 `else if` 来避免重复判断条件。
3. 错误信息中的 "获取麦当劳订单失败" 修改为 "获取星巴克订单失败",以对应不同的条件分支。
注意:这只是一种可能的优化方案,具体的优化方式还需要根据实际需求和代码结构进行评估和调整。
阅读全文