一、需求场景:因为目前客户端和平台端有两套数据库,两套数据库通过网络交互信息,且双方都可以发起支付,这种结构容易造成:

1、一笔订单同时支付、一笔订单支付时未按最新订单进行支付,支付多付、支付少付的情况;

2、客户端在加菜,扫码点餐在结账,最终结账金额与订单金额不一致;此类问题不仅对用户使用体验造成影响,更造成很多对账问题,为解决类似以上问题,故做如下改造。

二、需求方案

1、扫码点餐结账时,从客户端拉单获取最新的订单信息,如获取订单失败,则提示用户到前台结账;

2、订单建立三种锁的机制:订单锁,支付锁,预结锁(还未进行联调开发);

三、如何开启锁桌功能和三种锁的具体场景介绍

1、如何开启锁桌功能

管理员后台--配置管理--店铺配置--智能POS,ERP,扫码点餐--是否扫码点餐、客户端订单状态强关联--是

扫码点餐支付锁持续时间:(自定义)

客户端配置:目前仅支持ERP,具体配置参考图一和图二

图一

图二

2、订单锁

使用场景:

扫码下单--ERP接单--ERP端加退菜进入购物车页修改订单,此时这笔订单落订单锁,店内其余ERP副机和C端即H5端可以加菜,不可以支付,H5端和客户端都会给予提示,如图三和图四,但是ERP端点击继续,可以强制解锁进行支付。ERP加退菜完毕,点击落单,订单订单锁解锁,H5端和客户端均可支付

        

图三                                                                                                                                                      图四

3,支付锁--ERP

订单支付时落支付锁(进入收银台/支付页面时),支付锁期间,在其他端,此订单不可修改,不可结账;此时B机器上可以强制解锁(点击结账,弹窗“此订单正在其他机器/顾客端进行结账,现在结账可能导致重复支付,是否确定继续结账?”点击确定,强制解锁进入收银台),强制解锁只能由客户端端发起,H5端不能发起强制解锁;客户端落支付锁时,H5界面提示和客户端界面提示如下图五和图六显示;

                                            

4,支付锁--H5

由H5端发起的支付锁,默认(管理员后台可以配置)只生效15s,15s后,订单支付锁失效,其他端可以进行修改订单、结账;此时H5端如果继续支付,需重新获取订单信息并重新判断订单落锁状态;

扫码点餐订单自动接单时,要判断订单是否落上支付锁,如果订单落上支付锁,则不能接单,toast“订单正在其他机器/顾客端进行支付,暂不能接单,如需接单请先取消支付”;

注意事项:

锁桌功能目前只支持ERP

新老版扫码下单均支持

只支持扫码下单先吃后付

