dFinishOrder
2015-12-30 15:43:04 0 举报
dFinishOrder是一个用于处理订单完成状态的函数或方法。它通常在电子商务网站、餐厅点餐系统或其他需要跟踪订单状态的场景中使用。通过调用dFinishOrder,系统可以更新订单的状态为已完成,并将相关信息记录在数据库中。这有助于确保订单的处理和交付过程顺利进行,并为客户提供准确的订单状态信息。dFinishOrder还可以与其他功能模块(如库存管理、支付处理等)进行集成,以实现更高效的订单处理流程。总之,dFinishOrder是一个关键的业务逻辑组件,对于提高订单处理效率和客户满意度至关重要。
作者其他创作
大纲/内容
否
初始化逻辑
15.4根据距离计算长包车抢单数
doFinishOrder
13.解析司机端上报计价信息数据--〉调用方法processPayload
是未完成的企业支付订单
是
企业单不提供代充值
12.1根据extra_type的值确定是调用CityPriceNew还是CityPrice的[按城市代号获取定价配置];写日志
试乘试驾关掉代充值
10.获取订单起点的经纬度(数据来源:数组$aOrderInfo)
普通订单提供代充值
7.判定是否企业级订单(企业帮助叫车)--util.helper中 函数定义判断
4.检查加密订单id是否正确--decodebase64两次看订单id是否正确
5.获取司机传递的各项费用--通过post请求获取
3.判断订单结束城市--根据司机id从ckv中读取
2.检查司机信息--查司机表 g_driver
15.2计价系统小流量
DriverModel-delDriverListenStatusCache删除司机听单状态
开始计费 = 完成订单
流转正常
1.获取相关post请求的参数;检查token或者mis的MD5
OrderAjax-finishOrderAjaxProcessSend订单异步提交
如果不是测试请求,更新订单状态和finish_time即updateDriverState
yes
是试乘试驾支付订单
no
15.其他处理(兼容各种业务场景)
14.将最后一个点写入统计日志文件
提示订单状态流转异常(errmsg:CACHE_CKV_ERROR)
8.检查订单是否所属司机(--订单中的driverId 与ticket 返回的driverId 不匹配 返回errno=3009)
12.获取竞价车型信息及最后一点的计价信息
11.获取订单最后点的经纬度(获取实时计价最后一点左边经纬度--redis中获取);并写日志
19.其他处理:写拼车日志、反作弊上报、给乘客发送消息、返回成功
17.支付处理
Start
9.2组装相关信息写BILL日志
9.检查订单状态转换是否正确(完成订单状态是5;如果未完成则返回errno:2080)
订单状态流转正常errno=0
如果是抢单,并且是范围内当天则抢单数+1;检查是否设置抢单次数限制
18.正常司机完成计费则调用支付push消息;同步结束计费消息入kafka
16.处理完成订单model-Order里面processFinishOrder完成订单和司机迟到计价超过12小时共用
9.1订单状态流转验证(OrderProcess-validOrderState)验证订单状态流转
$this-doFinishOrder(触发完成正常订单、异常订单--乘客迟到、司机计费结束)
15.1如果是企业级订单,使用新的计价系统数据
6.检查订单信息是否存在--读取redis数据判断
End
4.司机结束
0 条评论
回复 删除
下一页