Browse Source

更新sql

增加结果微信相关字段
dev
wangqing 4 years ago
parent
commit
6eec17d6b1
  1. 127
      doc/tduck.sql
  2. 6
      doc/v2.1.0.sql
  3. 2
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java
  4. 6
      tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java
  5. 14
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java
  6. 7
      tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java
  7. 3
      tduck-project/src/main/java/com/tduck/cloud/project/service/UserProjectSettingService.java
  8. 2
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/ProjectDashboardServiceImpl.java
  9. 18
      tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectSettingServiceImpl.java

127
doc/tduck.sql

@ -1,17 +1,16 @@
/* /*
Navicat Premium Data Transfer Navicat Premium Data Transfer
Source Server : ivo1 Source Server : ivo
Source Server Type : MySQL Source Server Type : MySQL
Source Server Version : 50718 Source Server Version : 50718
Source Host : sh-cynosdbmysql-grp-e911sges.sql.tencentcdb.com:29062
Source Schema : tduck Source Schema : tduck
Target Server Type : MySQL Target Server Type : MySQL
Target Server Version : 50718 Target Server Version : 50718
File Encoding : 65001 File Encoding : 65001
Date: 24/06/2021 11:05:57 Date: 17/07/2021 15:07:35
*/ */
SET NAMES utf8mb4; 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 '密码', `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 '注册渠道', `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_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', `last_login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '最后登录Ip',
`deleted` tinyint(1) NULL DEFAULT 0 COMMENT '状态', `deleted` tinyint(1) NULL DEFAULT 0 COMMENT '状态',
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE 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 -- 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_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '平台用户名',
`user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户Id', `user_id` bigint(11) NULL DEFAULT NULL COMMENT '用户Id',
`user_info` json NULL COMMENT '平台用户信息', `user_info` json NULL COMMENT '平台用户信息',
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0), `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '第三方用户授权信息' ROW_FORMAT = DYNAMIC; ) 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` ( CREATE TABLE `pr_project_template` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `id` bigint(20) NOT NULL AUTO_INCREMENT,
`key` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '模板唯一标识', `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 '封面图', `cover_img` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '封面图',
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目名称', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '项目名称',
`describe` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '项目描述', `describe` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '项目描述',
`like_count` int(10) NULL DEFAULT 0 COMMENT '喜欢数', `like_count` int(10) NULL DEFAULT 0 COMMENT '喜欢数',
`category_id` int(2) NOT NULL COMMENT '项目类型', `category_id` int(2) NOT NULL COMMENT '项目类型',
`status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态', `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`key`) 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 -- Table structure for pr_project_template_category
@ -81,12 +80,12 @@ CREATE TABLE `pr_project_template` (
DROP TABLE IF EXISTS `pr_project_template_category`; DROP TABLE IF EXISTS `pr_project_template_category`;
CREATE TABLE `pr_project_template_category` ( CREATE TABLE `pr_project_template_category` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `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 '排序', `sort` int(11) NULL DEFAULT NULL COMMENT '排序',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE 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 -- 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', `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', `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 '表单项类型 ', `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 '是否显示标签', `show_label` tinyint(1) NOT NULL COMMENT '是否显示标签',
`default_value` json NULL COMMENT '表单项默认值', `default_value` json NULL COMMENT '表单项默认值',
`required` tinyint(1) NOT 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 '排序', `sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度', `span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度',
`expand` json NULL COMMENT '扩展字段 表单项独有字段', `expand` json NULL COMMENT '扩展字段 表单项独有字段',
`reg_list` json NULL COMMENT '正则表达式 ', `reg_list` json NULL COMMENT '正则表达式 ',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`is_display_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '展示类型组件', `is_display_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '展示类型组件',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `project_key`(`project_key`) 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 -- Table structure for pr_project_theme
@ -119,15 +118,15 @@ CREATE TABLE `pr_project_template_item` (
DROP TABLE IF EXISTS `pr_project_theme`; DROP TABLE IF EXISTS `pr_project_theme`;
CREATE TABLE `pr_project_theme` ( CREATE TABLE `pr_project_theme` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `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', `style` json NOT NULL COMMENT '主题风格\r\n',
`head_img_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头部图片', `head_img_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头部图片',
`color` json NOT NULL COMMENT '颜色代码', `color` json NOT NULL COMMENT '颜色代码',
`btns_color` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 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 '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE 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 -- Table structure for pr_user_project
@ -144,11 +143,11 @@ CREATE TABLE `pr_user_project` (
`type` tinyint(2) NULL DEFAULT NULL COMMENT '项目类型', `type` tinyint(2) NULL DEFAULT NULL COMMENT '项目类型',
`status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态', `status` tinyint(2) NOT NULL DEFAULT 0 COMMENT '状态',
`is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除', `is_deleted` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否删除',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `code`(`key`) 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 -- 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', `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', `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 '表单项类型 ', `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 '展示类型组件', `is_display_type` tinyint(1) NOT NULL DEFAULT 0 COMMENT '展示类型组件',
`show_label` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示标签', `show_label` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否显示标签',
`default_value` json NULL COMMENT '表单项默认值', `default_value` json NULL COMMENT '表单项默认值',
`required` tinyint(1) NOT 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 '排序', `sort` bigint(20) NULL DEFAULT 0 COMMENT '排序',
`span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度', `span` int(10) NOT NULL DEFAULT 24 COMMENT '栅格宽度',
`expand` json NULL COMMENT '扩展字段 表单项独有字段', `expand` json NULL COMMENT '扩展字段 表单项独有字段',
`reg_list` json NULL COMMENT '正则表达式 ', `reg_list` json NULL COMMENT '正则表达式 ',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `project_key`(`project_key`) 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 -- 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', `form_item_id` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '问题Id',
`expression` tinyint(1) NOT NULL COMMENT '条件选项 ', `expression` tinyint(1) NOT NULL COMMENT '条件选项 ',
`condition_list` json NOT NULL COMMENT '条件列表', `condition_list` json NOT NULL COMMENT '条件列表',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `project_key`(`project_key`) 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 -- 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_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 '提交地址', `submit_address` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交地址',
`complete_time` int(11) NULL DEFAULT NULL COMMENT '完成时间 毫秒', `complete_time` int(11) NULL DEFAULT NULL COMMENT '完成时间 毫秒',
`create_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',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `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, PRIMARY KEY (`id`) USING BTREE,
INDEX `project_key`(`project_key`) 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 -- Table structure for pr_user_project_setting
-- ---------------------------- -- ----------------------------
DROP TABLE IF EXISTS `pr_user_project_setting`; DROP TABLE IF EXISTS `pr_user_project_setting`;
CREATE TABLE `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', `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_img` varchar(200) 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_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 '提交跳转连接', `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_public_result` tinyint(1) NULL DEFAULT NULL COMMENT '公开提交结果',
`is_wx_write` 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_write_once` tinyint(1) NULL DEFAULT NULL COMMENT '每人只能填写一次',
`is_everyone_day_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_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 '新反馈通知微信', `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 '记录微信用户个人信息', `is_record_wx_user` tinyint(1) NULL DEFAULT NULL COMMENT '记录微信用户个人信息',
`timed_collection_begin_time` datetime(0) NULL DEFAULT NULL COMMENT '定时收集开始时间', `timed_collection_begin_time` datetime NULL DEFAULT NULL COMMENT '定时收集开始时间',
`timed_collection_end_time` datetime(0) NULL DEFAULT NULL COMMENT '定时收集结束时间', `timed_collection_end_time` datetime NULL DEFAULT NULL COMMENT '定时收集结束时间',
`timed_not_enabled_prompt_text` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci 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 utf8 COLLATE utf8_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_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_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_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 '分享描述', `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 '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `project_key`(`project_key`) 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 -- Table structure for pr_user_project_theme
@ -254,19 +256,19 @@ CREATE TABLE `pr_user_project_theme` (
`id` bigint(20) NOT NULL AUTO_INCREMENT, `id` bigint(20) NOT NULL AUTO_INCREMENT,
`project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key', `project_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '项目key',
`theme_id` bigint(20) NULL DEFAULT NULL COMMENT '主题Id', `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_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位置', `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_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 '背景图片', `background_img` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '背景图片',
`show_title` tinyint(1) NULL DEFAULT 1 COMMENT '是否显示标题', `show_title` tinyint(1) NULL DEFAULT 1 COMMENT '是否显示标题',
`show_describe` 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 '显示序号', `show_number` tinyint(1) NULL DEFAULT 0 COMMENT '显示序号',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `project_key`(`project_key`) 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 -- 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 '城市', `city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '城市',
`is_subscribe` tinyint(1) NULL DEFAULT 1 COMMENT '是否关注', `is_subscribe` tinyint(1) NULL DEFAULT 1 COMMENT '是否关注',
`user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id', `user_id` bigint(20) NULL DEFAULT NULL COMMENT '用户Id',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间', `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间', `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE, PRIMARY KEY (`id`) USING BTREE,
INDEX `wx_union_id`(`head_img_url`(191)) 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; 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');

6
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`;

2
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectController.java

@ -440,7 +440,7 @@ public class UserProjectController {
*/ */
@GetMapping("/user/project/setting-status") @GetMapping("/user/project/setting-status")
public Result querySettingStatus(@RequestParam String projectKey, HttpServletRequest request) { public Result querySettingStatus(@RequestParam String projectKey, HttpServletRequest request) {
return userProjectSettingService.getUserProjectSettingStatus(projectKey, HttpUtils.getIpAddr(request)); return userProjectSettingService.getUserProjectSettingStatus(projectKey, HttpUtils.getIpAddr(request), "");
} }

6
tduck-api/src/main/java/com/tduck/cloud/api/web/controller/UserProjectResultController.java

@ -80,12 +80,12 @@ public class UserProjectResultController {
@NoRepeatSubmit @NoRepeatSubmit
@PostMapping("/create") @PostMapping("/create")
public Result createProjectResult(@RequestBody UserProjectResultEntity entity, HttpServletRequest request) { public Result createProjectResult(@RequestBody UserProjectResultEntity entity, HttpServletRequest request) {
Result<UserProjectSettingEntity> userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), HttpUtils.getIpAddr(request)); ValidatorUtils.validateEntity(entity);
entity.setSubmitRequestIp(HttpUtils.getIpAddr(request));
Result<UserProjectSettingEntity> userProjectSettingStatus = userProjectSettingService.getUserProjectSettingStatus(entity.getProjectKey(), entity.getSubmitRequestIp(),entity.getWxOpenId());
if (StrUtil.isNotBlank(userProjectSettingStatus.getMsg())) { if (StrUtil.isNotBlank(userProjectSettingStatus.getMsg())) {
return Result.failed(userProjectSettingStatus.getMsg()); return Result.failed(userProjectSettingStatus.getMsg());
} }
entity.setSubmitRequestIp(HttpUtils.getIpAddr(request));
ValidatorUtils.validateEntity(entity);
projectResultService.saveProjectResult(entity); projectResultService.saveProjectResult(entity);
ThreadUtil.execAsync(() -> { ThreadUtil.execAsync(() -> {
UserProjectSettingEntity settingEntity = userProjectSettingStatus.isDataNull() ? null : userProjectSettingStatus.getData(); UserProjectSettingEntity settingEntity = userProjectSettingStatus.isDataNull() ? null : userProjectSettingStatus.getData();

14
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectResultEntity.java

@ -75,6 +75,10 @@ public class UserProjectResultEntity extends BaseEntity<UserProjectResultEntity>
*/ */
private String submitRequestIp; private String submitRequestIp;
/**
* 提交地址
*/
private String submitRequestMac;
/** /**
* 提交ip * 提交ip
*/ */
@ -85,4 +89,14 @@ public class UserProjectResultEntity extends BaseEntity<UserProjectResultEntity>
*/ */
private Long completeTime; private Long completeTime;
/**
* 微信openID
*/
private String wxOpenId;
/**
* 微信用户信息
*/
@TableField(typeHandler = JacksonTypeHandler.class)
private Map<String, Object> wxUserInfo;
} }

7
tduck-project/src/main/java/com/tduck/cloud/project/entity/UserProjectSettingEntity.java

@ -50,6 +50,12 @@ public class UserProjectSettingEntity extends BaseEntity<UserProjectSettingEntit
*/ */
@TableField("is_wx_write") @TableField("is_wx_write")
private Boolean wxWrite; private Boolean wxWrite;
/**
* 一个微信只能填写一次
*/
@TableField("is_wx_write_once")
private Boolean wxWriteOnce;
/** /**
* 每人只能填写一次 * 每人只能填写一次
*/ */
@ -119,5 +125,4 @@ public class UserProjectSettingEntity extends BaseEntity<UserProjectSettingEntit
private String shareDesc; private String shareDesc;
} }

3
tduck-project/src/main/java/com/tduck/cloud/project/service/UserProjectSettingService.java

@ -19,9 +19,10 @@ public interface UserProjectSettingService extends IService<UserProjectSettingEn
* *
* @param projectKey * @param projectKey
* @param requestIp * @param requestIp
* @param wxOpenId
* @return * @return
*/ */
Result getUserProjectSettingStatus(String projectKey, String requestIp); Result getUserProjectSettingStatus(String projectKey, String requestIp, String wxOpenId);
/** /**

2
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/ProjectDashboardServiceImpl.java

@ -118,9 +118,11 @@ public class ProjectDashboardServiceImpl implements ProjectDashboardService {
for (int i = 0; i < fieldValues.length; i++) { for (int i = 0; i < fieldValues.length; i++) {
// 获取问题集合中对应的选项的count // 获取问题集合中对应的选项的count
Integer count = entry.getValue().get(fieldValues[i]); Integer count = entry.getValue().get(fieldValues[i]);
if(ObjectUtil.isNotNull(count)){
entry.getValue().put(fieldValues[i], count +1); entry.getValue().put(fieldValues[i], count +1);
} }
} }
}
formMap.get(entry.getKey()).setFieldName(new ArrayList(entry.getValue().keySet())); formMap.get(entry.getKey()).setFieldName(new ArrayList(entry.getValue().keySet()));
formMap.get(entry.getKey()).setData(new ArrayList(entry.getValue().values())); formMap.get(entry.getKey()).setData(new ArrayList(entry.getValue().values()));
formMap.get(entry.getKey()).setMap(entry.getValue()); formMap.get(entry.getKey()).setMap(entry.getValue());

18
tduck-project/src/main/java/com/tduck/cloud/project/service/impl/UserProjectSettingServiceImpl.java

@ -39,7 +39,7 @@ public class UserProjectSettingServiceImpl extends ServiceImpl<UserProjectSettin
@Override @Override
public Result getUserProjectSettingStatus(String projectKey, String requestIp) { public Result getUserProjectSettingStatus(String projectKey, String requestIp, String wxOpenId) {
UserProjectEntity userProjectEntity = userProjectService.getByKey(projectKey); UserProjectEntity userProjectEntity = userProjectService.getByKey(projectKey);
if (ObjectUtil.isNull(userProjectEntity) || userProjectEntity.getStatus() != ProjectStatusEnum.RELEASE) { if (ObjectUtil.isNull(userProjectEntity) || userProjectEntity.getStatus() != ProjectStatusEnum.RELEASE) {
return Result.success(null, "项目暂时无法填写"); return Result.success(null, "项目暂时无法填写");
@ -54,18 +54,18 @@ public class UserProjectSettingServiceImpl extends ServiceImpl<UserProjectSettin
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
//时间未开始 //时间未开始
if (timedCollectionBeginTime.isPresent() && timedCollectionBeginTime.get().isAfter(now)) { if (timedCollectionBeginTime.isPresent() && timedCollectionBeginTime.get().isAfter(now)) {
return Result.success(null, StringUtils.isEmpty(setting.getTimedNotEnabledPromptText())?"项目时间末开始。":setting.getTimedNotEnabledPromptText()); return Result.success(null, StringUtils.isEmpty(setting.getTimedNotEnabledPromptText()) ? "项目时间末开始。" : setting.getTimedNotEnabledPromptText());
} }
//时间已经结束 //时间已经结束
if (timedCollectionEndTime.isPresent() && timedCollectionEndTime.get().isBefore(now)) { if (timedCollectionEndTime.isPresent() && timedCollectionEndTime.get().isBefore(now)) {
return Result.success(null, StringUtils.isEmpty(setting.getTimedDeactivatePromptText())?"项目时间已结束。":setting.getTimedDeactivatePromptText()); return Result.success(null, StringUtils.isEmpty(setting.getTimedDeactivatePromptText()) ? "项目时间已结束。" : setting.getTimedDeactivatePromptText());
} }
//收集数量达到 //收集数量达到
Integer timedQuantitativeQuantity = setting.getTimedQuantitativeQuantity(); Integer timedQuantitativeQuantity = setting.getTimedQuantitativeQuantity();
if (Optional.ofNullable(timedQuantitativeQuantity).isPresent() && 0 != timedQuantitativeQuantity) { if (Optional.ofNullable(timedQuantitativeQuantity).isPresent() && 0 != timedQuantitativeQuantity) {
int resultCount = userProjectResultService.count(Wrappers.<UserProjectResultEntity>lambdaQuery().eq(UserProjectResultEntity::getProjectKey, projectKey)); int resultCount = userProjectResultService.count(Wrappers.<UserProjectResultEntity>lambdaQuery().eq(UserProjectResultEntity::getProjectKey, projectKey));
if (resultCount >= timedQuantitativeQuantity) { if (resultCount >= timedQuantitativeQuantity) {
return Result.success(setting, StringUtils.isEmpty(setting.getTimedEndPromptText())?"收集数量已达到。":setting.getTimedEndPromptText()); return Result.success(setting, StringUtils.isEmpty(setting.getTimedEndPromptText()) ? "收集数量已达到。" : setting.getTimedEndPromptText());
} }
} }
//每个人只需填写一次 根据IP判断 //每个人只需填写一次 根据IP判断
@ -84,6 +84,16 @@ public class UserProjectSettingServiceImpl extends ServiceImpl<UserProjectSettin
return Result.success(null, setting.getWriteOncePromptText()); return Result.success(null, setting.getWriteOncePromptText());
} }
} }
//每个微信仅填写一次
if (setting.getWxWriteOnce() && StrUtil.isNotEmpty(wxOpenId)) {
LambdaQueryWrapper<UserProjectResultEntity> wrapper = Wrappers.<UserProjectResultEntity>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); return Result.success(setting);
} }

Loading…
Cancel
Save