38  
查询码:00001059
数字前台常见问题处理
作者: 周宇鑫 于 2025年04月15日 发布在分类 / 数字前台 下,并于 2025年04月15日 编辑

历史 -> 2021-11-12

连不上服务端&无法登陆问题排查:

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;"}]}

返回每种支付方式的退款金额

 

 

2021-11-12 -> 2021-11-18

 

结算没有语音播报

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接口返回的数据中,显示是否有剩余的限量

 

2022-03-10

这个目录存的挂单数据以及前台崩溃日志

C:\Users\user\AppData\Local\LianTuo

 

 

 

 

 

 

 

 

 




 推荐知识

 历史版本

修改日期 修改人 备注
2025-04-15 15:21:28[当前版本] 周宇鑫 1.1
2025-04-15 15:21:06 周宇鑫 创建版本

  目录
    联拓知识分享平台 -V 4.7.0 -wcp