扫码下单与ERP客户端锁桌功能FAQ的更多相关文章

  1. 扫码下单支持同桌单人点餐FAQ

    一.使用场景 满足较多商户希望同一桌台,各自点各自的菜品的业态场景(例如杭味面馆,黄焖鸡米饭店,面馆等大多数轻快餐店) 二.配置步骤及注意事项 管理员后台配置--配置管理--店铺配置--扫码点餐tab ...

  2. VUE新版扫码下单必选分类设置FAQ

    使用场景:商家想要设置某些分类下的商品设置必选,否则不能下单.如某火锅店,商家想要设置汤底这个分类下的商品,顾客扫码下单的时候必须选择一份才能下单,此时 就可以使用这个功能 配置步骤和注意事项如下: ...

  3. 账号配置vue版本的扫码下单以及对店铺进行装修的步骤

    新版vue配置说明文档 管理员后台: 1.配置管理-店铺配置(子账号)-扫码点餐tab页-开启vue版 2.配置管理-店铺配置(主账号)-扫码点餐tab页-开通装修配置 商家后台: 1.主账号-门店设 ...

  4. 扫码下单使用FAQ

    1.适用情景:扫码点餐支付宝支付报错 解决方案:1.检查主账号上口碑授权是否失效.(重新授权) 2.检查主账号上的PID是否绑定.(绑定PID) 注意:1.支付宝扫码进行的扫码下单支持直连支付宝和蚂蚁 ...

  5. android组件化方案、二维码扫码、Kotlin新闻客户端、动画特效等源码

    Android精选源码 CalendarView日历选择器 android下拉刷新动画效果代码 一个非常方便的fragment页面框架 android组件化方案源码 Zxing实现二维码条形码的扫描和 ...

  6. 初涉扫码登录:edusoho实现客户端扫码登录(简版)

    一.项目简介及需求 edusoho是一套商业版的在线教育平台,项目本身基于symfony2框架开发,现在有一款自己的APP,要求在不多修改edusoho自身代码的基础上,实现客户端对PC端扫码登录.不 ...

  7. Python实现支付宝当面付之——扫码支付

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7680348.html 一:配置信息准备 登录蚂蚁金服开放平台:https://open.alipay.com/ ...

  8. 微信支付(PC扫码支付和H5公众号支付)

    最近在做微信支付,微信支付比较坑,官方居然只有.NET.C#.PHP的demo居然没有java的demo.然后微信支付是不提供测试账号的需要直接用正式的公众号.首先来介绍下微信扫码支付吧,微信扫码有两 ...

  9. php实现支付宝在线支付和扫码支付demo

    ### php实现支付宝在线支付和扫码支付demo 背景:在做一个公众号时增加了h5端,需要接入支付,非微信环境,选择了支付宝,以下简单记录下实现过程,并做了简单的封装,拿来即可使用,注意:本项目只是 ...

随机推荐

  1. Spring Boot 2.x整合Redis

    最近在学习Spring Boot 2.x整合Redis,在这里和大家分享一下,希望对大家有帮助. Redis是什么 Redis 是开源免费高性能的key-value数据库.有以下的优势(源于Redis ...

  2. [转]为什么复制构造函数的参数需要加const和引用

    [转]为什么复制构造函数的参数需要加const和引用 一.引言 1.0在解答这个问题之前,我们先跑个小程序,看下调用关系. #include <iostream> using namesp ...

  3. 结合Mybatis源码看设计模式——外观模式

    定义 提供了一个统一的接口,用来访问子系统中一群接口 适用场景 子系统复杂,增加外观模式提供简单调用接口 构建多层系统结构,用外观对象作为每层入口 详解 外观模式,主要理解外观.通俗一点可以认为这个模 ...

  4. geoserver发布mysql表数据

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.环境部署 Geoserver中并不自带mysql数据发布功能,需要下 ...

  5. Git使用详细教程(9):git log

    目录 格式化 检索 显示最近提交 Git中使用git log查看提交日志 如果日志很多的话,默认会以分页方式展示 空格可以翻下一页,ctrl+b翻上一页,q退出 格式化 如果想获取每条日志的简要信息, ...

  6. vmware P2V迁移域内windows服务器脱域问题

    windows 域服务器采用vmware converter进行物理机转换为虚拟机,需要在完成后进行退域重新加域操作. 否则,有可能会出现服务器在30天后脱域情况.出现脱域情况,可以通过退域加域的方式 ...

  7. Markdown工具Atom及基本语法

    下载使用 访问atom.io下载Atom 这里下载的是1.33.1版本 好用的插件包 点击File->Settings->Packages,可以安装指定的插件包. markdown-img ...

  8. 解决ASP.NET Core MVC调试慢的问题

    最近在做的一个项目中,发现网页端同时发起了4个AJAX请求需要数秒才获取到响应,太慢了,当我把请求数降低为1个的时候,速度看起来就比较正常,增加到2个同时的请求后,速度就有些慢了,3个的话就明显慢了, ...

  9. Linux 桌面玩家指南:10. 没有 GUI 的时候应该怎么玩

    特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...

  10. Python中的音频和数字信号处理(DSP)

    翻译自Python For Engineers. 1. 创建一个正弦波 在这个项目中,我们将创建一个正弦波,并将其保存为wav文件. 但在此之前,你应该知道一些理论. 频率:频率是正弦波重复一秒的次数 ...