Commit 5bce55cf by jscat

nyx sql

数据库及流程更新
parent aa91d073
USE rockwell_key; USE rockwell_key;
...@@ -7,6 +7,61 @@ USE rockwell_key; ...@@ -7,6 +7,61 @@ USE rockwell_key;
- tbl_activity 定位是 member 活动发布表 - tbl_activity 定位是 member 活动发布表
结构基本一致 结构基本一致
相关数据表
商家(member)
活动(activity)
问答(quiz) 为 activity 提供题目信息
商品(goods) 为 activity 提供商品 price 和 amount 信息
竞答(match) 用 match_id 将 activity_id 同 user_id 联系起来
竞答助力(match_bonus) 将 match_id 同 user_id 联系起来
预订(order) 用 order_id 将 goods_id 同 user_id 联系起来
关系如下:
商家(member):活动(activity)=1:n
活动(activity):竞答(match)=1:n
竞答(match):竞答助力(ma tch_bonus)=1:n
miss: 缺乏每个活动的积分
商家活动发布流程:
一. 自定义
1) 新增图片, note_image
2) 新增标题, title
3) 新增标签, tag
4) 新增内容, content
- 如果不是"竞答", 则进入内容编辑
https://blog.csdn.net/hotqin888/article/details/90348007
https://blog.csdn.net/qq_29789057/article/details/90108048
https://blog.csdn.net/hotqin888/article/details/97619267
5) 默认 quiz 为""
6) 默认 point 为""
- 如果是"竞答", 则进入竞答编辑 (参考第二种)
5) 新增 quiz
6) 新增积分 point
7) 自动拼接生成 content
btw: 关于 activity_id 和 quiz 匹配的模式
效率如何,数据是否有重复.
1) 先创建 activity_id 然后 insert quiz 的时候, 将activity_id 带上
2) 先创建 quiz_id 然后构建 quiz_string 存入 tbl_activity 表
第一种可能会存在多份相同的quiz, 尤其是通过模板导入的时候
数据结构为:
tbl_quiz: quiz_id, activity_id
tbl_activity: activity_id
第二种需要先存入 quiz, 生成 quiz_id, 后构建 activity_id
可以保证 quiz 和 activity 数据表的相对整洁
因为最多10道题,也可以保证数据的相对整洁
数据结构为:
tbl_quiz: quiz_id
tbl_activity: activity_id, quiz_id::quiz_id::quiz_id
二. 模板
*/ */
...@@ -18,6 +73,9 @@ CREATE TABLE tbl_activity ( ...@@ -18,6 +73,9 @@ CREATE TABLE tbl_activity (
`title` VARCHAR(200) NOT NULL COMMENT '发布标题,比如:此生必去系列。', `title` VARCHAR(200) NOT NULL COMMENT '发布标题,比如:此生必去系列。',
`num_like` VARCHAR(10) DEFAULT '0' COMMENT '点赞次数', `num_like` VARCHAR(10) DEFAULT '0' COMMENT '点赞次数',
`content` VARCHAR(1000) NOT NULL COMMENT '发布内容, 比如: 共10题::可获得5积分 (多个content之间用::来隔开, 未来可考虑json格式)', `content` VARCHAR(1000) NOT NULL COMMENT '发布内容, 比如: 共10题::可获得5积分 (多个content之间用::来隔开, 未来可考虑json格式)',
`goods` VARCHAR(200) COMMENT '商品列表, 通过::做间隔, gid001::gid002',
`quiz` VARCHAR(200) COMMENT 'quiz题目列表, 通过::做间隔, ',
`point` double(10,2) COMMENT 'quiz 总的积分',
`member_id` VARCHAR(100) COMMENT '商家的id, uuid format, like mid_001', `member_id` VARCHAR(100) COMMENT '商家的id, uuid format, like mid_001',
`note_image` VARCHAR(800) DEFAULT NULL COMMENT '发布的图片; 以::做分割', `note_image` VARCHAR(800) DEFAULT NULL COMMENT '发布的图片; 以::做分割',
`create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
...@@ -26,13 +84,14 @@ CREATE TABLE tbl_activity ( ...@@ -26,13 +84,14 @@ CREATE TABLE tbl_activity (
KEY `query_key` (`member_id`,`tag`, `title`)) KEY `query_key` (`member_id`,`tag`, `title`))
ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='rockwell member 活动发布表'; ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='rockwell member 活动发布表';
INSERT INTO `tbl_activity`(`activity_id`, `tag`, `title`, `num_like`, `content`, `member_id`, `note_image`, `create_datetime`,`update_datetime`) INSERT INTO `tbl_activity`(`activity_id`, `tag`, `title`, `num_like`, `content`, `goods`, `quiz`, `point`, `member_id`, `note_image`, `create_datetime`,`update_datetime`)
VALUES VALUES
('aid_001', '竞答', 'Renaissance Bar知识竞答', '100', '共10题::可获得5积分', 'mid_123','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200710174939.png','2020-05-29 16:01:48', '2020-05-29 16:01:48'), ('aid_001', '竞答', 'Renaissance Bar红酒知识竞答', '34', '共5题::可获得5积分', '', '190::191::195::196::299', 5.0, 'mid_123','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200710174939.png','2020-05-29 16:01:48', '2020-05-29 16:01:48'),
('aid_002', '竞答', '叁年间知识竞答', '30', '共5题::可获得5积分', 'mid_456','http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_a3bb087cd46db1bb054f172b0afd2d32.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_1cb906383f0d7677b185f423357d2d32.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_33852ea7dd1dca8aad48b40f39f333ed.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_82f7406a58e6941b64e117f6980b73f9.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_655a83d89ae1220ccef8c5f3238c56a4.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_cdcffb931e7bf35502c93a6f9ec3973e.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_93f6ac372755b4efc4f0941cd6a8a007.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_6994cd488ea6bfb1d2e4b478a161cc42.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_1820c565d261d8e0899f15f62b80a861.jpg', '2020-05-25 14:39:20', '2020-05-25 14:39:20'), ('aid_002', '竞答', 'Renaissance Bar威士忌知识竞答', '100', '共10题::可获得5积分', '', '290::191::195:196::283::201::300::342::355::214', 5.0,'mid_123','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200710174939.png','2020-05-29 16:01:48', '2020-05-29 16:01:48'),
('aid_003', '竞答', 'Cin Cin知识竞答', '10', '共5题::可获得5积分', 'mid_001','http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_927aed9aa3b4fb2d857680fae75b76b2.jpg', '2020-05-29 14:48:11','2020-05-29 14:48:11'), ('aid_003', '竞答', '叁年间知识竞答', '30', '共5题::可获得5积分', '', '199::191::295:236::200', 5.0, 'mid_456','http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_a3bb087cd46db1bb054f172b0afd2d32.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_1cb906383f0d7677b185f423357d2d32.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_33852ea7dd1dca8aad48b40f39f333ed.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_82f7406a58e6941b64e117f6980b73f9.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_655a83d89ae1220ccef8c5f3238c56a4.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_cdcffb931e7bf35502c93a6f9ec3973e.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_93f6ac372755b4efc4f0941cd6a8a007.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_6994cd488ea6bfb1d2e4b478a161cc42.jpg::http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_1820c565d261d8e0899f15f62b80a861.jpg', '2020-05-25 14:39:20', '2020-05-25 14:39:20'),
('aid_004', '饮事', 'Renaissance Bar威士忌四小杯特饮活动', '4', '一次领略泥煤的各种风味', 'mid_123','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/sakura.jpg\r\n', '2020-03-27 11:24:45', '2020-03-27 11:24:45'), ('aid_004', '竞答', 'Cin Cin知识竞答', '10', '共5题::可获得5积分', '', '190::191::195:196::313', 5.0, 'mid_001','http://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/tmp_927aed9aa3b4fb2d857680fae75b76b2.jpg', '2020-05-29 14:48:11','2020-05-29 14:48:11'),
('aid_005', '饮事', '叁年间 & 罗翌 意大利红酒周', '10', '叁年间的专业加上罗翌的品质,你值得期待', 'mid_456','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/sakura.jpg\r\n', '2020-03-27 11:24:45', '2020-03-27 11:24:45') ('aid_005', '饮事', 'Renaissance Bar威士忌四小杯特饮活动', '4', '一次领略泥煤的各种风味', 'gid_001::gid_002', '', 0.0, 'mid_123','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/sakura.jpg\r\n', '2020-03-27 11:24:45', '2020-03-27 11:24:45'),
('aid_006', '饮事', '叁年间 & 罗翌 意大利红酒周', '10', '叁年间的专业加上罗翌的品质,你值得期待', 'gid_003', '', 0.0, 'mid_456','https://930-test-sh.oss-cn-shanghai.aliyuncs.com/user-dir/sakura.jpg\r\n', '2020-03-27 11:24:45', '2020-03-27 11:24:45')
; ;
USE rockwell_key; USE rockwell_key;
...@@ -3,24 +3,23 @@ USE rockwell_key; ...@@ -3,24 +3,23 @@ USE rockwell_key;
/* /*
用于记录竞答结果: 用于记录竞答结果:
1) user答完一个quiz,会生成一条记录tbl_match, 1) user 答完一个 activity_id,会生成一条记录 match_id 记录
记录了如下参数: 记录了如下参数:
- match_id: mid_123 - match_id: mid_123
- member_id: memid_001
- user_id: uid_456 - user_id: uid_456
- 积分使用状态match_status(可用|不可用): 01|00 - 积分使用状态 match_status (可用|不可用): 01|00
- 积分值match_point: 4.5 - 积分值 match_point: 4.5
- 答题结果match_result: 9/10 - 答题结果 match_result: 9/10
- 二维码url qrcode_url: https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png - 二维码url qrcode_url: https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png
- 答题时间create_datetime: 2020/07/30 12:00:00 - 答题时间 create_datetime: 2020/07/30 12:00:00
- 更新时间update_datetime: 2020/07/30 12:00:00 - 更新时间 update_datetime: 2020/07/30 12:00:00
*/ */
DROP TABLE IF EXISTS tbl_match; DROP TABLE IF EXISTS tbl_match;
CREATE TABLE tbl_match ( CREATE TABLE tbl_match (
`match_id` VARCHAR(100) COMMENT '竞答的id, uuid format, mid_001', `match_id` VARCHAR(100) COMMENT '竞答的id, uuid format, mid_001',
`member_id` VARCHAR(100) COMMENT '商家的id, uuid format, memid_001', `activity_id` VARCHAR(100) COMMENT '活动的id, uuid format, mid_001',
`user_id` VARCHAR(100) COMMENT '用户的id, uuid format, uid_001', `user_id` VARCHAR(100) COMMENT '用户的id, uuid format, uid_001',
`match_status` VARCHAR(2) COMMENT '(可用|不可用): 01|00; 为什么00,因为所有RequestParam参数的defaultValue都设为0值, 会被认为是空或者null', `match_status` VARCHAR(2) COMMENT '(可用|不可用): 01|00; 为什么00,因为所有RequestParam参数的defaultValue都设为0值, 会被认为是空或者null',
`match_point` double(10,2) COMMENT '得分: 4.5 or 5.0', `match_point` double(10,2) COMMENT '得分: 4.5 or 5.0',
...@@ -29,11 +28,11 @@ CREATE TABLE tbl_match ( ...@@ -29,11 +28,11 @@ CREATE TABLE tbl_match (
`create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`update_datetime` DATETIME DEFAULT NULL, `update_datetime` DATETIME DEFAULT NULL,
PRIMARY KEY(`match_id`), PRIMARY KEY(`match_id`),
KEY `query_key` (`member_id`, `user_id`, `match_status`)) KEY `query_key` (`activity_id`, `user_id`, `match_status`))
ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='竞答结果'; ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='竞答结果';
INSERT INTO `tbl_match`(`match_id`, `member_id`, `user_id`, `match_status`, `match_point`,`match_result`, `create_datetime`,`update_datetime`) INSERT INTO `tbl_match`(`match_id`, `activity_id`, `user_id`, `match_status`, `match_point`, `match_result`, `qrcode_url`, `create_datetime`,`update_datetime`)
VALUES VALUES
('mid_001', 'mid_123', 'uid_030e7057-e6b5-4fb0-bcbf-d8bf055e38d9', '00', 4.5, '9/10', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45'), ('mid_001', 'aid_001', 'uid_030e7057-e6b5-4fb0-bcbf-d8bf055e38d9', '00', 4.0, '4/5', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45'),
('mid_002', 'mid_123', 'uid_030e7057-e6b5-4fb0-bcbf-d8bf055e38d9', '01', 4.5, '9/10', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45'), ('mid_002', 'aid_001', 'uid_030e7057-e6b5-4fb0-bcbf-d8bf055e38d9', '01', 3.0, '3/5', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45'),
('mid_003', 'mid_123', 'uid_088a957b-78e9-49cd-980b-ce8bc47b4e11', '01', 4.0, '8/10', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45'); ('mid_003', 'aid_002', 'uid_088a957b-78e9-49cd-980b-ce8bc47b4e11', '01', 4.0, '8/10', 'https://930-test-sh.oss-cn-shanghai.aliyuncs.com/qrcode-dir/mid_11235813.png', '2019-11-20 11:24:45', '2019-11-20 11:24:45');
\ No newline at end of file \ No newline at end of file
USE rockwell_key; USE rockwell_key;
...@@ -15,8 +15,8 @@ DROP VIEW IF EXISTS view_match_point; ...@@ -15,8 +15,8 @@ DROP VIEW IF EXISTS view_match_point;
CREATE VIEW view_match_point CREATE VIEW view_match_point
AS AS
SELECT aa.match_id, aa.match_status, aa.member_id, bb.member_name, cc.nickName AS nick_name, aa.match_point, dd.bonus_count, dd.bonus_point, aa.match_point+dd.bonus_point AS total_point, aa.user_id, aa.qrcode_url SELECT aa.match_id, aa.match_status, bb.member_id, bb.member_name, cc.nickName AS nick_name, aa.match_point, dd.bonus_count, dd.bonus_point, aa.match_point+dd.bonus_point AS total_point, aa.user_id, aa.qrcode_url
FROM tbl_match aa FROM tbl_match aa
LEFT JOIN tbl_member bb ON aa.member_id=bb.id LEFT JOIN view_activity_info bb ON aa.activity_id=bb.activity_id
LEFT JOIN rockwell_user.tbl_userinfo cc ON aa.user_id=cc.userid LEFT JOIN rockwell_user.tbl_userinfo cc ON aa.user_id=cc.userid
LEFT JOIN view_match_bonus dd ON aa.match_id=dd.match_id LEFT JOIN view_match_bonus dd ON aa.match_id=dd.match_id
USE rockwell_key; USE rockwell_key;
USE rockwell_key; USE rockwell_key;
/* /*
wine与member映射表 goods 与 activity 映射表
什么wine,在哪家member,有多少数量,价格多少 什么 goods, 属于哪个 activity, 有多少数量,价格多少
wine和member的关系 1:n 一种wine可以在多个member那里 activity 和 goods 的关系 1:n 一个 goods 对于多个 activity
比如 一场活动 有两个类别,一个针对会员,一个针对普通用户
*/ */
DROP TABLE IF EXISTS tbl_goods; DROP TABLE IF EXISTS tbl_goods;
CREATE TABLE tbl_goods( CREATE TABLE tbl_goods(
`goods_id` VARCHAR(100) COMMENT 'goods的id, uuid format', `goods_id` VARCHAR(100) COMMENT 'goods的id, uuid format',
`goods_status` VARCHAR(10) COMMENT '商品状态: 0:非可售 1:可售', `goods_status` VARCHAR(10) COMMENT '商品状态: 00:非可售 01:可售',
`goods_desc` VARCHAR(100) COMMENT '商品类别: 描述',
`detail_id` VARCHAR(100) COMMENT '商品的详情id, uuid format', `detail_id` VARCHAR(100) COMMENT '商品的详情id, uuid format',
`member_id` VARCHAR(100) COMMENT '渠道id, uuid format', `price` decimal(10,2) DEFAULT '0.00' COMMENT '价格',
`price` decimal(18,2) DEFAULT '0.00' COMMENT '价格', `stock` decimal(10,2) DEFAULT '0.00' COMMENT '库存',
`amount` decimal(18,2) DEFAULT '0.00' COMMENT '数量',
`create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', `create_datetime` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`update_datetime` DATETIME DEFAULT NULL, `update_datetime` DATETIME DEFAULT NULL,
PRIMARY KEY(`goods_id`, `detail_id`, `member_id`), PRIMARY KEY(`goods_id`),
KEY `query_key` (`goods_status`)) KEY `query_key` (`goods_status`))
ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='酒肆商品主表,记录wine、商家映射表'; ENGINE=INNODB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT='活动所对应的商品名录';
insert into `tbl_goods`(`goods_id`, `goods_status`, `detail_id`, `member_id`, `price`, `amount`, insert into `tbl_goods`(`goods_id`, `goods_status`, `goods_desc`, `detail_id`, `price`, `stock`,
`create_datetime`,`update_datetime`) `create_datetime`,`update_datetime`)
values values
('gid_001', '1', 'did_001', 'mid_001', 10.5, 10, '2020-05-20 11:24:45', '2020-05-20 11:24:45'), ('gid_001', '01', '会员', '', 59, 10, '2020-05-20 11:24:45', '2020-05-20 11:24:45'),
('gid_002', '1', 'did_001', 'mid_002', 11.5, 20, '2020-05-20 11:24:45', '2020-05-20 11:24:45'); ('gid_002', '01', '普通用户', '', 99, 20, '2020-05-20 11:24:45', '2020-05-20 11:24:45'),
('gid_003', '01', '意大利红酒周', '', 10.5, 10, '2020-05-20 11:24:45', '2020-05-20 11:24:45')
;
/*
/*
一. 商家活动创建流程:
1. 自定义活动
1) 新增图片, note_image
-- 图片选择 weapp post.wxml bindtap="addPhoto"
-- 图片处理 weapp post.js onEditPic()/editPic()
-- 下一步 weapp post.xml bindtap="navigateToEditTitle"
-- 图片合规验证 weapp app.js app.onCheckPic()
2) 新增标题, title
-- 标题填写 weapp edit_title.wxml bindinput="bindKeyInput"
-- 下一步 weapp edit_title.js bindtap="navigateToEditTag"
-- 标题合规验证 weapp edit_title.js app.onCheckText()
3) 新增标签, tag
-- 标签选择 weapp edit_tag.wxml bindinput="bindKeyInput"
4) 新增内容, content
- 如果不是"竞答", 则进入内容编辑
https://blog.csdn.net/hotqin888/article/details/90348007
https://blog.csdn.net/qq_29789057/article/details/90108048
https://blog.csdn.net/hotqin888/article/details/97619267
https://blog.csdn.net/healerwen/article/details/104965555 富文本内容存取数据库 2020-03-19
https://www.jianshu.com/p/8521be78f9c4 微信小程序使用富文本编辑器 2020.02.21
https://developers.weixin.qq.com/miniprogram/dev/component/editor.html editor
-- 判断文本是否合规
5) 填写价格 price (tbl_goods, 形式同tbl_quiz)
6) 填写数量 amount (tbl_goods, 形式同tbl_quiz)
7) 填写类别 goods_desc (tbl_goods, 形式同tbl_quiz)
8) 默认 quiz 为""
9) 默认 point 为""
- 如果是"竞答", 则进入竞答编辑 (参考第二种)
5) 默认 goods 为""
6) 新增 quiz
-- 新增 题目|选项 (添加) |答案 保存
7) 新增积分 point
-- 积分
8) 自动拼接生成 content
-- 上传功能 submit.wxml onSubmitPost()
-- 文字合规验证 app.onCheckText(title+content)
-- 图片上传oss releaseOss(title, content)
-- 上传阿里云 uploadAli()
-- 上传数据库 n-1图直接上传, 第n图上传+设置callback,在java后台提交参数到数据库
btw: 关于 activity_id 和 tbl_quiz|tbl_goods 匹配的模式
效率如何,数据是否有重复.
1) 先创建 activity_id 然后 insert quiz 的时候, 将activity_id 带上
2) 先创建 quiz_id 然后构建 quiz_string 存入 tbl_activity 表
第一种可能会存在多份相同的quiz, 尤其是通过模板导入的时候
数据结构为:
tbl_quiz: quiz_id, activity_id
tbl_activity: activity_id
第二种需要先存入 quiz, 生成 quiz_id, 后构建 activity_id
可以保证 quiz 和 activity 数据表的相对整洁
因为最多10道题,也可以保证数据的相对整洁
数据结构为:
tbl_quiz: quiz_id
tbl_activity: activity_id, quiz_id::quiz_id::quiz_id
2. 拷贝活动
todo
二. 商家活动发布流程
-- 创建完毕 -> 发布 releaseActivity()
-- 我的活动 -> 发布 releaseActivity()
三. 商家活动参与流程
1. 竞答
-- 进入竞答, weapp activity.wxml
-- 点击进入活动详情页面 weapp activity.wxml <navigator>
-- 回到首页 weapp quiz-info.wxml bindtap="toHome"
-- 分享 weapp quiz-info.js options.from == 'button'
-- 右上角分享 weapp quiz-info.js onShareAppMessage()
-- 立即参与 weapp quiz-info.wxml bindtap="toGame"
-- 转到竞答页 weapp quiz.js wx.navigateTo(/matchTest)
-- 下一题 weapp matchTest.wxml bindtap="onTypeNext"
-- 完成测试 weapp matchTest.js doneDaily()
-- 转到结果页 weapp quiz.js wx.navigateTo(/quiz-result)
-- 查看积分 weapp quiz-result.wxml bindtap="onCheckPoints"
-- 分享战绩 weapp quiz-result.wxml open-type="share"
-- 返回首页 weapp quiz-result.wxml bindtap="toHome"
2. 活动
四. 用户到店使用流程
1. 竞答
-- 进入个人 我的->我的积分 weapp my.wxml
-- 进入我的积分 weapp my.wxml <navigator> /points.wxml
-- 可用|不可用 weapp points.wxml bindtap="tab"
-- 可用-助力清单 weapp points.wxml bindtap="onClickPoints"
-- 可用-优惠券码 weapp points.wxml bindtap="onClickBarcode"
-- 不可用-助力清单 weapp points.wxml bindtap="onClickPoints"
-- 扫一扫 weapp activity.wxml bindtap="getQRCode"
-- 扫码流程 weapp activity.js getQRCode() 更新match_status
2. 活动
五. 用户注册流程
todo
六. 商家注册流程
todo
*/
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论