bug产生时间:15:46
背景:当一个用户有多个订单线路时,第N个订单取第N个线路的明细打印,那么会出现三种情况:
订单数量大于线路数量
订单数量小于线路数量
订单数量等于线路数量。
代码如下:
int i = 2
EntityWrapper<xxx> wrapper = new EntityWrapper<>();
wrapper.orderBy("depart_time,create_time");
List<xxx> list = Mapper.selectList(wrapper);
if (CollectionUtils.isNotEmpty(list)) {
if (i <= list.size()) {
xxx = list.get(i - 1);
} else {
xxx = list.get(list.size() - 1);
}
}
排查过程:
也就是说用户在第一时间打印的数据不是数据库的数据,按着自己想像的数据进行打印,并在一段时间后修改为自己想要的数据,这里存在逻辑缺失,或者提示不明确,后期进行评审处理,但排查过程颇为辛苦,因为逻辑都正确的情况去排查不正确,本身就非常疑惑。至此bug顺利排查完毕。