1,发现数据表proLostData 关联的存储过程时间的读取:判断时间年,月,日 位数。如果读取时间位数大于2位或者是一位。convert(varchar,字段,20)。分析半天网上说:convert(varchar(20),getdata(),typestyle)。我一直以为是函数错了。但是改了之后,发现从软件数据库无法用存储过程查询。
2,查看用户消费明细,发现数据超前消费。
完整导出数据发现没有时间超过当前时间,存储数据正常。而查询的时候却出现数据中时间不符合现状,(时间还没到就已经出现消费金额)。从数据上看出:的确消费了,时间读取有问题。百度一下:是说电脑时间错误导致读取错误。
老板说:电脑换成新的了。现在删除读取错误的数据。
3,我开始找寻表,但苦苦发现不了,看不见软件的查询语句是个问题,我只好分析数据了,发现另一个严重BUG,细细看数据,时间上超前消费不符合情况:具体来说:有问题的这几个数据大部分都是被恶意扣减30元左右的金额。本身软件问题很大。不仅仅是读取时间的问题,其实还有计算金额的问题,线程安全问题是一个重要的方面。如果同时在二台机器刷卡,将会出现次数叠加一次,金额扣减问题计算不准。也就是说:当同时刷两个机子的时候扣款余额是哪个?程序内部是怎样的不知道,但是数据告诉我,程序太lOW了。恶意扣款30,有很多,这应该是硬件刷卡机到系统的另一个BUG。看见数据中卡的次数发现每次卡被扣款30都会被调用多次。应该食堂人员故意为之。公用电话以前也出现过这种情况,上一个刷卡的人,走了,下一个可以随便打电话,用上一个人的费用。不知道怎么操作。但是看新闻,网上贩售饭卡40吃100.我在淘宝上搜索一番果然这种问题很多。亏了学生,让这些校园饭堂老板占了便宜。
4,学校消费支付需创新,城市一卡通实力保障。值得信懒。