Browse Source

更新sql

增加结果微信相关字段
dev
wangqing 4 years ago
parent
commit
6eec17d6b1
  1. 127
      doc/tduck.sql
  2. 6
      doc/v2.1.0.sql
  3. 4
      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. 4
      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
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');

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

4
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), "");
}

6
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<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())) {
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();

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 submitRequestMac;
/**
* 提交ip
*/
@ -85,4 +89,14 @@ public class UserProjectResultEntity extends BaseEntity<UserProjectResultEntity>
*/
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")
private Boolean wxWrite;
/**
* 一个微信只能填写一次
*/
@TableField("is_wx_write_once")
private Boolean wxWriteOnce;
/**
* 每人只能填写一次
*/
@ -119,5 +125,4 @@ public class UserProjectSettingEntity extends BaseEntity<UserProjectSettingEntit
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 requestIp
* @param wxOpenId
* @return
*/
Result getUserProjectSettingStatus(String projectKey, String requestIp);
Result getUserProjectSettingStatus(String projectKey, String requestIp, String wxOpenId);
/**

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

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

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
public Result getUserProjectSettingStatus(String projectKey, String requestIp) {
public Result getUserProjectSettingStatus(String projectKey, String requestIp, String wxOpenId) {
UserProjectEntity userProjectEntity = userProjectService.getByKey(projectKey);
if (ObjectUtil.isNull(userProjectEntity) || userProjectEntity.getStatus() != ProjectStatusEnum.RELEASE) {
return Result.success(null, "项目暂时无法填写");
@ -54,18 +54,18 @@ public class UserProjectSettingServiceImpl extends ServiceImpl<UserProjectSettin
LocalDateTime now = LocalDateTime.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)) {
return Result.success(null, StringUtils.isEmpty(setting.getTimedDeactivatePromptText())?"项目时间已结束。":setting.getTimedDeactivatePromptText());
return Result.success(null, StringUtils.isEmpty(setting.getTimedDeactivatePromptText()) ? "项目时间已结束。" : setting.getTimedDeactivatePromptText());
}
//收集数量达到
Integer timedQuantitativeQuantity = setting.getTimedQuantitativeQuantity();
if (Optional.ofNullable(timedQuantitativeQuantity).isPresent() && 0 != timedQuantitativeQuantity) {
int resultCount = userProjectResultService.count(Wrappers.<UserProjectResultEntity>lambdaQuery().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<UserProjectSettin
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);
}

Loading…
Cancel
Save