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

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. 补习系列(16)-springboot mongodb 数据库应用技巧

    目录 一.关于 MongoDB 二.Spring-Data-Mongo 三.整合 MongoDB CRUD A. 引入框架 B. 数据库配置 C. 数据模型 D. 数据操作 E. 自定义操作 四.高级 ...

  2. java之servlet入门操作教程一续

    本节主要是在java之servlet入门操作教程一  的基础上使用myeclipse实现自动部署的功能 准备: java之servlet入门操作教程一 中完成myFirstServlet项目的创建: ...

  3. JavaScript 原型的深入指南

    摘要: 理解prototype. 原文:JavaScript 原型的深入指南 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 不学会怎么处理对象,你在 JavaScript 道路就就走 ...

  4. css实现发光文字,以及一点点js特效

    效果图: 代码如下: </head> <style> body{ background-color:#000; } .textArea{ font-size:100px; co ...

  5. java.lang.UnsatisfiedLinkError:dlopen failed: “**/*/arm/*.so” has unexpected e_machine: 3

    转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10458448.html 今天在做APP的时候使用so库,可结果一加载so库的时候便发生了这个莫名其妙的错 ...

  6. Android For OpenCV的环境搭建

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 C++ 类 ...

  7. emacs 高亮

    用途:让某个单词高亮显示 1,安装 m-x 回车,输入list-packages 在列表中找到highlight-symbol后,鼠标点击它,再点击安装 2,在.emacs中配置 ;;高亮 (requ ...

  8. 转://IO的基础概念

    磁盘IO.网络IO 对磁盘的每个IO就是在磁盘与一些RAM单元之间相互传送一些相邻的扇区的内容.   磁盘IO延时(IO Latency):         也称为IO响应时间,是指内核对磁盘发出一个 ...

  9. vi/vim 添加或删除多行注释

    进入vi/vim编辑器,按CTRL+V进入可视化模式(VISUAL BLOCK)    移动光标上移或者下移,选中多行的开头,如下图所示   选择完毕后,按大写的的I键,此时下方会提示进入“inser ...

  10. React 基础入门

    React 起源于 Facebook 内部项目,是一个用来构建用户界面的 Javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组 ...