假设我刚才乘坐694路公交车,使用实体公交卡,上车刷卡,下车忘记刷了。我现在换乘603路,按照规则,应该扣除我694的全程无折扣费用,请问如何实现的?(卡机如果联网那就简单了,但是卡机脱网的时候呢?)
猜测:前提如上+卡机脱网
按照现有的计价方式,费用计算应该与车辆无关,而与线路和上下车站牌位置有关。
上车刷卡会在卡上写下一条乘车记录,记录内容如下:日期1(解决跨天问题),线路id1,站点id1,全程费用,处理标识
下车刷卡时:读取上一条或未处理的写卡记录与当前记录对比,如果日期1=日期2,线路id1=线路id2,扣除费用:|站点id2-站点id1|×单价。如果日期1≠日期2或者线路id1≠线路id2,则扣除全程费用,同时更新第一条记录标识或者覆盖。
ps:这个站点id,应该是里程数吧,要不然怎么判断10公里以内收2块钱呢?