0)、表结构优化
停车订单表:去掉paid_amount和busness_amount等金额,只保留总金额,应付金额,停车时长,计费时长
添加表停车消费日志表:日志编号(主键),停车订单编号,业务类型(车币支付;微信支付;支付宝支付;商户减免;优惠券抵扣;储值卡支付),金额,日志时间
1)、识别车牌
车主出停车场,摄像头识别到车牌,岗亭端向服务器发送出场消息。
2)、处理出场信息
a)更新订单数据;b)停车id和车牌号查询出停车信息,然后计算停车时长,计费时长,总费用,应收费用;c)根据车主id查询账户余额,对比车主账户余额与停车应收费用,若大于或等于则为自动支付,反之则为非自动支付。(此处优化,发送入场数据至rabbitmq消息队列)
3)、处理支付信息
a)自动支付,系统自动扣除用户车币;b)非自动支付,(岗亭端线下支付,点击放行;车主app端线上支付;微信公众号端线上支付);c)添加支付日志(停车订单与支付日志为1对多关系,1一个订单可能支付两次,如优惠券和支付宝组合支付的情况;优惠券和现金支付组合支付)(此处优化,发送支付数据至rabbitmq消息队列)
4)、消息定义
出场数据格式:停车场id,车牌号,时间戳
支付数据格式:订单号,支付机制(自动支付or非自动支付),支付类型(组合支付用分隔线:支付宝|车币|优惠券),附加参数,时间戳
备注:队列先进先出的原则进行处理。
网友评论