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

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. 你需要知道的这几种 asp.net core 修改默认端口的方式

    一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望 被框架所管制,那如何实现默认端口的修改 ...

  2. c#在pictureBox控件上绘制多个矩形框及删除绘制的矩形框

    在pictureBox上每次只绘制一个矩形框,绘制下一个矩形框时上次绘制的矩形框取消,代码如链接:https://www.cnblogs.com/luxiao/p/5625196.html 在绘制矩形 ...

  3. 用python复制图片、视频

    图片复制 f_src = open('1.jpg','rb') content = f_src.read() f_copy = open('1-副本.jpg','wb') f_copy.write(c ...

  4. 关于mui前端传值,springboot后台接收值的问题

    最近做app,使用mui的ajax给后台传参,后台一直接收不到值,表示很蛋疼.这里通过网上搜索加上个人实践,总结归纳了三种前端传值和后台接收的方式. 第一种: 前端: data: JSON.strin ...

  5. react native中使用echarts

    开发平台:mac pro node版本:v8.11.2 npm版本:6.4.1 react-native版本:0.57.8 native-echarts版本:^0.5.0 目标平台:android端收 ...

  6. centos7 ambari安装HDP

    环境介绍:操作系统为Centos7.1:测试设备全部为内网设备,不通公网,所以需要配置本地yum源: 首先安装ansible工具,用来批量安装ambari.java以及基础的一些配置: 一. 免密钥登 ...

  7. 使用bat脚本永久激活Windows系统

    每次重装完系统后,右下角会提示系统未激活,无法进行一些个性化设置. 在这里我自己写了一个bat脚本用于激活Windows系统.(仅供学习) 文件下载: 链接:https://pan.baidu.com ...

  8. Git来操作GitHub~

    设置用户名(设置一次 以后就不用再设置了) git config --global user.name 'taopanfeng' 设置邮箱(设置一次 以后就不用再设置了) git config --g ...

  9. 一句话HTML编辑器

    一句话HTML编辑器 data:text/html,<body oninput="i.srcdoc=h.value"><style>#i{width:70% ...

  10. [Swift]LeetCode1036.逃离大迷宫 | Escape a Large Maze

    In a 1 million by 1 million grid, the coordinates of each grid square are (x, y) with 0 <= x, y & ...