连不上服务端&无法登陆问题排查:
1查看远端服务端ip地址,ping是否通过
2是否正确选择节点、数据库用户名、密码等
3查看服务端BPBackgroundServer是否启动,查看BPBackgroundServerLog.txt,查看日志是否收到来自于客户端的请求;查看服务端是否崩溃
4查看BpWatchDog是否启动,BpWatchDog.txt日志,是否连续自动重启
5查看客户端的config.ini文件服务端ip、节点是否正确;是否有连锁总部配置,并且总部是否正确
6查看客户端的ClientInterfaceLog.txt,从后往前看,哪一步失败了,经常有会员分类拉取失败
7查看客户端的SpecPriceLog.txt日志,是否促销同步失败了
8查看LocalCache.db文件,每一个文件是否有数据,特别是xjl_syncStatus表的syncStatus字段是否为1,如果为0,表示同步离线数据失败,无法进入收银主界面
9查看是否安装360等安全软件,有时候qq软件,没有安装防火墙,但是qq软件都会自动安装防火墙;查看进程列表
10查看客户端日志,从api-ali.liantuofu.com/open/login,开始,所有的日志接口请求和返回,是否有失败
11 查看BPServerConfig.ini,是否做了跳转
12 服务端是否部署在云端,并且云端的端口么是否开放18900端口
13 服务端是否安装科迈等软件,会拦截我们的接口,导致无法连接
清台慢
1 开启了本次积分、总积分,请查看下面” 积分不对或不积分 “
2 打印设备慢,尝试关闭打印
3 客显问题,配置了客显,但是实际又么有客显
4 查看ClientInterfaceLog.txt,查看支付接口、insert into XJL_Details接口慢、 查询会员、会员算积分&总积分(设置中开启了打印积分)、写本地库Sync Sql慢、流水完整性查询xjl_pr_flowing_water等问题
扫码商品,相应慢
1确定下,是扫码的数字到输入框慢,还是输入很快,接口相应慢
2如果扫码数字输入很快, 扫一个商品,马上打开ClientInterfaceLog.txt,看最后几行的日志,接口名:xjl_pr_rm_get_item_info_new,查看请求和响应应时间的查,是不是太长
促销不生效
1 自有软件,尝试是否生效
2 打开SpecPriceLog.txt(不带数字的,这个文档是最新的,如SpecPriceLog.1.txt是之前的拉取促销的文档)日志是否报错,查看拉取的条数,是否和后台sql数据库中的xjl_specPriceDNew一致; 查看日志:{"operatorID": "10","SQLLIST" : [{"SQL": "exec xjl_pr_exec_sql ' select TOP 5000 * from xjl_specPriceDNew where right(convert(char(10), startDate, 121), 10) <= right(convert(char(10), getdate(), 121), 10) and right,这个是实时生效的数据,条数是否正确。
3 打开LocalCache.db,查看xjl_syncStatus表的syncStatus字段是否为1,查看xjl_promotionLocal里面是否有和xjl_specPriceDNew一致
4 如果是单品优惠、时段优惠、件数特价、偶数特价等针对单个商品的优惠,直接测试SpecPriceLog.txt里,返回的数据,是否有不生效的这个商品itemno
5 是否是新建的促销,没有拉取(每隔5分分钟拉取一次、支付一单会拉取一次、整单作废也会拉取)
6 把所有的促销的json,拷贝出来,仔细查看没有生效原因
7 商品促销,是否有限量,已经达到了限量
8 先找到原有软件应该生效,但是没有生效的,促销单号。在促销接口返回的数据,查找是否存在该促销单号,如果不存在,找sql适配原因,如果存在,把这个促销单,对应json数据,拷贝出来,分析对应的数据
9称重商品的话,是否设置中勾选了,”使用条码价格“
下单后,订单列表能看到订单列表,但是看不到详情
1 搜索Enter CCashierWnd,找到这个短订单号,往下看搜索update xjl_Total set payment_info,是否有这个接口的请求(有独立的"operatorID"),请求是否ok"update xjl_Total set payment_info
安装后,登陆或收银直接报错&闪退
1 重新安装
2 卸载杀毒软件,再安装
3 拷贝崩溃日志发给开发,需要告知版本号
4 插件和内嵌冲突
5 cpu不支持,关闭数据压缩
下单后,订单列表查不到
1 查看客户端日志, xjl_pr_query_paginate_fresh,这个接口的返回
2 下单后,查看本地数据库synData.db的xjl_synDatas表,当前的下单数据insert into XJL_Details 这接口是插入这一单的每一个商品;insert into XJL_NoCashDetails这个接口是插入支付方式(一种支付方式一条数据);insert into XJL_Total这个接口是订单的主表;exec xjl_pr_flowing_water这个接口是查询数据完整性;update xjl_Total set payment_info 这个接口是插入订单列表的详情。EXEC pr_xjl_vip_acc_new和EXEC pr_xjl_vip是查询积分接口;每一条数据的xjl_synFalg=1 表示同步到了后台,如果为0,表示没有同步到后,是接口问题。
备注,下单数据流程图,下单 ->服务端sql的临时表 ->原有软件的sql表,查询的数据来源于服务端sql的临时表
离线时:下单-》本地sqllite表synData-》服务端临时表-》原有软件的sql表
无法离线登录
1 查看LocalCache.db文件,每一个文件是否有数据,特别是xjl_syncStatus表的syncStatus字段是否为1,如果为0,表示同步离线数据失败,无法进入收银主界面
如果为0,查看每一个张,哪个为空。再查找相应接口
2 LocalCache.db文件损坏,无法打开
积分不对或不积分
1 首先查看,这个积分类型,是否积分
2 线下会员: 找到这一单不积分的日志(ClientInterfaceLog.txt)附近,找到 EXEC pr_xjl_vip_acc_new这个接口的日志,看接口返回的日志,
{"state":"OK", "returnData":{"fileNames":[{"filedName":"flowno"},{"filedName":"cardno"},{"filedName":"accamount"}],"data":[{"flowno":"1493004411485501202111100002","cardno":"1001","accamount":"0.0000"}],"records":1}, "returnMessage":"Success"}
这里的accamount,就是积分值,调用这个接口后,积分自动给这个会员加上。
3 线上会员:找到这一单不积分的日志(ClientInterfaceLog.txt)附近,找到 EXEC pr_xjl_vip这个接口的日志,看接口返回的日志:
{"state":"OK", "returnData":{"fileNames":[{"filedName":"flowno"},{"filedName":"cardno"},{"filedName":"accamount"}],"data":[{"flowno":"1493004411557701202111100003","cardno":"a10011001","accamount":"0.0000"}],"records":1}, "returnMessage":"Success"}
这里的accamount,就是积分值,然后调用小精灵接口api-ali.liantuofu.com/open/member/modify,给识别的会员加上accamount这个积分值
收银员权限不存在&错误&异常&用户名密码错误异常等
1 查看pr_get_cashier_all,这个接口的返回日志,找到对应的收银员的cashier_permissions的值:111111111111111111111111110000000,一共33位,1表示有权限,0表示无权限,每一个值对应的权限是 [ '退货', '赠送', '单笔折扣', '整单折扣', '现金收支', '整笔取消', '收银对账', '挂单', '单笔取消', '交易议价', '交易查询', '开钱箱', '前台设置', '系统管理', '上传商品', '信息查询', '更改交易仓库', '补打小票', '减少数量', '换货', '冲减积分', '库存查询', '会员查询', '前台要货', '未知', '销售查询(pos分店)', '前台修改会员密码', '移动pos', '模板设置', '预售取单', '挂单删除', '微外卖', '整笔折扣权限控制']
网络异常
1 ping baidu.com是否同,ping局域网地址是否通,确定内外网情况
2 是否配置代理,但是代理关闭
3 是否被防火墙,其他竞争对手网络拦截
4 是否被小精灵内外插拦截
5 科脉拦截
6 360等第三方防火墙
交接班数据错误&慢&异常
交接班一共4个接口
a {"operatorID":"10","SQLLIST":[{"SQL":"select Max(end_time)as end_time from xjl_pos_account where cashier_id = '1001' AND branch_no='0001';"}]},这个接口返回最近一次的交接班时间
b
{"operatorID":"10","SQLLIST":[{"SQL":"SELECT MIN (t.tradetime) as startTime, MAX (t.tradetime)as endTime FROM xjl_NoCashDetails t WHERE t.OperatorNo = '1001' AND t.other1 = '0001' AND t.tradetime> '2021-11-03 17:11:58'; "}]}
返回这次交接班的开始&结束时间
c {"state":"OK", "returnData":{"fileNames":[{"filedName":"startTime"},{"filedName":"endTime"}],"data":[{"startTime":"2021-11-04 10:03:06","endTime":"2021-11-10 09:46:57"}],"records":1}, "returnMessage":"Success"}
返回每一种支付方式的金额和优惠
d {"operatorID":"10","SQLLIST":[{"SQL":"SELECT N.PayTypeNo, p.Pay_Name AS 'Pay_Name', abs(cast(SUM(n.PayMoney) as numeric(16,2))) AS 'returnedMoney', cast(SUM(n.DiscountSum) as numeric(16,2)) AS 'discountAmount', COUNT(DISTINCT n.FlowNo) AS 'returnedCount' FROM xjl_NoCashDetails n LEFT JOIN xjl_payment_info p ON P.Pay_ID = N.PayTypeNo WHERE n.TradeTime >= '2021-11-04 10:03:06' and n.OperatorNo = '1001' and n.SellType = 2 and n.other1 = '0001' GROUP BY n.PayTypeNo, p.Pay_Name;"}]}
返回每种支付方式的退款金额
结算没有语音播报
1 检查电脑是否能播放音乐
2 检查设置中是否开启,语音播报
3 检查安装目录下的sound是否38个wav文件
4 检查系统设置中,声音输出是否存在(比如选择音箱,但是实际没有插音箱),数字前台都是选择系统默认播放器
数字前台适配节点显示乱码
1 是否xp,是xp可能没有默认字符,需要安装雅黑字体
2 此小精灵账号是否在有问题的电脑登陆过,所以把此账号换一台电脑登陆查看是否正常
3 查看ClientInterfaceLog.txt文件,找到最近的 api-ali.liantuofu.com/open/login 接口,找到 getSoftwareConfig.htm?json={"merchantId":10581737}和getSoftwareVersion.htm?json={"softwareId":9247} 接口的返回数据,里面的名字是否乱码,如果是乱码,就是最近一次的成功登陆时,上传接口时乱码导致。可以用正常的电脑正常登陆一次,就能正常。
4 重新选择节点,重新登陆
syndata文件损坏导致订单丢失
查看版本是否为8684,如果是,打开安装目录下的log的文件,格式为:synData_err_20211116.txt,类似这样的名字的文件,拷贝整个文件内容; 用任意工具打开synData.db,然后把拷贝的文件在这个数据库下执行,就可以找回丢失的订单数据
丢失订单下的一个或几个商品
1 打开synData.db,找到对应的订单号的exec xjl_pr_flowing_water请求,执行下面命令
pdate xjl_syndatas set xjl_synfalg = 0 where xjl_syndata like '%flow%' and xjl_flow like '%丢失商品的这个订单的短订单号%',执行完成后,所有的数据,重新同步到服务端; 如果仍然不行,执按照“ syndata文件损坏导致订单丢失 ”的步骤执行,可以深度找回数据
2 如果丢失的电数据在 synData_err_20211116.txt中也不存在,只有找sql端人员重新找回
UID值冲突
如果有必现的步骤,请提供,否则不处理
崩溃
提供崩溃的版本,日志发给开发人员。
会员价&会员促销不生效
1 原软件对比测试下
2 会员类型是,查看会员设置的会员折扣卡的优惠方式:折扣还是会员价,如果选择是折扣,不取会员价。使用折扣价,没有折扣就是原价
3 是否称重商品,并且在条码称中,是否选择了”取条码价格“
4 如果是会员促销不生效,查看是否做了会员限量,并且限量已经用完。查看 SpecPriceLog.txt文件的exec pr_xjl_get_vip_itemQty接口返回的数据中,显示是否有剩余的限量
C:\Users\user\AppData\Local\LianTuo