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

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. USB总线标准

    1.USB总线类型: OHCI(Open Host Controller Interface)是支持USB1.1的标准,但它不仅仅是针对USB,UHCI(Universal Host Controll ...

  2. 激活效能,CODING 敏捷研发模块上线

    昨晚,巴黎圣母院失火,而我们当中的许多人都还没来得及去欣赏它的真容.我们曾以为美好的事物会等待我们,伟大的目标也会等待我们.世事无常,唯一不变的就是变化.在软件研发领域,敏捷研发就是这么一个小步快跑来 ...

  3. Beyond Compare 3.3.8 build 16340 + Key

    本文摘录自冰点社区:http://forum.z27315.com/topic/14746-beyond-compare-338-build-16340-key/ Download Beyond Co ...

  4. mysql 表结构转excel表格

    最近需要写文档,由于开发模式是先开发后写文档(不想吐槽...),数据库表结构什么的都搞好了,然后写文档的时候需要贴表结构,什么字段,类型,相关说明需要一一对应起来,数据库表10多张,字段又多,手动复制 ...

  5. 使用 .NET Core 开发 BT Tracker 服务器

    一.什么是 BT Tracker ? 在 BT 下载过程当中,我们如果拿到一个种子文件,在其内部会包含一组 BT Tracker 服务器信息.在开始进行下载的时候,BT 下载工具会根据种子内的唯一 H ...

  6. HttpUtil 【判断网络连接的封装类】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 该封装类主要包括以下功能: 判断是否有网络连接.判断是否有可用的网络连接: 判断是否是3G网络.判断mobile网络是否可用: 判断 ...

  7. [深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras 1D卷积 val_acc:0.99780)

    [深度应用]·DC竞赛轴承故障检测开源Baseline(基于Keras1D卷积 val_acc:0.99780) 个人网站--> http://www.yansongsong.cn/ Githu ...

  8. 一套代码小程序&Web&Native运行的探索01

    前言 前面我们对微信小程序进行了研究:[微信小程序项目实践总结]30分钟从陌生到熟悉 并且用小程序翻写了之前一个demo:[组件化开发]前端进阶篇之如何编写可维护可升级的代码 之前一直在跟业务方打交道 ...

  9. C#语法——泛型的多种应用

    本篇文章主要介绍泛型的应用. 泛型是.NET Framework 2.0 版类库就已经提供的语法,主要用于提高代码的可重用性.类型安全性和效率. 泛型的定义 下面定义了一个普通类和一个泛型类,我们可以 ...

  10. Service Worker基础知识整理

    Service Worker是什么 service worker 是独立于当前页面的一段运行在浏览器后台进程里的脚本.它的特性将包括推送消息,背景后台同步, geofencing(地理围栏定位),拦截 ...