目录
一、前言
由于之前微信支付阶段的代码开发没有企业认证不能完成,所以我跳过了微信支付。然后在学习Day10的来单提醒的业务开发出现了几个问题。后来发现是因为跳过了微信支付,所以如果直接按照视频导入代码的话会出现没有来单提醒框和声音的情况。这个博客记录一下跳过支付后的来单提醒开发调整以及相关问题的解决办法
二、调整
如果是按照我之前跳过支付的教程操作的话,要把WebSocket向客户端浏览器推送消息的代码放到payment方法的如下位置处(视频中是放到了paySuccess方法中,我一开始跟着做发现既没有提示框也没有声音,才想起来我们是跳过了支付直接判断成功的)

导入的代码如下
//通过WebSocket向客户端浏览器推送消息 type orderId content
Map map = new HashMap();
map.put("type", 1); //1表示来单提醒 2表示客户催单
map.put("orderId", this.orders.getId());
map.put("content", "订单号:" + this.orders.getNumber());
String json = JSON.toJSONString(map);
webSocketServer.sendToAllClient(json);
三、相关问题解决
首先来单提醒测试成功的前提是在控制台中能看到IDEA控制台中输出成功连接(我并没有遇到这个问题,正常来说跟着操作应该没问题)

在微信小程序点单支付,测试成功的话苍穹外卖的前端页面会出现待接单的弹窗出现在右上角(这个弹窗不会马上消失的,点单支付完再来看是绝对来得及的,只要点到前端页面没看见就是测试失败,回头检查一下是不是哪里没按操作来)

测试成功的另一个标志是有声音提醒(记得把电脑声音打开,带着耳机的话声音别开太大),如果遇到有弹窗但是没听到声音的话,就把项目重新启动,把浏览器的前端页面直接叉掉重新点开登录,微信小程序重新编译再试几次(我用的是chrome浏览器也没设置过什么,这样重新搞一次就有声音了)。实在没有就过了吧,反正有弹窗就肯定表示测试是通过的
最后,如果出现一直有声音的话,记得把之前讲解websocket的案例的WebSocketServe的@Scheduled注解注释掉
