后台配置抽奖活动:活动列表、创建活动、编辑活动、删除活动

C端:首页、抽奖动画、中奖弹框、我的奖品






数据库表: 1. 抽奖活动表 2. 奖品字典表 3. 抽奖活动奖品配置表 4. 中奖记录表 5. 抽奖记录表

1.抽奖活动表
xxxxxxxxxx191CREATE TABLE `t_lottery_act` (2  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,3  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '活动名称',4  `rule_intro` text COMMENT '规则说明',5  `rule_config` text COMMENT '针对每个活动的个性化中奖规格配置,json格式',6  `online_start_time` int(10) unsigned DEFAULT '0' COMMENT '活动上线时间,活动链接可以访问了',7  `online_end_time` int(10) unsigned DEFAULT '0' COMMENT '活动下线时间,活动链接不能访问',8  `act_start_time` int(10) unsigned DEFAULT '0' COMMENT '活动开始时间,说明活动开始举行了',9  `act_end_time` int(10) unsigned DEFAULT '0' COMMENT '活动结束时间,活动结束,停止抽奖',10  `share_title` varchar(100) DEFAULT '' COMMENT '分享标题',11  `share_icon` varchar(255) DEFAULT '' COMMENT '分享图片地址',12  `share_intro` varchar(255) DEFAULT '' COMMENT '分享描述',13  `act_ext` text COMMENT '活动扩展信息,json格式',14  `status` tinyint(4) unsigned DEFAULT '1' COMMENT '状态 1:正常  0:删除',15  `created_at` int(10) unsigned DEFAULT '0' COMMENT '创建时间',16  `updated_at` int(10) unsigned DEFAULT '0' COMMENT '更新时间',17  `deleted_at` int(10) unsigned DEFAULT '0' COMMENT '删除时间',18  PRIMARY KEY (`id`)19) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='抽奖活动表';xxxxxxxxxx131CREATE TABLE `t_lottery_prize` (2  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,3  `prize_name` varchar(100) NOT NULL DEFAULT '' COMMENT '奖品名称',4  `prize_code` varchar(100) DEFAULT NULL COMMENT '奖品唯一代号,用于处理特殊逻辑',5  `prize_icon` varchar(255) DEFAULT '' COMMENT '奖品图片',6  `prize_type` tinyint(4) unsigned DEFAULT '0' COMMENT '奖品类型,1.虚拟物品-系统在线发放(如金币),2.邮寄实物(需要邮寄的,如电视,手机),3.用于填坑位的未中奖奖品(如谢谢参与),4.线下处理物品(如充值卡,线下人工转现金)',7  `prize_ext` text COMMENT '奖品扩展信息,json格式',8  `status` tinyint(4) unsigned DEFAULT '1' COMMENT '状态 1:正常  0:删除',9  `created_at` int(10) unsigned DEFAULT '0' COMMENT '创建时间',10  `updated_at` int(10) unsigned DEFAULT '0' COMMENT '更新时间',11  `deleted_at` int(10) unsigned DEFAULT '0' COMMENT '删除时间',12  PRIMARY KEY (`id`)13) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='奖品字典表';xxxxxxxxxx171CREATE TABLE `t_lottery_act_prize` (2  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,3  `act_id` int(10) unsigned DEFAULT '0' COMMENT '活动Id',4  `prize_id` int(10) unsigned DEFAULT '0' COMMENT '奖品Id',5  `prize_info` varchar(1000) DEFAULT '' COMMENT '冗余原始奖品信息,因为奖品信息不能修改,json格式',6  `prize_total_num` int(10) unsigned DEFAULT '0' COMMENT '奖品总数量,prize_total_num=prize_num+win_num',7  `prize_num` int(10) unsigned DEFAULT '0' COMMENT '奖品库存,剩余数量',8  `win_num` int(10) unsigned DEFAULT '0' COMMENT '已中奖数量',9  `act_prize_rule` text COMMENT '当前活动下当前奖品中奖规则配置,如中奖概率,json格式',10  `act_prize_ext` text COMMENT '当前活动下当前奖品扩展信息,json格式',11  `status` tinyint(4) unsigned DEFAULT '1' COMMENT '状态 1:正常  0:删除',12  `created_at` int(10) unsigned DEFAULT '0' COMMENT '创建时间',13  `updated_at` int(10) unsigned DEFAULT '0' COMMENT '更新时间',14  `deleted_at` int(10) unsigned DEFAULT '0' COMMENT '删除时间',15  PRIMARY KEY (`id`),16  KEY `idx_actid` (`act_id`) USING BTREE17) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='抽奖活动奖品配置表';xxxxxxxxxx221CREATE TABLE `t_lottery_win` (2  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,3  `userid` int(10) unsigned DEFAULT '0' COMMENT '用户userid',4  `act_id` int(10) unsigned DEFAULT '0' COMMENT '活动Id',5  `prize_id` int(10) unsigned DEFAULT '0' COMMENT '奖品Id',6  `user_ip` char(15) DEFAULT '' COMMENT '用户ip',7  `rule_snapshot` text COMMENT '中奖时的规则快照,json格式',8  `prize_snapshot` text COMMENT '中奖时的奖品快照,json格式',9  `win_ext` text COMMENT '预览扩展数据,json格式',10  `user_realname` varchar(50) DEFAULT '' COMMENT '用户姓名,中奖时填写',11  `user_mobile` char(11) DEFAULT '' COMMENT '用户手机号,中奖时填写',12  `user_address` varchar(255) DEFAULT '' COMMENT '用户收货地址,中奖时填写',13  `user_zip` varchar(10) DEFAULT '' COMMENT '用户邮编,中奖时填写',14  `hashkey` char(32) DEFAULT NULL COMMENT '防并发,防重复记录,值唯一',15  `fafang_status` tinyint(4) unsigned DEFAULT '0' COMMENT '0无需发放,1待发放,2发放流程中(邮件中),3已发放完成成功,4发放失败',16  `status` tinyint(4) unsigned DEFAULT '1' COMMENT '状态 1:正常  0:删除',17  `created_at` int(10) unsigned DEFAULT '0' COMMENT '创建时间,中奖抽奖',18  `updated_at` int(10) unsigned DEFAULT '0' COMMENT '更新时间',19  `deleted_at` int(10) unsigned DEFAULT '0' COMMENT '删除时间',20  PRIMARY KEY (`id`),21  UNIQUE KEY `udx_hashkey` (`hashkey`) USING BTREE22) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='中奖记录表';xxxxxxxxxx161CREATE TABLE `t_lottery_log` (2  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,3  `userid` int(10) unsigned DEFAULT '0' COMMENT '用户userid,抽奖人',4  `act_id` int(10) unsigned DEFAULT '0' COMMENT '活动Id',5  `user_ip` char(15) DEFAULT '' COMMENT '用户ip',6  `log_ext` text COMMENT '预览扩展数据,如是否中奖,中奖Id,json格式',7  `hashkey` varchar(32) DEFAULT NULL COMMENT '防并发,防重复记录,值唯一',8  `date` char(8) DEFAULT '0' COMMENT '抽奖日期,年月日',9  `status` tinyint(4) unsigned DEFAULT '1' COMMENT '状态 1:正常  0:删除',10  `created_at` int(10) unsigned DEFAULT '0' COMMENT '创建时间,抽奖时间',11  `updated_at` int(10) unsigned DEFAULT '0' COMMENT '更新时间',12  `deleted_at` int(10) unsigned DEFAULT '0' COMMENT '删除时间',13  PRIMARY KEY (`id`),14  UNIQUE KEY `udx_hashkey` (`hashkey`) USING BTREE,15  KEY `idx_userid_date` (`userid`,`date`) USING BTREE16) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='抽奖记录表';大转盘、砸金蛋、摇一摇、抽奖箱、刮刮乐、老虎机