目录

前言

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

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

三、整体的业务开发思路

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

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<DoudianPushData> 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对象,在进行具体的业务处理

代码如下(示例):

List<TiktokMsgNotifyBean>tiktokMsgNotifyBeans=tiktokOrderService.findTiktokMsgNotifyBeans();   // 查询抖音消息表for(int i = 0; i<tiktokMsgNotifyBeans.size(); i++ ){String body = tiktokMsgNotifyBeans.get(i).getMsgContent();List<DoudianPushData> 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失败");// 具体业务处理} 

总结

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

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

抖音开发对接之订单取消消息相关推荐

  1. 对接抖音开发之售后消息实时通知订单部分退款

    目录 前言 一.抖音开发中的售后消息 二.抖音运营反馈的业务需求分析 三.整体的业务开发思路 四.售后消息的代码开发 1.售后消息的使用 2.实时保存抖音平台过来的售后消息 3.具体的订单业务处理 总 ...

  2. 抖音关注对方显示服务器打瞌睡了,抖音关注了对方又取消了有显示吗

    类型:图形图像大小:512KB语言:中文 评分:10.0 标签: 立即下载 抖音使用中用户看到喜欢的创作者,是可以选择关注对方的,关注后可以便捷查看对方的动态,那抖音关注了对方又取消了有显示吗,西西小 ...

  3. 抖音开发 发布内容至抖音H5

    开发流程可以查看官网文档 H5 发布 Schema 直接上代码 /*** H5发布Schema-生成url*/public String getSchemaUrl() {try {String non ...

  4. 差点跳起来了~全靠这份999页Java面试宝典,我刚拿到抖音开发岗的offer

    今年的面试比往年要难得多,各个互联网企业对于Java岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Java开发人员,我们应该思考的是怎么 ...

  5. 顺丰丰桥接口开发-java(订单取消接口)

    订单取消接口,咨询了顺丰公司,下单后不取消也没什么问题,不过为了自己的业务系统的完整性,我们还是需要弄的.取消的xml没有那么复杂,偷懒就不搞java类了,直接替换相关数据提交,操作看之前的文章. & ...

  6. 抖音开发平台发私信给用户

    文章目录 一.申请接收私信权限 申请步骤 1.在这个页面中进行权限申请,需要通过认证的企业号才能获得申请权限的资格 2.获取私信的code码 3.获取access_token 4.对用户进行私信 ap ...

  7. 使用抖音开发工具真机调试Android可以,而ios不行,而预览可以

    首先检查抖音版本是否太低咯, 其次是点击真机调试,点击切换至旧版真机调试即可

  8. 抖音矩阵号系统搭建之企业号私信功能开发

    功能介绍 本文档面向期望以open_api的形式接入抖音企业私信能力(eg.企业号收发消息,消息卡片等)的第三方 Scope: enterprise.im 需要申请权限 需要用户授权 该接口用于主动发 ...

  9. 弘辽科技:抖音电商,一场标准的「字节」式战役

    抖音电商的急速增长,再次向外界展示了一座高速运转的流量机器,如何在明确既定战略后,凭借极强的掌控力迅速攻城略地.这背后既有抖音的中心化能力.巨量引擎的流量商业化能力,也有字节系的2B能力与快速迭代能力 ...

最新文章

  1. EmEdit选择多行内容
  2. Velocity配置优化
  3. ASP.NET Core实现类库项目读取配置文件
  4. 【Tiny4412】烧写Uboot到EMMC
  5. rfc 查看工具_用于系统管理员的杀手级工具,Skype替代品,提高Linux技能,6个必读的RFC等
  6. 设计模式---面向对象的设计原则概述
  7. Linux网络实时流量监测工具iftop的安装使用
  8. ArrayList和数组之间的一些转换
  9. 微信浏览器跳转浏览器下载app解决方案
  10. Android SDK 环境变量配置
  11. 公路建设项目管理软件
  12. ae中合成设置的快捷键_提升AE效率的20个快捷键
  13. ACM1880魔咒词典
  14. 糟糕!我的服务器CPU被黑客挖矿了
  15. 深度学习入门-神经网络
  16. 有哪些值得推荐的找电子书的网站?
  17. mysql允许外网访问配置
  18. android里面字体的设置,Android中字体设置Font
  19. 3000万存款的陈奕迅哭穷,真不是无病呻吟!
  20. JAVA多线程终止线程、退出线程、Interrupt()方法、苦逼的搬砖工

热门文章

  1. 服务器管理器角色怎么修复,服务器管理器打开角色、功能出错
  2. 2001-2022年全国各城市气温数据(逐日、逐月、逐年)
  3. red hat linux改中文,Red Hat 英文版改中文,安装拼音输入法
  4. android listview 刷新数据,ListView中notifyDataSetChanged()刷新数据不更新原因分析
  5. 实时监听文本框输入 oninput、onchange与onpropertychange事件的用法和区别
  6. java计算机毕业设计图书馆座位预约管理系统源代码+数据库+系统+lw文档
  7. CAS单点登录原理(包含详细流程,讲得很透彻,耐心看下去一定能看明白!)
  8. Java向上转型和向下转型
  9. 美团面试,问了ThreadLocal原理,这个回答让我通过了
  10. android ftp service 自动启动失败,从Android模拟器中的本地FTP服务器下载时出现错误“ 227进入被动模式” /“连接被拒绝”...