diff --git a/doc/tduck.sql b/doc/tduck.sql index cef69d3..1f9c488 100644 --- a/doc/tduck.sql +++ b/doc/tduck.sql @@ -1,17 +1,16 @@ /* Navicat Premium Data Transfer - Source Server : ivo1 + Source Server : ivo Source Server Type : MySQL Source Server Version : 50718 - Source Host : sh-cynosdbmysql-grp-e911sges.sql.tencentcdb.com:29062 Source Schema : tduck Target Server Type : MySQL Target Server Version : 50718 File Encoding : 65001 - Date: 24/06/2021 11:05:57 + Date: 17/07/2021 15:07:35 */ SET NAMES utf8mb4; @@ -31,13 +30,13 @@ CREATE TABLE `ac_user` ( `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', `reg_channel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT '注册渠道', `last_login_channel` tinyint(4) NULL DEFAULT NULL COMMENT '最后登录渠道', - `last_login_time` datetime(0) NULL DEFAULT NULL COMMENT '最后登录时间', + `last_login_time` datetime NULL DEFAULT NULL COMMENT '最后登录时间', `last_login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登录Ip', `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '状态', - `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 220 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 945 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for ac_user_authorize @@ -51,8 +50,8 @@ CREATE TABLE `ac_user_authorize` ( `user_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '平台用户名', `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户Id', `user_info` json NULL COMMENT '平台用户信息', - `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), - `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), + `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '第三方用户授权信息' ROW_FORMAT = DYNAMIC; @@ -63,17 +62,17 @@ DROP TABLE IF EXISTS `pr_project_template`; CREATE TABLE `pr_project_template` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `key` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板唯一标识', - `cover_img` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '封面图', - `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目名称', - `describe` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '项目描述', + `cover_img` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图', + `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称', + `describe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '项目描述', `like_count` int(10) NULL DEFAULT 0 COMMENT '喜欢数', `category_id` int(2) NOT NULL COMMENT '项目类型', `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `code`(`key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 59 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 341 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_project_template_category @@ -81,12 +80,12 @@ CREATE TABLE `pr_project_template` ( DROP TABLE IF EXISTS `pr_project_template_category`; CREATE TABLE `pr_project_template_category` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, - `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主题名称', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主题名称', `sort` int(11) NULL DEFAULT NULL COMMENT '排序', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目模板分类' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目模板分类' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_project_template_item @@ -97,21 +96,21 @@ CREATE TABLE `pr_project_template_item` ( `project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key', `form_item_id` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单项Id', `type` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单项类型 ', - `label` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单项标题', + `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单项标题', `show_label` tinyint(1) NOT NULL COMMENT '是否显示标签', `default_value` json NULL COMMENT '表单项默认值', `required` tinyint(1) NOT NULL COMMENT '是否必填', - `placeholder` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入型提示文字', + `placeholder` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输入型提示文字', `sort` bigint(20) NULL DEFAULT 0 COMMENT '排序', `span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度', `expand` json NULL COMMENT '扩展字段 表单项独有字段', `reg_list` json NULL COMMENT '正则表达式 ', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `is_display_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '展示类型组件', PRIMARY KEY (`id`) USING BTREE, INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1030 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表单项' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2451 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_project_theme @@ -119,15 +118,15 @@ CREATE TABLE `pr_project_template_item` ( DROP TABLE IF EXISTS `pr_project_theme`; CREATE TABLE `pr_project_theme` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, - `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主题名称', + `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主题名称', `style` json NOT NULL COMMENT '主题风格\r\n', `head_img_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头部图片', `color` json NOT NULL COMMENT '颜色代码', `btns_color` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '按钮颜色', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 216 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目主题外观模板' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 216 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目主题外观模板' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for pr_user_project @@ -144,11 +143,11 @@ CREATE TABLE `pr_user_project` ( `type` tinyint(2) NULL DEFAULT NULL COMMENT '项目类型', `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `code`(`key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2429 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 4081 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_user_project_item @@ -159,21 +158,21 @@ CREATE TABLE `pr_user_project_item` ( `project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key', `form_item_id` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '表单项Id', `type` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单项类型 ', - `label` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '表单项标题', + `label` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表单项标题', `is_display_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '展示类型组件', `show_label` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示标签', `default_value` json NULL COMMENT '表单项默认值', `required` tinyint(1) NOT NULL COMMENT '是否必填', - `placeholder` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '输入型提示文字', + `placeholder` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '输入型提示文字', `sort` bigint(20) NULL DEFAULT 0 COMMENT '排序', `span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度', `expand` json NULL COMMENT '扩展字段 表单项独有字段', `reg_list` json NULL COMMENT '正则表达式 ', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 19989 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 30013 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_user_project_logic @@ -185,11 +184,11 @@ CREATE TABLE `pr_user_project_logic` ( `form_item_id` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '问题Id', `expression` tinyint(1) NOT NULL COMMENT '条件选项 ', `condition_list` json NOT NULL COMMENT '条件列表', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 104 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目逻辑' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 569 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目逻辑' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_user_project_result @@ -207,44 +206,47 @@ CREATE TABLE `pr_user_project_result` ( `submit_request_ip` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求ip', `submit_address` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交地址', `complete_time` int(11) NULL DEFAULT NULL COMMENT '完成时间 毫秒', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', + `wx_open_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信openId', + `wx_user_info` json NULL COMMENT '微信用户信息', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1851 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 2226 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_user_project_setting -- ---------------------------- DROP TABLE IF EXISTS `pr_user_project_setting`; CREATE TABLE `pr_user_project_setting` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT, + `id` bigint(20) NOT NULL, `project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key', - `submit_prompt_img` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交提示图片', - `submit_prompt_text` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交提示文字', + `submit_prompt_img` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交提示图片', + `submit_prompt_text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提交提示文字', `submit_jump_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交跳转连接', `is_public_result` tinyint(1) NULL DEFAULT NULL COMMENT '公开提交结果', `is_wx_write` tinyint(1) NULL DEFAULT NULL COMMENT '只在微信填写', + `is_wx_write_once` tinyint(1) NULL DEFAULT NULL, `is_everyone_write_once` tinyint(1) NULL DEFAULT NULL COMMENT '每人只能填写一次', `is_everyone_day_write_once` tinyint(1) NULL DEFAULT NULL COMMENT '每人每天只能填写一次', - `write_once_prompt_text` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '填写之后提示', + `write_once_prompt_text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '填写之后提示', `new_write_notify_email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '新反馈通知邮件', `new_write_notify_wx` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '新反馈通知微信', `is_record_wx_user` tinyint(1) NULL DEFAULT NULL COMMENT '记录微信用户个人信息', - `timed_collection_begin_time` datetime(0) NULL DEFAULT NULL COMMENT '定时收集开始时间', - `timed_collection_end_time` datetime(0) NULL DEFAULT NULL COMMENT '定时收集结束时间', - `timed_not_enabled_prompt_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '定时未启动提示文字', - `timed_deactivate_prompt_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '定时停用会提示文字', + `timed_collection_begin_time` datetime NULL DEFAULT NULL COMMENT '定时收集开始时间', + `timed_collection_end_time` datetime NULL DEFAULT NULL COMMENT '定时收集结束时间', + `timed_not_enabled_prompt_text` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定时未启动提示文字', + `timed_deactivate_prompt_text` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定时停用会提示文字', `timed_quantitative_quantity` int(100) NULL DEFAULT NULL COMMENT '定时定量数量', - `timed_end_prompt_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '定时定量完成提示', + `timed_end_prompt_text` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '定时定量完成提示', `share_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享图片', `share_title` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享标题', `share_desc` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分享描述', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 365 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for pr_user_project_theme @@ -254,19 +256,19 @@ CREATE TABLE `pr_user_project_theme` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key', `theme_id` bigint(20) NULL DEFAULT NULL COMMENT '主题Id', - `submit_btn_text` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交按钮文字', + `submit_btn_text` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提交按钮文字', `logo_img` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'logo图片', `logo_position` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'logo位置', `background_color` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景颜色', `background_img` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景图片', `show_title` tinyint(1) NULL DEFAULT 1 COMMENT '是否显示标题', `show_describe` tinyint(1) NULL DEFAULT 1 COMMENT '是否显示描述语', - `show_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '0' COMMENT '显示序号', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `show_number` tinyint(1) NULL DEFAULT 0 COMMENT '显示序号', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `project_key`(`project_key`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 639 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 945 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '项目表单项' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for wx_mp_user @@ -285,11 +287,10 @@ CREATE TABLE `wx_mp_user` ( `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市', `is_subscribe` tinyint(1) NULL DEFAULT 1 COMMENT '是否关注', `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', - `update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', - `create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', + `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`) USING BTREE, INDEX `wx_union_id`(`head_img_url`(191)) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号用户 ' ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB AUTO_INCREMENT = 728 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '微信公众号用户 ' ROW_FORMAT = DYNAMIC; SET FOREIGN_KEY_CHECKS = 1; -INSERT INTO `tduck`.`ac_user`(`id`, `name`, `avatar`, `gender`, `email`, `phone_number`, `password`, `reg_channel`, `last_login_channel`, `last_login_time`, `last_login_ip`, `deleted`, `create_time`, `update_time`) VALUES (201, 'Tduck001', 'https://oss.smileyi.top/757b505cfd34c64c85ca5b5690ee5293/4c415e1c1af04af68d740e667819bece.png', 0, 'test@tduck.com', NULL, 'ef797c8118f02dfb649607dd5d3f8c7623048c9c063d532cc95c5ed7a898a64f', '1', 2, '2021-06-24 11:08:21', '111.30.56.26', 0, '2020-11-12 11:50:50', '2021-06-24 11:08:21'); diff --git a/doc/v2.1.0.sql b/doc/v2.1.0.sql new file mode 100644 index 0000000..1b83845 --- /dev/null +++ b/doc/v2.1.0.sql @@ -0,0 +1,6 @@ +ALTER TABLE `tduck`.`pr_user_project_result` + ADD COLUMN `wx_open_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信openId' AFTER `complete_time`, +ADD COLUMN `wx_user_info` json NULL COMMENT '微信用户信息' AFTER `wx_open_id`, + +ALTER TABLE `tduck`.`pr_user_project_setting` + ADD COLUMN `is_wx_write_once` tinyint(1) NULL AFTER `is_wx_write`; \ No newline at end of file diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java index 1fbea24..89a55e0 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java @@ -275,7 +275,7 @@ public class UserProjectController { .eq(UserProjectItemEntity::getProjectKey, request.getKey()) .eq(ObjectUtil.isNotNull(request.getDisplayType()), UserProjectItemEntity::getDisplayType, request.getDisplayType()) .orderByAsc(UserProjectItemEntity::getSort) - ); + ); return Result.success(itemEntityList); } @@ -440,7 +440,7 @@ public class UserProjectController { */ @GetMapping("/user/project/setting-status") public Result querySettingStatus(@RequestParam String projectKey, HttpServletRequest request) { - return userProjectSettingService.getUserProjectSettingStatus(projectKey, HttpUtils.getIpAddr(request)); + return userProjectSettingService.getUserProjectSettingStatus(projectKey, HttpUtils.getIpAddr(request), ""); } diff --git a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java index bbfb245..cbbf6eb 100644 --- a/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java +++ b/tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java @@ -80,12 +80,12 @@ public class UserProjectResultController { @NoRepeatSubmit @PostMapping("/create") public Result createProjectResult(@RequestBody UserProjectResultEntity entity, HttpServletRequest request) { - Result userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), HttpUtils.getIpAddr(request)); + ValidatorUtils.validateEntity(entity); + entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); + Result userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), entity.getSubmitRequestIp(),entity.getWxOpenId()); if (StrUtil.isNotBlank(userProjectSettingStatus.getMsg())) { return Result.failed(userProjectSettingStatus.getMsg()); } - entity.setSubmitRequestIp(HttpUtils.getIpAddr(request)); - ValidatorUtils.validateEntity(entity); projectResultService.saveProjectResult(entity); ThreadUtil.execAsync(() -> { UserProjectSettingEntity settingEntity = userProjectSettingStatus.isDataNull() ? null : userProjectSettingStatus.getData(); diff --git a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java index 6a51e73..8e73b05 100644 --- a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java +++ b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java @@ -75,6 +75,10 @@ public class UserProjectResultEntity extends BaseEntity */ private String submitRequestIp; + /** + * 提交地址 + */ + private String submitRequestMac; /** * 提交ip */ @@ -85,4 +89,14 @@ public class UserProjectResultEntity extends BaseEntity */ private Long completeTime; + /** + * 微信openID + */ + private String wxOpenId; + + /** + * 微信用户信息 + */ + @TableField(typeHandler = JacksonTypeHandler.class) + private Map wxUserInfo; } \ No newline at end of file diff --git a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java index 277f9a9..8070231 100644 --- a/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java +++ b/tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java @@ -50,6 +50,12 @@ public class UserProjectSettingEntity extends BaseEntitylambdaQuery().eq(UserProjectResultEntity::getProjectKey, projectKey)); if (resultCount >= timedQuantitativeQuantity) { - return Result.success(setting, StringUtils.isEmpty(setting.getTimedEndPromptText())?"收集数量已达到。":setting.getTimedEndPromptText()); + return Result.success(setting, StringUtils.isEmpty(setting.getTimedEndPromptText()) ? "收集数量已达到。" : setting.getTimedEndPromptText()); } } //每个人只需填写一次 根据IP判断 @@ -84,6 +84,16 @@ public class UserProjectSettingServiceImpl extends ServiceImpl wrapper = Wrappers.lambdaQuery() + .eq(UserProjectResultEntity::getProjectKey, projectKey) + .eq(UserProjectResultEntity::getWxOpenId, wxOpenId); + int writeCount = userProjectResultService.count(wrapper); + if (CommonConstants.ConstantNumber.ONE <= writeCount) { + return Result.success(null, "已经填写过,无法再次填写"); + } + } return Result.success(setting); }