olaf / lotto
此包最新版本(v1.0.10)没有提供许可证信息。
用于抽取的lotto
v1.0.10
2021-09-24 02:44 UTC
Requires
- php: >=7.0
- ext-json: *
- illuminate/console: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- illuminate/database: ~5.0
README
1.包安装
2.
####2.1 执行composer
composer require "olaf/lotto": "dev-master"
2.2 Provider配置文件
2.2.1 打开您的 config/app.php 文件,并将以下内容添加到 providers 数组中
Happy\Lotto\ServiceProvider\LottoServiceProvider::class
2.2.2 运行以下命令以发布包配置文件 config/lotto.php
php artisan vendor:publish --provider="Happy\Lotto\ServiceProvider\LottoServiceProvider"
3.数据库设计
CREATE TABLE `lotto_activity` ( `id` int(10) NOT NULL AUTO_INCREMENT, `start_time` datetime NOT NULL COMMENT '活动开始时间', `draw_time` datetime NOT NULL COMMENT '活动开奖时间', `title` varchar(256) NOT NULL COMMENT '抽奖标题', `cost_score` int(10) NOT NULL DEFAULT '0' COMMENT '消耗幸运星', `sponsor_id` int(10) NOT NULL COMMENT '赞助商ID', `join_limit` tinyint(4) NOT NULL DEFAULT '1' COMMENT '参与活动类型, 1表示用户只能参加一次,2表示用户每天可以参加一次', `join_num` int(10) NOT NULL DEFAULT '0' COMMENT '实际参与人数', `draw_limit` int(10) NOT NULL DEFAULT '0' COMMENT '最低开奖人数', `description` varchar(512) NOT NULL DEFAULT '' COMMENT '抽奖活动描述', `show_num` int(10) NOT NULL DEFAULT '0' COMMENT '初始参与人数', `window_config` text CHARACTER SET utf8 COLLATE utf8_unicode_ci COMMENT '活动配置', `get_prize_num` int(10) NOT NULL DEFAULT '0' COMMENT '获取奖品的数量', `sort` int(8) NOT NULL DEFAULT '0' COMMENT '优先级', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', `delete_time` datetime NOT NULL COMMENT '删除时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动管理'; CREATE TABLE `lotto_prize_config` ( `id` int(10) NOT NULL AUTO_INCREMENT, `lotto_activity_id` int(10) NOT NULL COMMENT '抽奖活动ID', `prize_id` int(10) NOT NULL COMMENT '抽奖活动奖品ID', `prize_num` tinyint(4) NOT NULL DEFAULT '0' COMMENT '奖品数量', `award_desc` varchar(128) NOT NULL DEFAULT '' COMMENT '奖项名,一等奖,二等奖', `show_num` tinyint(4) NOT NULL DEFAULT '0' COMMENT '展示数量', `prize_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '奖品类型 1表示实物,2表示虚拟', `virtual_label` varchar(128) NOT NULL DEFAULT '' COMMENT '虚拟奖品的标签', `sort` int(10) NOT NULL DEFAULT '0' COMMENT '优先级', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', `delete_time` datetime NOT NULL COMMENT '删除时间', PRIMARY KEY (`id`), UNIQUE KEY `activity_unique_key` (`lotto_activity_id`, `prize_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动奖品配置'; CREATE TABLE `lotto_prize` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(128) NOT NULL DEFAULT '' COMMENT '奖品名称', `image_url` varchar(256) NOT NULL DEFAULT '' COMMENT '奖品图片地址', `sku_id` int(10) NOT NULL DEFAULT '0' COMMENT '奖品单品ID', `sku_name` varchar(128) NOT NULL DEFAULT '' COMMENT '奖品单品名称', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', `delete_time` datetime NOT NULL COMMENT '删除时间', PRIMARY KEY (`id`), UNIQUE KEY `sku_unique_key` (`sku_id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动奖品'; CREATE TABLE `lotto_participate_record` ( `id` int(10) NOT NULL AUTO_INCREMENT, `lotto_activity_id` int(10) NOT NULL COMMENT '抽奖活动ID', `uid` int(10) NOT NULL COMMENT '参与用户ID', `cost_score` int(10) NOT NULL DEFAULT '0' COMMENT '消耗幸运星', `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '中奖状态,0表示未中奖,1表示中奖', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动参与记录'; CREATE TABLE `lotto_reward_record` ( `id` int(10) NOT NULL AUTO_INCREMENT, `lotto_activity_id` int(10) NOT NULL COMMENT '抽奖活动ID', `project_id` int(10) NOT NULL COMMENT '奖项ID,对应lotto_prize_config的ID', `project_name` varchar(128) NOT NULL DEFAULT '' COMMENT '奖项名称', `prize_id` int(10) NOT NULL COMMENT '抽奖活动奖品ID', `uid` int(10) NOT NULL COMMENT '参与用户ID', `username` varchar(50) NOT NULL DEFAULT '' COMMENT '中奖姓名', `nickname` varchar(50) NOT NULL DEFAULT '' COMMENT '中奖用户昵称', `avatar` varchar(256) NOT NULL DEFAULT '' COMMENT '头像', `mobile` varchar(18) NOT NULL DEFAULT '' COMMENT '手机号', `address` varchar(256) NOT NULL DEFAULT '' COMMENT '地址', `award_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '类型 1表示实物,2表示虚拟', `award_value` int(10) NOT NULL DEFAULT '0' COMMENT '虚拟中奖金额', `fast_num` varchar(36) NOT NULL DEFAULT '' COMMENT '', `fast_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '中奖商品发放状态 0表示未发货,1表示已发货', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `activity_reward_key` (`lotto_activity_id`, `uid`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动中奖记录'; CREATE TABLE `lotto_sponsor` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '' COMMENT '赞助商名称', `icon_url` varchar(256) NOT NULL DEFAULT '' COMMENT '图标icon', `app_id` varchar(64) NOT NULL DEFAULT '' COMMENT '赞助商小程序APP_ID', `path_url` varchar(128) NOT NULL DEFAULT '' COMMENT '跳转下的url', `content` varchar(512) NOT NULL DEFAULT '' COMMENT '小程序介绍内容', `share_text` varchar(512) NOT NULL DEFAULT '' COMMENT '分享文案', `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开启 1表示开启,0表示关闭', `self_support` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否开启 1表示自营,0表示非自营', `description` varchar(512) NOT NULL DEFAULT '' COMMENT '赞助商介绍', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='抽奖活动赞助商';
4.接口服务
4.1 活动列表
Method: GET URI: /lotto/activities Auth: Off // 开启用户授权
请求说明
响应说明
{
"code":200,
"message":"业务受理成功",
"data":{
"activities":[
{
"id":1,
"title": "抽奖活动",
"start_time": 1622455200,
"draw_time": "2021-08-24 10:36:10",
"is_participate":0,
"sponsor_name":"乐趣够",
"image_url":"https://img.zcool.cn/community/01030f60dc6a8311013f4720735fb9.jpg@2o.jpg",
"prize_items":[
{
"id":1,
"lotto_activity_id":1,
"prize_id":1,
"prize_num":1,
"award_desc":"一等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠多利",
"image_url":"/storage/public/",
"sku_id":19211,
"sku_name":"超级飞侠"
},
{
"id":2,
"lotto_activity_id":1,
"prize_id":2,
"prize_num":1,
"award_desc":"二等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小金子",
"image_url":"/storage/public/",
"sku_id":19212,
"sku_name":"超级飞侠"
},
{
"id":3,
"lotto_activity_id":1,
"prize_id":3,
"prize_num":1,
"award_desc":"三等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小雷霆",
"image_url":"/storage/public/",
"sku_id":19213,
"sku_name":"超级飞侠"
}
]
},
{
"id":2,
"title":"儿童节抽奖活动",
"start_time":1622458800,
"draw_time": "2021-08-19 18:28:20",
"is_participate":0,
"sponsor_name":"乐趣够",
"image_url":"/storage/public/",
"prize_items":[
{
"id":1,
"lotto_activity_id":2,
"prize_id":1,
"prize_num":1,
"award_desc":"一等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠多利",
"image_url":"/storage/public/",
"sku_id":19211,
"sku_name":"超级飞侠"
},
{
"id":2,
"lotto_activity_id":2,
"prize_id":2,
"prize_num":1,
"award_desc":"二等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小金子",
"image_url":"/storage/public/",
"sku_id":19212,
"sku_name":"超级飞侠"
},
{
"id":3,
"lotto_activity_id":2,
"prize_id":3,
"prize_num":1,
"award_desc":"三等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小雷霆",
"image_url":"/storage/public/",
"sku_id":19213,
"sku_name":"超级飞侠"
}
]
}
]
}
}
4.2 活动详情
Method: GET
URI: /lotto/detail?activityId={1}
Auth: Off // 开启用户授权
请求参数
响应参数
{
"code":200,
"message":"业务受理成功",
"data":{
"id":1,
"start_time":1622455200,
"draw_time":1622973600,
"prize_items":[
{
"id":1,
"lotto_activity_id":1,
"prize_id":1,
"prize_num":1,
"award_desc":"一等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠多利",
"image_url":"/storage/public/",
"sku_id":19211,
"sku_name":"超级飞侠"
},
{
"id":2,
"lotto_activity_id":1,
"prize_id":2,
"prize_num":1,
"award_desc":"二等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小金子",
"image_url":"/storage/public/",
"sku_id":19212,
"sku_name":"超级飞侠"
},
{
"id":3,
"lotto_activity_id":1,
"prize_id":3,
"prize_num":1,
"award_desc":"三等奖",
"show_num":10,
"prize_type":1,
"virtual_label":"",
"sort":100,
"create_time":"2021-06-01 14:21:54",
"update_time":"2021-06-01 14:21:54",
"delete_time":null,
"name":"超级飞侠小雷霆",
"image_url":"/storage/public/",
"sku_id":19213,
"sku_name":"超级飞侠"
}
],
"is_participate":0,
"image_url":"",
"sponsor_name":"乐趣够",
"sponsor_status":1,
"ali_mini_id":"wx1029837392deid",
"ali_mini_url":"pages/through-index/index",
"ali_mini_content":"有趣的抽奖平台",
"ali_mini_turn_text":"马上抢",
"ali_life_id":"",
"sponsor_detail":"funny go",
"description": ""
}
}
4.3 活动参与概览
活动开奖后,获取中奖信息概览
Method: GET
URI: /lotto/summary?activityId={1}
Auth: On // 开启用户授权
请求参数
响应参数
{
"code":200,
"message":"业务受理成功",
"data":{
"username":"J****",
"nickname":"J****",
"address":"",
"turn_url":"",
"turn_img":"",
"prize_name":"超级飞侠多利",
"prize_url":"/storage/public/",
"prize_num":1,
"avatar":"/storage/public",
"mobile":"18986299220",
"fast_status":1,
"is_lucky":0,
"virtual_or_physical":"",
"red_amount":0.11
}
}
4.4 抽奖活动的中奖列表
Method: GET URI: /lotto/rewards Auth: On // 开启用户授权
请求参数
响应参数
{
"code":200,
"message":"业务受理成功",
"data":{
"total_counts":1,
"items":[
{
"id":1,
"fast_status":1,
"draw_time":"06-06",
"prize_name":"超级飞侠多利"
}
]
}
}
4.5 抽奖活动的参与记录
Method: GET URI: /lotto/participation Auth: On // 开启用户授权
请求参数
响应参数
{
"code":200,
"message":"业务受理成功",
"data":{
"items":[
{
"id":1,
"start_time":"2021-05-31 10:00:00",
"draw_time":"2021-06-06 10:00:00",
"image_url":"/storage/public/",
"is_over":0,
"prize_items":[
{
"prize_id":1,
"prize_num":10,
"prize_name":"超级飞侠多利",
"virtual_or_physical":1
},
{
"prize_id":3,
"prize_num":10,
"prize_name":"超级飞侠小雷霆",
"virtual_or_physical":1
},
{
"prize_id":2,
"prize_num":10,
"prize_name":"超级飞侠小金子",
"virtual_or_physical":1
}
]
}
]
}
}
4.6 参与抽奖活动
Method: POST URI: /lotto/take Auth: On // 开启用户授权
请求参数
响应参数