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

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. 分享自己写的一个.net方法缓存源码

    在服务器性能优化中,我们更多的是要考虑到缓存的使用,分享一个自己编写的方法缓存的框架,使用非常方便.话不多说,先上使用例子: 1.定义要使用缓存的类及方法: public class Example ...

  2. 引用provinces.js的三级联动

    第一次写随笔   应该写的不是太好   请多多见谅 我这次是在网上发现了一个三级联动    也是给新人一个福利 这个是你需要新建个 JavaScript 文件  并复制到你新建的文件里面 var pr ...

  3. java程序调用CMD命令启动tomcat替换环境变量

    出现问题: 此时不应有 Files\Java\jdk1.8.0_92\bin\java.exe""(本地未出现问题,服务器环境出现) 出现原因: 1:环境变量JAVA_HOME配置 ...

  4. 5分钟解决google play上架App设置隐私政策声明问题

    本文同步自javaexception 问题: 在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会 ...

  5. MongDB集群容灾方案步骤

    MongoDB复制集优/特点支持大数据量.高扩展性.高性能.灵活数据模型.高可用性.同步机制数据复制的目的是使数据得到最大的可用性,避免单点故障引起的整站不能访问的情况的发生,Mongodb的副本集在 ...

  6. Liunx小白须知

    最近在学习Liunx,从装虚拟机到敲命令出了一些问题,95%的问题从搜索引擎都可以找到.本来想写个虚拟机安装步骤结果忘记截图了,不过没事,网上一大把.写写博文勒就是记录下自己的成长,虽然现在还是个小白 ...

  7. Vue2.x源码学习笔记-Vue源码调试

    如果我们不用单文件组件开发,一般直接<script src="dist/vue.js">引入开发版vue.js这种情况下debug也是很方便的,只不过vue.js文件代 ...

  8. PMBook - 6.项目进度管理

      6.3 排列活动顺序 6.3.1 排列活动顺序:输入 6.3.1.1 项目管理计划 6.3.1.2 项目文件 6.3.1.3 事业环境因素 6.3.1.4 组织过程资产 6.3.2 排列活动顺序: ...

  9. 使用 coverlet 查看.NET Core应用的测试覆盖率

    代码覆盖(Code coverage)是软件测试中的一种度量,描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率. Visual Studio 2017的企业版可以直接查看测试的代码覆盖率, ...

  10. .NET Core TDD 前传: 编写易于测试的代码 -- 单一职责

    第1篇: 讲述了如何创造"缝".  "缝"(seam)是需要知道的概念. 第2篇, 避免在构建对象时写出不易测试的代码. 第3篇, 依赖项和迪米特法则. 第4篇 ...