System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网约车,具体涉及一种提高用户按行程开票效率的方法。
技术介绍
1、在网约车平台的流程中,用户在行程结束后支付完订单,用户可以在历史开票订单中进行开发票的需求,开发票的数据主要涉及几个方面的数据:订单基本信息(例如上下车地址,用车时间)与结算相关的信息(例如可开票金额,订单是否已开票),其中订单信息存在订单系统,结算信息存于计费系统,现有的技术方案:
2、1)用户可以通过乘客端通过用户id查询线上订单表中历史完单记录;
3、2)在通过订单号批量请求计费系统获取结算信息:结算金额,可开票金额;
4、3)开发票需要与第三方服务上对接,每次开完发票后回调更新订单标记:是否开过发票,完成整个开票过程;
5、技术缺陷:
6、现在的主流网约车平台由于每日下单量和历史订单的积累,存储数据会越来越多,以日均千万下单增量,涵盖所有用户的历史可开票订单,时间阔度非常大,经过几年的积累,线上订单表数据量级基本在上亿级别甚至十亿级;
7、在此背景下,随着线上订单表数据量的增多,会导致用户在开票过程中,查询可开票行程列表会出现数据库查询的慢查询或者性能瓶颈;
8、针对开票这个业务,开票信息查询只需要知道订单上下车点,用车基本信息与开票金额数据即可,但是线上订单表会由于业务需求新增字段,这样线上订单表字段会越来越多,大数据表在频繁增减字段会导致行程开票的稳定性受到影响,同时每次开票请求都需要批量查询计费系统,也大大增加了计费系统的压力。
9、为此,本
技术实现思路
1、本专利技术的目的在于提供一种提高用户按行程开票效率的方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种提高用户按行程开票效率的方法,s1:网约车平台入口用户下单,输入上下车地址和用车时间进行费用预估;
3、s2:平台代理层组装下单信息请求订单系统;
4、s3:订单系统下单成功,生成订单,同时与预估key绑定,返回给平台代理层订单号;
5、s4:平台代理层接受订单系统返回的订单号,组装派单信息请求派单;
6、s5:派单系统接受到派单请求,开始筛选司机;
7、s6:筛选到司机后进行司机绑单;
8、s7:司机滑动开始服务出发前往预定上车点,司机完成服务请求计费系统;
9、s8:计费收到完成请求,根据实际里程和实际时长及其他费用项,生成账单;
10、s9:用户支付订单,支付完成,更新订单状态;
11、s10:发送支付订单mq消息,通过rocketmq发送消息;
12、s11:历史开票行程数据按月分表;
13、s12:写入开票数据表;
14、新用户开票流程操作步骤:
15、a1:网约车平台入口用户发起可开票列表查询请求,用户勾选开票订单;
16、a2:开票灰度开关,是否开启走新流程;
17、a21:否,则请求线上订单表,获取完成的行程列表数据;
18、1)请求计费系统:获取发票状态status和可开票金额applyamount;
19、2)该订单是否已开票;
20、是,则该订单已开票,流程结束;
21、否,则根据发票数据表金额applyamount开票,请求第三方服务开票成功,更新发票状态status;
22、a22:是,则请求新的开票数据表,根据请求时间定位当前年月编号nextmouth;
23、1)根据nextmouth定位到指定行程开票分表;
24、2)该订单是否已开票;
25、是,则该订单已开票,流程结束;
26、否,则根据发票数据表金额applyamount开票,请求第三方服务开票成功,更新发票状态status;
27、a3:流程结束。
28、优选的,步骤s10中,mq消息包含账单明细项及订单可开票金额applyamount,订单号orderno,用户id,预定上下车点,用车时间bookingdate,status是否已开票。
29、优选的,步骤s2中,下单信息包含:网约车平台订单号,城市,上下车经纬度,预约用车时间,乘车人基本信息。
30、优选的,开票数据表历史数据定时任务写入;上线前的准备:用定时任务形式将历史数据从线上订单表按预约用车时间按月分表把可开票的订单写入开票数据表,保证灰度开关开启后,开票数据表中的数据可以满足业务开票需求。
31、优选的,步骤a22中,查询条件为:用户iduserid和开票状态status均显示未开票状态,获取发票状态status和可开票金额applyamount。
32、与现有技术相比,本专利技术的有益效果是:通过增加开票数据表,将数据在用户支付完成时,聚合开票相关数据到开票数据表,可以避免由于线上数据表的数据累计而带来的查询效率问题,按月份分表可以大大降低单表数据量,提高开票的查询效率;将数据进行按月分表,可以解决历史订单积累的问题,减少单表的数据量;在开票过程中,可以不用请求计费系统,对计费系统的压力也会得到大幅降低。
本文档来自技高网...【技术保护点】
1.一种提高用户按行程开票效率的方法,其特征在于:开票数据聚合流程操作步骤:
2.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:步骤S10中,MQ消息包含账单明细项及订单可开票金额applyAmount,订单号orderNo,用户ID,预定上下车点,用车时间bookingDate,status是否已开票。
3.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:步骤S2中,下单信息包含:网约车平台订单号,城市,上下车经纬度,预约用车时间,乘车人基本信息。
4.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:开票数据表历史数据定时任务写入;上线前的准备:用定时任务形式将历史数据从线上订单表按预约用车时间按月分表把可开票的订单写入开票数据表,保证灰度开关开启后,开票数据表中的数据可以满足业务开票需求。
5.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:步骤A22中,查询条件为:用户IDuserId和开票状态status均显示未开票状态,获取发票状态status和可开
...【技术特征摘要】
1.一种提高用户按行程开票效率的方法,其特征在于:开票数据聚合流程操作步骤:
2.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:步骤s10中,mq消息包含账单明细项及订单可开票金额applyamount,订单号orderno,用户id,预定上下车点,用车时间bookingdate,status是否已开票。
3.根据权利要求1所述的一种提高用户按行程开票效率的方法,其特征在于:步骤s2中,下单信息包含:网约车平台订单号,城市,上下车经纬度,预约用车时间,乘车人基本信...
【专利技术属性】
技术研发人员:赵雨,
申请(专利权)人:首约科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。