python 批量生成优惠券码并写入数据表
说明:这篇文章主要讲的是个人工作中遇到的解决问题的方法,而非程序写的多优美。要完善的地方太多了,大家嘴下留情
why do this
为什么要这么做?优惠券码直接在用的时候用程序直接生成不就OK了吗?
好,那么问题来了,我们的系统需要一次性发送几十万张优惠券,怎么破。这里引来这个问题(php编写的web程序)
1.通过php函数来生成几十万个优惠券码,然后分批次比如每次1000插入到数据表中,主要考虑到这几十万的码会占用大量内存,而且php执行时间也会过长,虽然可以设置超时时间,但总归不是better的解决方案
2.现有各个系统中都存在自己优惠券码的生成规则,但是数据表却是同一张,有了这个优惠码池,各个系统就无需再自己生成优惠码,而是直接要用多少读取多少即可。
引申出优惠券码池表(保证code值唯一)
数据表结构
CREATE TABLE `prefix_coupon_pool` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`code` varchar(32) NOT NULL COMMENT '优惠券码 唯一性约束',
`is_assigned` tinyint(1) DEFAULT '0' COMMENT '0:未分配 1:已分配',
`created_at` int(10) unsigned DEFAULT '0' COMMENT '生成时间',
PRIMARY KEY (`id`),
UNIQUE KEY `index_code` (`code`)</