错误场景描述:现在在我的预约订单里面截止日期明明已经超过了当前时间却还显示,这个时候正常逻辑是只显示在历史订单中的。
错误归因:关于下面这段查询中 这一组条件加上()与不加上括号天差地别,也是导致业务错误的原因。
解决办法: 标红的条件加上(),此时截止入场时间超过当前时间的预约订单就没有在预约订单出现了,而只出现在历史订单中(也就是过期订单)
SELECT ro.*, pa.location, pl.place_code, pl.floor, pa.lng AS parkingLng, pa.lat AS parkingLat
FROM reserve_order ro LEFT JOIN parking pa
ON ro.parking_id = pa.id LEFT JOIN place pl
ON ro.place_id = pl.id
WHERE ro.del_flag = '0'
AND (ro.create_by = '13986915552' OR ro.ordering_user = '13986915552' )
AND ro