携程订单二开原创
金蝶云社区-Molly_1
Molly_1
11人赞赏了该文章 124次浏览 未经作者许可,禁止转载编辑于2024年06月27日 09:27:31

    携程的订单接收通过两个接口共同实现,第一个接口为订单更新由携程主动推送订单信息后触发,用来更新除金额外的字段,如订单状态、订单入住、航班等信息。第二个接口为T+2更新接口,实际请求的是携程的结算信息接口,可以更新除订单使用状态外的全部字段。


    在做订单的二开时要搞清楚需要对哪个接口进行二开,如果需要二开的内容和金额有关那一定要做T+2 接口的二开。

二开方式

一、订单更新二开

    请求接口为/switchapi/Order/SearchOrder

  1.  继承标准插件kd.fi.er.business.trip.supplier.ctrip.invoke.CTripOrderInvoke,重写父类方法完成二开,在服务商设置扩展插件中将二开插件进行注册。image.png

    image.png

  2. 扩展机票订单增加需要接收的字段

  3. 继承CTripOrderInvoke类,实现handlePlaneOrderExtCovert(List<AbstractOrderModel> planeOrderModels, JSONObject planeOrderJsonInfo)方法(机票酒店火车用车均有类似方法名可以查看抽象类AbstractOrderInvoke找到);planeOrderModels为标准构造完成的订单Model对象List集合,遍历得到订单的Model对象进行处理。如果是接收增加的二开字段,见下图代码示例。image.png

二、订单T+2二开

    订单T+2请求的是携程的结算明细查询接口,比如机票的是/switchapi/FlightOrderSettlement/GetCorpAccountFlightOrderSettlements?type=json

    二开方式与订单更新二开类似,将继承的类换成CTripOrderUpdateInvoke重写handlePlaneOrderExtCovert等方法即可。

    注册在服务商设置扩展插件时注意选择订单t+2功能。(6.0.5之后的版本才支持订单t+2二开image.png

赞 11