抖音开发对接之订单取消消息
创始人
2024-01-18 06:46:40

目录

前言

一、抖音开发中的订单取消消息

二、抖音运营反馈的业务需求分析

三、整体的业务开发思路

四、订单取消消息的代码开发

1.订单取消消息的使用

2.实时保存抖音平台过来的订单取消消息

3.具体的订单业务处理

总结


前言

       这里主要是介绍一下抖音开放平台的这个消息退款的实际使用开发,抖音开发平台提供了一个实时退款的消息推送功能,那这时,我们需要对接这个推送功能,它如何通知到对接的系统里面就很关键,如果不通知到位的话,会造成我们的商品损失,因为不通过消息传递到我们的系统里面的话,那么我们的系统就会默认这个订单是整单发货出去的,那么物流就会整单发货出去,但这人家家已经退款了的,如果在整单发货出去,就是我们商家的损失了。

      所以,实时的退款消息通知我们自研系统就显得很重要了。

一、抖音开发中的订单取消消息

 买家发起订单取消消息:doudian_trade_TradeCanceled

这里先讲述一下消息的message,首先,它会触发的场景有如下:

1、货到付款订单且订单状态为「待确认」,买家和商家可取消订单

2、货到付款订单且订单状态为「备货中」,买家、商家和平台客服可取消订单

3、货到付款订单且订单状态为「已发货」,物流状态为拒收或退回

4、在线支付订单且订单状态为「待付款」,买家可取消该订单

5、在线支付订单因风控取消后

消息过来的整体数据参数如下:

  这个是data里面所包含的参数如下:

 在这里,我们主要是要用到父订单id

二、抖音运营反馈的业务需求分析

需求分析如下:
      1. 第1种场景:
                             订单未被拉取到数据库中,在平台上仍然是“待发货”的状态, 客户已经取消整个订单;
         解决方案:消息通知,查询订单表,如果没有查询到该订单号,则代表该订单还没拉入到数据库内,则消息无需处理,那最后,在抖音订单拉单这一个环节,需要设置过滤掉已退款状态的订单即可。
       2.第2种场景:
                           订单已经被拉取到数据库中,但是物流快递单号还没回传,在平台上仍然是“待发货”的状态,客户已经取消整个订单:
           解决方案:消息通知,查询到该订单,如果该订单已经推送到物流系统发货了,则发短信通知到抖音运营人员,人工拦截物流;如果该订单还没有推送到物流系统发货,则调用物流系统的相关接口,取消出库操作等等。
 

三、整体的业务开发思路


 最终方案:
                1.先开发消息推送的功能,先把过来的消息保存在第三方消息表中
                 2. 然后开启异步操作,在实时查询订单表,是否有该订单号,如果无,无需处理
                 3.如果有,则判断该订单是否已经推送到物流系统发货,如果无,则调用物流相关的接口,取消出库
                 4.如果有,则发短信通知抖音运营人员,人工拦截物流发货等操作。

四、订单取消消息的代码开发

1.订单取消消息的使用

代码如下(示例):

    /*** 接收抖音第三方开发平台推送过来的订单取消消息* @param httpRequest* @return*/@ApiOperation(tags = "TiktokEkOrder", value = "getDoudianEkShopDataPush", httpMethod = "POST",notes = "接收抖音第三方开发平台推送过来的消息")@AllowAnonymous@ResponseBody@PostMapping(value = "/getDoudianEkShopDataPush")public DoudianEkPushResult doudianEkShopDataPush(HttpServletRequest httpRequest) {DoudianEkPushResult result = tiktokEkOrderBiz.doudianEkShopDataPush(httpRequest);return result;}

2.实时保存抖音平台过来的订单取消消息

代码如下(示例):

 public DoudianEkPushResult doudianEkShopDataPush(HttpServletRequest httpRequest){DoudianPushResult result = new DoudianPushResult();String msgId = pushDataTestList.get(0).getMsgId();try {DoudianPushMessage pushMessage = DoudianUtils.getPushMessage(httpRequest, APP_SECRET, APP_KEY);
//                logger.info("获取到抖音售后订单消息:" + pushMessage);if (!pushMessage.isSuccess()) {
//                    logger.error("接收抖音第三方开发平台推送过来的消息 解析推送数据失败");result.setCode(40041);result.setMsg("解析推送数据失败");} else if (DoudianUtils.isEmpty(pushMessage.getData())) {result.setCode(40041);result.setMsg("解析推送数据为空");
//                    logger.error("接收抖音第三方开发平台推送过来的消息 解析推送数据为空");} else {logger.info("接收抖音第三方开发平台推送过来的消息 请求体;{}", Jack.toJson(pushMessage.getData()));//存储消息操作// TODO  消息if(pushMessage.getData().get(0).getTag().equals("106")) {TiktokMsgNotifyBean tiktokMsgNotifyBean = new TiktokMsgNotifyBean();tiktokMsgNotifyBean.setMsgType("106");                    // 取消订单类型消息tiktokMsgNotifyBean.setMsgContent(pushMessage.getBody());  // 消息体tiktokMsgNotifyBean.setProcResult("20");                   // 待处理状态Integer a = tiktokMsgNotifyService.save(tiktokMsgNotifyBean);logger.info("新增了" + a + "条消息");}List pushDataList = pushMessage.getData();// 业务处理createThead(pushDataList);        // java 异步处理// 接收处理成功result.setCode(0);result.setMsg("success");
//                        logger.info(" 接收抖音第三方开发平台推送过来的消息 接收处理成功");}// 回复抖音返回来的推送消息return result;} catch (Exception e) {// 接收处理失败result.setCode(40044);result.setMsg("接收处理失败消息");}return result;}

3.具体的订单业务处理

通过查询第三方消息表,遍历订单取消消息,获取到订单取消消息data数据,然后转化成java对象,在进行具体的业务处理

代码如下(示例):

ListtiktokMsgNotifyBeans=tiktokOrderService.findTiktokMsgNotifyBeans();   // 查询抖音消息表for(int i = 0; i pushDataList = getDatas(body);for (DoudianPushData pushData : pushDataList) {if ("106".equals(pushData.getTag())) {try {logger.info("获取到抖音取消订单消息106:" + pushData.getTag());DoudianTradeTradeCanceled106 tradeTradeCanceled106 = pushData.toObject(DoudianTradeTradeCanceled106.class);BizAssert.isTrue(tradeTradeCanceled106 != null, "接收抖音第三方开发平台推送过来的消息 消息体 TAG106 转Objecct失败");// 具体业务处理} 


总结

       这里主要是介绍一下抖音开放平台的这个消息退款的实际使用开发,抖音开发平台提供了一个实时退款的消息推送功能,那这时,我们需要对接这个推送功能,它如何通知到对接的系统里面就很关键,如果不通知到位的话,会造成我们的商品损失,因为不通过消息传递到我们的系统里面的话,那么我们的系统就会默认这个订单是整单发货出去的,那么物流就会整单发货出去,但这人家家已经退款了的,如果在整单发货出去,就是我们商家的损失了。

       所以,实时的退款消息通知我们自研系统就显得很重要了。

上一篇:风景不错

下一篇:绿城病归

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
苁蓉的食用方法 鲜苁蓉的吃法有... 肉苁蓉号称“温而不热,补而不峻,暖而不燥,滑而不泄,故有从容之名。”历来也是传统药食同源的滋补佳品。...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
阳澄湖在哪里哪个省的 阳澄湖是... 点击题目下方苏州生活指南有用 有趣 有态度近期的阳澄湖度很高,3月24日,央视二套《第一时间》直播连...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...