账号通
    

账号  

密码  

9146

查看

22

回复
主题:会员中心余额支付功能有BUG,注意! [收藏主题] 转到:  
shujieqiu 当前离线

80

主题

0

广播

3

粉丝
添加关注
级别:学前班

用户积分:866 分
登录次数:341 次
注册时间:2010/11/29
最后登录:2022/7/6
shujieqiu 发表于:2012/3/3 21:11:50   | 显示全部帖子 查看该作者主题 楼主 
科汛在线网校系统

  偶然发现的,症状如下:  比如设置一线上充值方式:10元购买30天有效期

  当用户余额为9.8时,够买这个10元的产品时,能够购买成功,30天有效期正常加上,但是用户金额并不会被扣除,用户可以用这9.8反复购充有效期。分析原因和暂时解决办法如下,请官方提出更详细的解决办法:



以下内容只有回复后才可以浏览,请先登录!
    这样这个问题就解决好了,程序中的好几个地方都可以做这样的处理,大家在用的时候可以灵活使用。

  这个是我个人的解决办法,不过还是请官方看看这样是否合适,出一个更好的办法来。





 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
shujieqiu 当前离线

80

主题

0

广播

3

粉丝
添加关注
级别:学前班

用户积分:866 分
登录次数:341 次
注册时间:2010/11/29
最后登录:2022/7/6
shujieqiu 发表于:2012/3/4 18:09:02   | 显示全部帖子 查看该作者主题 沙发 
科汛在线商城系统(NET)
以下是引用 科汛官方在2012-3-4 12:51:22的发言:

试试改成这样


If Round(KSUser.GetUserInfo("money"),2)< Round(Money,2) Then
  

试过了,这样也不严谨,Round并不是准确的四舍五入,如果我设置了支付的手续费后,进入数据库的数据很可能是小数点后面好几位数,如果充值卡的面额带小数的话还是有机会比较的时候出错,(当然充值卡一般不会设置成带小数的面额的),我建议直接把小数点后面第三位开始的数字省掉,这样可能会好一点。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
shujieqiu 当前离线

80

主题

0

广播

3

粉丝
添加关注
级别:学前班

用户积分:866 分
登录次数:341 次
注册时间:2010/11/29
最后登录:2022/7/6
shujieqiu 发表于:2012/3/4 18:12:27   | 显示全部帖子 查看该作者主题 藤椅 
看了7楼的帖子,我也知道你所说的那些,所以我认为在判断用户金额是否够买某个充值卡的时候只能舍去,不能进位。
 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
shujieqiu 当前离线

80

主题

0

广播

3

粉丝
添加关注
级别:学前班

用户积分:866 分
登录次数:341 次
注册时间:2010/11/29
最后登录:2022/7/6
shujieqiu 发表于:2012/3/4 20:31:47   | 显示全部帖子 查看该作者主题 板凳 
科汛在线考试系统(NET)
那我们把面值部分也用int吧或者Round(money,2)主要是这里影响到了用户能成功购买,但是后台却不会扣除用户余额的问题。

If Int(KSUser.GetUserInfo("money")*100)/100 < Int(Money*100)/100 Then再或者什么都不加直接就是 < Money

这可能是科讯在程序里还应该再斟酌下的地方。

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行4.69531秒 powered by KesionCMS 9.0