报名系统在缴费情况下的人数控制

11 篇文章 0 订阅

之前做一个报名系统

报名流程是 这样的 用户 填写信息后 提交表单后我会在数据库里面插入一条数据 里面有个状态值status我给的是0 然后 支付宝付款 成功 异步通知 成功了 我把这个0改成1  

因为报名有人数控制,所以在每次用户提交数之前都判断报名成功的用户是否大于这个数量!

貌似一切都是没问题一样!

需要注意的是:

1 报名人数控制

   我在判断人数的时候是按按照报名且缴费成功这样判断的!这是有很大的问题的,因为没有考虑到待支付的用户以及第三方支付平台异步通知时间的延迟!这样做的结果就是报名人数超出!解决方法是,在插入数据的时候必须要有个字段插入这条数据的时间!在判断用户数量的时候!(待支付的用户数量+已支付的用户数量)是否大于系统给定的控制人数!待支付的用户数量应该通过用户提交报名的时间和当前的时间差做判断!

另外,需要考虑到可能会有用户在报名后但是不支付,这样会产生一大批垃圾数据!所以用该写一个脚本!如果是WIN通过计划任务,如果是linux 使用crontab以一定时间去执行这个脚本!

还有,就是注意到数据库的原子操作已经事务!

支付宝中有

it_b_pay 字段是设置未付款交易的超时时间,一旦超时,该笔交易就会自动被关闭。

取值范围:1m~15d。

m-分钟,h-小时,d-天,1c-当天(无论交易何时创建,都在0点关闭)。

该参数数值不接受小数点,如1.5h,可转换为90m。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值