0
点赞
收藏
分享

微信扫一扫

NumPy 中向量化运算的 9 大优势示例

小_北_爸 2024-11-02 阅读 5

来电提醒与客户催单

用户下单并且支付成功后,需要第一时间通知外卖商家。通知方式有:

  1. 语音播报
  2. 弹出提示框

实现步骤:

  1. 通过WebSocket实现管理端页面和服务端保持长连接状态
  2. 当客户支付后,调用WebSocket的相关API实现服务端向客户端推送消息
  3. 客户端浏览器解析服务端推送的消息,判断是来电提醒还是客户催单,进行相应的消息提醒和语音播报
  4. 约定服务端发送给客户端浏览器的数据格式为JSON,字段包括:type,orderId,content
    type为消息类型,1为来单提醒 2为客户催单
    orderId为订单ID
    content为消息内容

来电提醒

OrderServerImpl

    @Autowired
    private WebSocketServer webSocketServer;
    /**
     * 支付成功,修改订单状态
     */
    @Override
    @Transactional
    public void paySuccess(String outTradeNo) {

        // 根据订单号查询订单
        LambdaQueryWrapper<Orders> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(Orders::getNumber, outTradeNo);
        Orders ordersDB = orderMapper.selectOne(queryWrapper);

        // 根据订单id更新订单的状态、支付方式、支付状态、结账时间
        Orders orders = Orders.builder()
                .id(ordersDB.getId())
                .status(Orders.TO_BE_CONFIRMED)
                .payStatus(Orders.PAID)
                .checkoutTime(LocalDateTime.now())
                .build();
        orderMapper.updateById(orders);

        //通过WebSocket向客户端发送消息 type , orderId ,content
        Map map = new HashMap();
        map.put("type", 1);//1表示来单提醒
        map.put("orderId", ordersDB.getId());
        map.put("content", "订单号: " + outTradeNo + " 有新订单,请及时处理!");

        String json = JSON.toJSONString(map);
        webSocketServer.sendToAllClient(json);
    }
举报

相关推荐

0 条评论