抖音开发对接之订单取消消息
目录
前言
一、抖音开发中的订单取消消息
二、抖音运营反馈的业务需求分析
三、整体的业务开发思路
四、订单取消消息的代码开发
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.售后消息的使用 2.实时保存抖音平台过来的售后消息 3.具体的订单业务处理 总 ...
- 抖音关注对方显示服务器打瞌睡了,抖音关注了对方又取消了有显示吗
类型:图形图像大小:512KB语言:中文 评分:10.0 标签: 立即下载 抖音使用中用户看到喜欢的创作者,是可以选择关注对方的,关注后可以便捷查看对方的动态,那抖音关注了对方又取消了有显示吗,西西小 ...
- 抖音开发 发布内容至抖音H5
开发流程可以查看官网文档 H5 发布 Schema 直接上代码 /*** H5发布Schema-生成url*/public String getSchemaUrl() {try {String non ...
- 差点跳起来了~全靠这份999页Java面试宝典,我刚拿到抖音开发岗的offer
今年的面试比往年要难得多,各个互联网企业对于Java岗位的要求越来越多,也越来越高,主要是初级岗位已经趋近饱和,但高级岗位又相对来说缺乏,这类的人才偏少,因此作为Java开发人员,我们应该思考的是怎么 ...
- 顺丰丰桥接口开发-java(订单取消接口)
订单取消接口,咨询了顺丰公司,下单后不取消也没什么问题,不过为了自己的业务系统的完整性,我们还是需要弄的.取消的xml没有那么复杂,偷懒就不搞java类了,直接替换相关数据提交,操作看之前的文章. & ...
- 抖音开发平台发私信给用户
文章目录 一.申请接收私信权限 申请步骤 1.在这个页面中进行权限申请,需要通过认证的企业号才能获得申请权限的资格 2.获取私信的code码 3.获取access_token 4.对用户进行私信 ap ...
- 使用抖音开发工具真机调试Android可以,而ios不行,而预览可以
首先检查抖音版本是否太低咯, 其次是点击真机调试,点击切换至旧版真机调试即可
- 抖音矩阵号系统搭建之企业号私信功能开发
功能介绍 本文档面向期望以open_api的形式接入抖音企业私信能力(eg.企业号收发消息,消息卡片等)的第三方 Scope: enterprise.im 需要申请权限 需要用户授权 该接口用于主动发 ...
- 弘辽科技:抖音电商,一场标准的「字节」式战役
抖音电商的急速增长,再次向外界展示了一座高速运转的流量机器,如何在明确既定战略后,凭借极强的掌控力迅速攻城略地.这背后既有抖音的中心化能力.巨量引擎的流量商业化能力,也有字节系的2B能力与快速迭代能力 ...
最新文章
- EmEdit选择多行内容
- Velocity配置优化
- ASP.NET Core实现类库项目读取配置文件
- 【Tiny4412】烧写Uboot到EMMC
- rfc 查看工具_用于系统管理员的杀手级工具,Skype替代品,提高Linux技能,6个必读的RFC等
- 设计模式---面向对象的设计原则概述
- Linux网络实时流量监测工具iftop的安装使用
- ArrayList和数组之间的一些转换
- 微信浏览器跳转浏览器下载app解决方案
- Android SDK 环境变量配置
- 公路建设项目管理软件
- ae中合成设置的快捷键_提升AE效率的20个快捷键
- ACM1880魔咒词典
- 糟糕!我的服务器CPU被黑客挖矿了
- 深度学习入门-神经网络
- 有哪些值得推荐的找电子书的网站?
- mysql允许外网访问配置
- android里面字体的设置,Android中字体设置Font
- 3000万存款的陈奕迅哭穷,真不是无病呻吟!
- JAVA多线程终止线程、退出线程、Interrupt()方法、苦逼的搬砖工
热门文章
- 服务器管理器角色怎么修复,服务器管理器打开角色、功能出错
- 2001-2022年全国各城市气温数据(逐日、逐月、逐年)
- red hat linux改中文,Red Hat 英文版改中文,安装拼音输入法
- android listview 刷新数据,ListView中notifyDataSetChanged()刷新数据不更新原因分析
- 实时监听文本框输入 oninput、onchange与onpropertychange事件的用法和区别
- java计算机毕业设计图书馆座位预约管理系统源代码+数据库+系统+lw文档
- CAS单点登录原理(包含详细流程,讲得很透彻,耐心看下去一定能看明白!)
- Java向上转型和向下转型
- 美团面试,问了ThreadLocal原理,这个回答让我通过了
- android ftp service 自动启动失败,从Android模拟器中的本地FTP服务器下载时出现错误“ 227进入被动模式” /“连接被拒绝”...