diff --git a/db-file/opsli-boot.sql b/db-file/opsli-boot.sql index 5d8374d..d8258d1 100644 --- a/db-file/opsli-boot.sql +++ b/db-file/opsli-boot.sql @@ -11,7 +11,7 @@ Target Server Version : 50733 File Encoding : 65001 - Date: 25/05/2021 20:21:14 + Date: 31/05/2021 19:45:22 */ SET NAMES utf8mb4; @@ -24,12 +24,14 @@ DROP TABLE IF EXISTS `gen_logs`; CREATE TABLE `gen_logs` ( `id` bigint(19) NOT NULL COMMENT '主键', `table_id` bigint(19) NOT NULL COMMENT '归属表ID', + `table_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表类型', `package_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '生成包名', `module_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '生成模块名', `sub_module_name` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '生成子模块名', `code_title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码标题', `code_title_brief` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '代码标题简介', `author_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '作者名', + `template_id` bigint(19) NOT NULL COMMENT '模板ID', `version` int(11) NOT NULL COMMENT '版本(乐观锁)', `create_by` bigint(19) NOT NULL COMMENT '创建用户', `create_time` datetime(0) NOT NULL COMMENT '创建日期', @@ -42,10 +44,15 @@ CREATE TABLE `gen_logs` ( -- ---------------------------- -- Records of gen_logs -- ---------------------------- -INSERT INTO `gen_logs` VALUES (1329754468468400129, 1329754301400883202, 'org.opsli.modulars', 'gentest', 'user', '某系统用户', '用户', '周鹏程', 54, 1313694379541635074, '2020-11-20 19:52:26', 1, '2020-11-27 16:08:48'); -INSERT INTO `gen_logs` VALUES (1340631269252005889, 1340630022558056449, 'org.opsli.modulars', 'gentest', 'carinfo', '汽车信息', '汽车信息', 'Parker', 0, 1313694379541635074, '2020-12-20 20:12:57', 1313694379541635074, '2021-02-04 18:48:21'); -INSERT INTO `gen_logs` VALUES (1358361017146384386, 1358360266068172802, 'org.opsli.modulars', 'sys', 'options', '系统参数', '系统参数', 'Parker', 0, 1313694379541635074, '2021-02-07 18:24:38', 1313694379541635074, '2021-04-29 11:42:46'); -INSERT INTO `gen_logs` VALUES (1359429290382323714, 1359428685312028674, 'org.opsli.modulars.system', 'other', 'crypto', '非对称加密管理', '非对称加密', 'Parker', 0, 1313694379541635074, '2021-02-10 17:09:34', 1313694379541635074, '2021-04-09 09:14:09'); +INSERT INTO `gen_logs` VALUES (1340631269252005889, 1340630022558056449, '', 'org.opsli.modulars', 'gentest', 'carinfo', '汽车信息', '汽车信息', 'Parker', 0, 0, 1313694379541635074, '2020-12-20 20:12:57', 1313694379541635074, '2021-02-04 18:48:21'); +INSERT INTO `gen_logs` VALUES (1358361017146384386, 1358360266068172802, '', 'org.opsli.modulars', 'sys', 'options', '系统参数', '系统参数', 'Parker', 0, 0, 1313694379541635074, '2021-02-07 18:24:38', 1313694379541635074, '2021-04-29 11:42:46'); +INSERT INTO `gen_logs` VALUES (1359429290382323714, 1359428685312028674, '', 'org.opsli.modulars.gentest', 'other', 'crypto', '非对称加密管理', '非对称加密', 'Parker', 0, 0, 1313694379541635074, '2021-02-10 17:09:34', 1313694379541635074, '2021-05-26 20:49:11'); +INSERT INTO `gen_logs` VALUES (1397803193668128769, 1397801878237925377, '', 'org.opsli.modulars', 'generator', 'template', '生成模板', '生成模板', '周鹏程', 0, 0, 1313694379541635074, '2021-05-27 14:33:46', 1313694379541635074, '2021-05-27 14:33:46'); +INSERT INTO `gen_logs` VALUES (1397803206473338882, 1397801878237925377, '', 'org.opsli.modulars', 'generator', 'template', '生成模板', '生成模板', '周鹏程', 0, 0, 1313694379541635074, '2021-05-27 14:33:49', 1313694379541635074, '2021-05-27 14:33:49'); +INSERT INTO `gen_logs` VALUES (1398204700121088001, 1398204004021813249, '', 'org.opsli.modulars', 'generator', 'template', '代码模板详情', '代码模板详情', '周鹏程', 1398253704724828162, 0, 1313694379541635074, '2021-05-28 17:09:13', 1313694379541635074, '2021-05-31 19:41:06'); +INSERT INTO `gen_logs` VALUES (1398204718194343938, 1398204004021813249, '', 'org.opsli.modulars', 'generator', 'template', '代码模板详情', '代码模板详情', '周鹏程', 0, 0, 1313694379541635074, '2021-05-28 17:09:17', 1313694379541635074, '2021-05-28 17:09:17'); +INSERT INTO `gen_logs` VALUES (1398205543524204546, 1398204004021813249, '', 'org.opsli.modulars', 'generator', 'template', '代码模板详情', '代码模板详情', '周鹏程', 0, 0, 1313694379541635074, '2021-05-28 17:12:34', 1313694379541635074, '2021-05-28 17:12:34'); +INSERT INTO `gen_logs` VALUES (1398205562738311169, 1398204004021813249, '', 'org.opsli.modulars', 'generator', 'template', '代码模板详情', '代码模板详情', '周鹏程', 0, 0, 1313694379541635074, '2021-05-28 17:12:38', 1313694379541635074, '2021-05-28 17:12:38'); -- ---------------------------- -- Table structure for gen_table @@ -72,11 +79,13 @@ CREATE TABLE `gen_table` ( -- ---------------------------- -- Records of gen_table -- ---------------------------- -INSERT INTO `gen_table` VALUES (1329754301400883202, 'test_user', 'test_user', '0', '某系统用户', 'mysql', '0', '测试用户', 8, 1313694379541635074, '2020-11-20 19:51:46', 1, '2020-11-27 15:44:57'); INSERT INTO `gen_table` VALUES (1340630022558056449, 'test_car', 'test_car', '0', '测试汽车', 'mysql', '1', NULL, 1, 1313694379541635074, '2020-12-20 20:08:00', 1313694379541635074, '2020-12-20 20:10:48'); INSERT INTO `gen_table` VALUES (1356152016136482817, 'test_car_copy1', 'test_car_copy1', '0', '测试', 'mysql', '1', NULL, 0, 1313694379541635074, '2021-02-01 16:06:51', 1313694379541635074, '2021-02-01 16:06:51'); INSERT INTO `gen_table` VALUES (1358360266068172802, 'sys_options', 'sys_options', '0', '系统参数', 'mysql', '0', NULL, 1, 1313694379541635074, '2021-02-07 18:21:39', 1313694379541635074, '2021-02-07 18:23:54'); -INSERT INTO `gen_table` VALUES (1359428685312028674, 'other_crypto_asymmetric', 'other_crypto_asymmetric', '0', '非对称加密表', 'mysql', '0', NULL, 2, 1313694379541635074, '2021-02-10 17:07:10', 1313694379541635074, '2021-02-10 17:08:21'); +INSERT INTO `gen_table` VALUES (1359428685312028674, 'other_crypto_asymmetric', 'other_crypto_asymmetric', '0', '非对称加密表', 'mysql', '0', NULL, 12, 1313694379541635074, '2021-02-10 17:07:10', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table` VALUES (1397541427197468673, 'test_user', 'test_user', '0', '某系统用户', 'mysql', '0', NULL, 1, 1313694379541635074, '2021-05-26 21:13:36', 1313694379541635074, '2021-05-26 21:29:06'); +INSERT INTO `gen_table` VALUES (1397801878237925377, 'gen_template', 'gen_template', '0', '代码生成器 - 模板', 'mysql', '1', NULL, 1, 1313694379541635074, '2021-05-27 14:28:32', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table` VALUES (1398204004021813249, 'gen_template_detail', 'gen_template_detail', '0', '代码生成器 - 表信息', 'mysql', '0', NULL, 1, 1313694379541635074, '2021-05-28 17:06:27', 1313694379541635074, '2021-05-28 17:07:54'); -- ---------------------------- -- Table structure for gen_table_column @@ -113,19 +122,6 @@ CREATE TABLE `gen_table_column` ( -- ---------------------------- -- Records of gen_table_column -- ---------------------------- -INSERT INTO `gen_table_column` VALUES (1332228902949236737, 1329754301400883202, 'id', 'bigint', 19, 0, '主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228902974402562, 1329754301400883202, 'name', 'varchar', 50, 0, '名称', '0', '0', '1', '1', 'LIKE', 'String', '0', NULL, 1, 'IS_GENERAL_WITH_CHINESE', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228902986985474, 1329754301400883202, 'money', 'double', 6, 2, '金钱', '0', '1', '1', '1', 'RANGE', 'Double', '0', NULL, 2, 'IS_MONEY', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228902999568385, 1329754301400883202, 'age', 'smallint', 5, 0, '年龄', '0', '1', '1', '1', NULL, 'Integer', '0', NULL, 3, 'IS_NUMBER', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903020539906, 1329754301400883202, 'birth', 'date', 0, 0, '生日', '0', '1', '1', '1', 'RANGE', 'Date', '4', NULL, 4, 'IS_NOT_NULL', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903033122817, 1329754301400883202, 'iz_usable', 'char', 1, 0, '是否启用', '0', '1', '1', '1', 'EQ', 'Character', '2', 'no_yes', 5, 'IS_NOT_NULL', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903049900033, 1329754301400883202, 'tenant_id', 'bigint', 19, 0, '多租户ID', '0', '0', '0', '0', NULL, 'String', NULL, NULL, 6, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903062482946, 1329754301400883202, 'deleted', 'char', 1, 0, '删除标记:0未删除,1删除', '0', '1', '0', '0', NULL, 'Character', NULL, NULL, 7, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903070871553, 1329754301400883202, 'version', 'int', 10, 0, '版本号(乐观锁)', '0', '1', '0', '0', NULL, 'Integer', NULL, NULL, 8, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903079260162, 1329754301400883202, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 9, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903087648769, 1329754301400883202, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 10, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903096037378, 1329754301400883202, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 11, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); -INSERT INTO `gen_table_column` VALUES (1332228903104425985, 1329754301400883202, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 12, '', 0, 1, '2020-11-27 15:44:57', 1, '2020-11-27 15:44:57'); INSERT INTO `gen_table_column` VALUES (1340630728203567106, 1340630022558056449, 'id', 'bigint', 19, 0, '主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2020-12-20 20:10:48', 1313694379541635074, '2020-12-20 20:10:48'); INSERT INTO `gen_table_column` VALUES (1340630728220344321, 1340630022558056449, 'car_name', 'varchar', 20, 0, '汽车名称', '0', '1', '1', '1', 'EQ', 'String', '0', NULL, 1, 'IS_GENERAL_WITH_CHINESE', 0, 1313694379541635074, '2020-12-20 20:10:48', 1313694379541635074, '2020-12-20 20:10:48'); INSERT INTO `gen_table_column` VALUES (1340630728232927234, 1340630022558056449, 'car_type', 'varchar', 20, 0, '汽车类型', '0', '1', '1', '1', 'LIKE', 'String', '0', NULL, 2, 'IS_GENERAL_WITH_CHINESE', 0, 1313694379541635074, '2020-12-20 20:10:48', 1313694379541635074, '2020-12-20 20:10:48'); @@ -161,15 +157,107 @@ INSERT INTO `gen_table_column` VALUES (1358360833347788801, 1358360266068172802, INSERT INTO `gen_table_column` VALUES (1358360833385537538, 1358360266068172802, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-02-07 18:23:54', 1313694379541635074, '2021-02-07 18:23:54'); INSERT INTO `gen_table_column` VALUES (1358360833431674882, 1358360266068172802, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-02-07 18:23:54', 1313694379541635074, '2021-02-07 18:23:54'); INSERT INTO `gen_table_column` VALUES (1358360833469423618, 1358360266068172802, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-02-07 18:23:54', 1313694379541635074, '2021-02-07 18:23:54'); -INSERT INTO `gen_table_column` VALUES (1359428984290406401, 1359428685312028674, 'id', 'bigint', 19, 0, '唯一主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2021-02-10 17:08:21', 1313694379541635074, '2021-02-10 17:08:21'); -INSERT INTO `gen_table_column` VALUES (1359428984323960833, 1359428685312028674, 'crypto_type', 'varchar', 100, 0, '加解密类别', '0', '1', '1', '1', 'EQ', 'String', '0', NULL, 1, '', 0, 1313694379541635074, '2021-02-10 17:08:21', 1313694379541635074, '2021-02-10 17:08:21'); -INSERT INTO `gen_table_column` VALUES (1359428984365903874, 1359428685312028674, 'public_key', 'varchar', 2000, 0, '公钥', '0', '1', '1', '1', '', 'String', '1', NULL, 2, '', 0, 1313694379541635074, '2021-02-10 17:08:21', 1313694379541635074, '2021-02-10 17:08:21'); -INSERT INTO `gen_table_column` VALUES (1359428984407846913, 1359428685312028674, 'private_key', 'varchar', 2000, 0, '私钥', '0', '1', '1', '1', '', 'String', '1', NULL, 3, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); -INSERT INTO `gen_table_column` VALUES (1359428984449789954, 1359428685312028674, 'version', 'int', 10, 0, '版本(乐观锁)', '0', '1', '0', '0', NULL, 'Integer', NULL, NULL, 4, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); -INSERT INTO `gen_table_column` VALUES (1359428984495927297, 1359428685312028674, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 5, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); -INSERT INTO `gen_table_column` VALUES (1359428984537870338, 1359428685312028674, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); -INSERT INTO `gen_table_column` VALUES (1359428984571424769, 1359428685312028674, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); -INSERT INTO `gen_table_column` VALUES (1359428984609173506, 1359428685312028674, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-02-10 17:08:22', 1313694379541635074, '2021-02-10 17:08:22'); +INSERT INTO `gen_table_column` VALUES (1397532779008155650, 1359428685312028674, 'id', 'bigint', 19, 0, '唯一主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779071070210, 1359428685312028674, 'public_key', 'blob', 2000, 0, '公钥', '0', '1', '1', '1', '', 'Byte[]', '1', NULL, 1, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779104624641, 1359428685312028674, 'private_key', 'varchar', 2000, 0, '私钥', '0', '1', '1', '1', '', 'String', '1', NULL, 2, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779121401857, 1359428685312028674, 'version', 'int', 10, 0, '版本(乐观锁)', '0', '1', '0', '0', NULL, 'Integer', NULL, NULL, 3, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779154956290, 1359428685312028674, 'crypto_type', 'varchar', 100, 0, '加解密类别', '0', '1', '1', '1', 'EQ', 'Integer', '0', NULL, 4, 'IS_INTEGER,IS_LETTER,IS_IP,IS_UPPER_CASE,IS_LOWER_CASE', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779171733506, 1359428685312028674, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 5, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779188510722, 1359428685312028674, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779205287937, 1359428685312028674, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397532779230453761, 1359428685312028674, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'Date', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-05-26 20:39:14', 1313694379541635074, '2021-05-26 20:39:14'); +INSERT INTO `gen_table_column` VALUES (1397545330655850497, 1397541427197468673, 'id', 'bigint', 19, 0, '主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330727153666, 1397541427197468673, 'name', 'varchar', 50, 0, '名称', '0', '0', '0', '0', NULL, 'String', NULL, NULL, 1, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330752319489, 1397541427197468673, 'money', 'double', 6, 2, '金钱', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 2, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330769096706, 1397541427197468673, 'age', 'smallint', 5, 0, '年龄', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 3, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330785873921, 1397541427197468673, 'birth', 'date', 0, 0, '生日', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 4, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330811039746, 1397541427197468673, 'iz_usable', 'char', 1, 0, '是否启用', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 5, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330827816962, 1397541427197468673, 'tenant_id', 'bigint', 19, 0, '多租户ID', '0', '0', '0', '0', NULL, 'String', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330844594178, 1397541427197468673, 'deleted', 'char', 1, 0, '删除标记:0未删除,1删除', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330861371393, 1397541427197468673, 'version', 'int', 10, 0, '版本号(乐观锁)', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330869760002, 1397541427197468673, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 9, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330886537218, 1397541427197468673, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 10, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330903314433, 1397541427197468673, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 11, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330920091649, 1397541427197468673, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 12, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397545330928480257, 1397541427197468673, 'ts', 'timestamp', 0, 0, '时间戳', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 13, '', 0, 1313694379541635074, '2021-05-26 21:29:07', 1313694379541635074, '2021-05-26 21:29:07'); +INSERT INTO `gen_table_column` VALUES (1397802477998231554, 1397801878237925377, 'id', 'bigint', 19, 0, '主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478023397378, 1397801878237925377, 'temp_name', 'varchar', 100, 0, '模板名称', '0', '1', '1', '1', 'LIKE', 'String', '0', NULL, 1, 'IS_GENERAL_WITH_CHINESE', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478040174593, 1397801878237925377, 'table_type', 'varchar', 30, 0, '表类型', '0', '1', '1', '1', 'EQ', 'String', '2', 'table_type', 2, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478056951810, 1397801878237925377, 'remark', 'varchar', 255, 0, '备注信息', '0', '0', '0', '1', '', 'String', '1', NULL, 3, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478065340418, 1397801878237925377, 'version', 'int', 10, 0, '版本(乐观锁)', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 4, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478082117633, 1397801878237925377, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 5, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478098894849, 1397801878237925377, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478107283458, 1397801878237925377, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1397802478124060673, 1397801878237925377, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-05-27 14:30:55', 1313694379541635074, '2021-05-27 14:30:55'); +INSERT INTO `gen_table_column` VALUES (1398204372311064578, 1398204004021813249, 'id', 'bigint', 19, 0, '主键', '1', '1', '0', '0', NULL, 'String', NULL, NULL, 0, '', 0, 1313694379541635074, '2021-05-28 17:07:54', 1313694379541635074, '2021-05-28 17:07:54'); +INSERT INTO `gen_table_column` VALUES (1398204372311064579, 1398204004021813249, 'parent_id', 'bigint', 19, 0, '父级ID', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 1, '', 0, 1313694379541635074, '2021-05-28 17:07:54', 1313694379541635074, '2021-05-28 17:07:54'); +INSERT INTO `gen_table_column` VALUES (1398204372311064580, 1398204004021813249, 'path', 'varchar', 255, 0, '路径', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 2, '', 0, 1313694379541635074, '2021-05-28 17:07:54', 1313694379541635074, '2021-05-28 17:07:54'); +INSERT INTO `gen_table_column` VALUES (1398204372780826625, 1398204004021813249, 'file_name', 'varchar', 100, 0, '文件名', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 3, 'IS_NOT_NULL', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826626, 1398204004021813249, 'file_content', 'varchar', 100, 0, '文件内容', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 4, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826627, 1398204004021813249, 'version', 'int', 10, 0, '版本(乐观锁)', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 5, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826628, 1398204004021813249, 'create_by', 'bigint', 19, 0, '创建用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 6, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826629, 1398204004021813249, 'create_time', 'datetime', 0, 0, '创建日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 7, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826630, 1398204004021813249, 'update_by', 'bigint', 19, 0, '修改用户', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 8, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); +INSERT INTO `gen_table_column` VALUES (1398204372780826631, 1398204004021813249, 'update_time', 'datetime', 0, 0, '修改日期', '0', '1', '0', '0', NULL, 'String', NULL, NULL, 9, '', 0, 1313694379541635074, '2021-05-28 17:07:55', 1313694379541635074, '2021-05-28 17:07:55'); + +-- ---------------------------- +-- Table structure for gen_template +-- ---------------------------- +DROP TABLE IF EXISTS `gen_template`; +CREATE TABLE `gen_template` ( + `id` bigint(19) NOT NULL COMMENT '主键', + `temp_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '模板名称', + `table_type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '表类型', + `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注信息', + `version` int(10) NOT NULL COMMENT '版本(乐观锁)', + `create_by` bigint(19) NOT NULL COMMENT '创建用户', + `create_time` datetime(0) NOT NULL COMMENT '创建日期', + `update_by` bigint(19) NOT NULL COMMENT '修改用户', + `update_time` datetime(0) NOT NULL COMMENT '修改日期', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成器 - 模板' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of gen_template +-- ---------------------------- +INSERT INTO `gen_template` VALUES (1397828582130040834, '12312', '0', '123123', 9, 1, '2021-05-27 16:14:39', 1313694379541635074, '2021-05-28 20:12:43'); +INSERT INTO `gen_template` VALUES (1398253704724828162, 'Form表单', '0', '', 20, 1313694379541635074, '2021-05-28 20:23:56', 1313694379541635074, '2021-05-31 16:52:58'); + +-- ---------------------------- +-- Table structure for gen_template_detail +-- ---------------------------- +DROP TABLE IF EXISTS `gen_template_detail`; +CREATE TABLE `gen_template_detail` ( + `id` bigint(19) NOT NULL COMMENT '主键', + `parent_id` bigint(19) NOT NULL COMMENT '父级ID', + `type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '类型 0 后端 / 1 前端', + `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '路径', + `file_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件名', + `file_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文件内容', + `version` int(11) NOT NULL COMMENT '版本(乐观锁)', + `create_by` bigint(19) NOT NULL COMMENT '创建用户', + `create_time` datetime(0) NOT NULL COMMENT '创建日期', + `update_by` bigint(19) NOT NULL COMMENT '修改用户', + `update_time` datetime(0) NOT NULL COMMENT '修改日期', + PRIMARY KEY (`id`) USING BTREE, + INDEX `creater_table_name`(`path`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '代码生成器 - 表信息' ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of gen_template_detail +-- ---------------------------- +INSERT INTO `gen_template_detail` VALUES (1398290849854382081, 1398253704724828162, '0', 'org/opsli/api/web/${moduleName}/${subModuleName}', 'RestApi.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n *
\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *
\n * http://www.apache.org/licenses/LICENSE-2.0\n *
\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(apiPath).web.#(data.moduleName+\".\"+data.subModuleName);\n#else\npackage #(apiPath).web.#(data.moduleName);\n#end\n\nimport #(apiPath).base.result.ResultVo;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.PostMapping;\nimport org.springframework.web.bind.annotation.RequestBody;\nimport org.springframework.web.bind.annotation.RequestParam;\nimport org.springframework.web.multipart.MultipartHttpServletRequest;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\n\n#if(data.subModuleName != null && data.subModuleName != \"\")\nimport #(apiPath).wrapper.#(data.moduleName+\".\"+data.subModuleName).#(data.model.tableHumpName)Model;\n#else\nimport #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;\n#end\n\n\n/**\n * #(data.codeTitle) Api\n *\n * 对外 API 直接 暴露 @GetMapping 或者 @PostMapping\n * 对内也推荐 单机版 不需要设置 Mapping 但是调用方法得从Controller写起\n *\n * 这样写法虽然比较绕,但是当单体项目想要改造微服务架构时 时非常容易的\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\npublic interface #(data.model.tableHumpName)RestApi {\n\n /** 标题 */\n String TITLE = \"#(data.codeTitle)\";\n /** 子标题 */\n String SUB_TITLE = \"#(data.codeTitleBrief)\";\n\n /**\n * #(data.codeTitle) 查一条\n * @param model 模型\n * @return ResultVo\n */\n @GetMapping(\"/get\")\n ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model);\n\n /**\n * #(data.codeTitle) 查询分页\n * @param pageNo 当前页\n * @param pageSize 每页条数\n * @param request request\n * @return ResultVo\n */\n @GetMapping(\"/findPage\")\n ResultVo> findPage(\n @RequestParam(name = \"pageNo\", defaultValue = \"1\") Integer pageNo,\n @RequestParam(name = \"pageSize\", defaultValue = \"10\") Integer pageSize,\n HttpServletRequest request\n );\n\n /**\n * #(data.codeTitle) 新增\n * @param model 模型\n * @return ResultVo\n */\n @PostMapping(\"/insert\")\n ResultVo> insert(@RequestBody #(data.model.tableHumpName)Model model);\n\n /**\n * #(data.codeTitle) 修改\n * @param model 模型\n * @return ResultVo\n */\n @PostMapping(\"/update\")\n ResultVo> update(@RequestBody #(data.model.tableHumpName)Model model);\n\n /**\n * #(data.codeTitle) 删除\n * @param id ID\n * @return ResultVo\n */\n @PostMapping(\"/del\")\n ResultVo> del(String id);\n\n /**\n * #(data.codeTitle) 批量删除\n * @param ids ID 数组\n * @return ResultVo\n */\n @PostMapping(\"/delAll\")\n ResultVo> delAll(String ids);\n\n /**\n * #(data.codeTitle) Excel 导出\n *\n * 导出时,Token认证和方法权限认证 全部都由自定义完成\n * 因为在 导出不成功时,需要推送错误信息,\n * 前端直接走下载流,当失败时无法获得失败信息,即使前后端换一种方式后端推送二进制文件前端再次解析也是最少2倍的耗时\n * ,且如果数据量过大,前端进行渲染时直接会把浏览器卡死\n * 而直接开启socket接口推送显然是太过浪费资源了,所以目前采用Java最原始的手段\n * response 推送 javascript代码 alert 提示报错信息\n *\n * @param request request\n * @param response response\n */\n @GetMapping(\"/exportExcel\")\n void exportExcel(HttpServletRequest request, HttpServletResponse response);\n\n /**\n * #(data.codeTitle) Excel 导入\n * @param request 文件流 request\n * @return ResultVo\n */\n @PostMapping(\"/importExcel\")\n ResultVo> importExcel(MultipartHttpServletRequest request);\n\n /**\n * #(data.codeTitle) Excel 下载导入模版\n * @param response response\n * @return ResultVo\n */\n @GetMapping(\"/importExcel/template\")\n void importTemplate(HttpServletResponse response);\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58'); +INSERT INTO `gen_template_detail` VALUES (1398290849921490945, 1398253704724828162, '0', '${packageName}/${moduleName}/${subModuleName}/entity', 'Entity.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n *
\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *
\n * http://www.apache.org/licenses/LICENSE-2.0\n *
\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).entity;\n#else\npackage #(data.packageName+\".\"+data.moduleName).entity;\n#end\n\n#for(pkg : data.model.entityPkgList)\nimport #(pkg);\n#end\nimport com.baomidou.mybatisplus.annotation.FieldStrategy;\nimport com.baomidou.mybatisplus.annotation.TableField;\nimport com.baomidou.mybatisplus.annotation.TableLogic;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport org.opsli.core.base.entity.BaseEntity;\n\n/**\n * #(data.codeTitle) Entity\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\n@Data\n@EqualsAndHashCode(callSuper = false)\npublic class #(data.model.tableHumpName) extends BaseEntity {\n\n\n #for(column : data.model.columnList)\n ### 不等于 删除字段 和 不等于 租户字段放入上边\n #if(column.fieldHumpName != \"deleted\" && column.fieldHumpName != \"tenantId\")\n /** #(column.fieldComments) */\n #if(!column.izNotNull)\n @TableField(updateStrategy = FieldStrategy.IGNORED)\n #end\n private #(column.javaType) #(column.fieldHumpName);\n\n #end\n #end\n\n // ========================================\n\n ### 专门处理 删除字段 和 租户字段\n #for(column : data.model.columnList)\n #if(column.fieldHumpName == \"deleted\")\n /** 逻辑删除字段 */\n @TableLogic\n private Integer deleted;\n #else if(column.fieldHumpName == \"tenantId\")\n /** 多租户字段 */\n private String tenantId;\n #end\n\n #end\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58'); +INSERT INTO `gen_template_detail` VALUES (1398290849984405505, 1398253704724828162, '0', '${packageName}/${moduleName}/${subModuleName}/mapper', 'Mapper.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n *
\n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n *
\n * http://www.apache.org/licenses/LICENSE-2.0\n *
\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).mapper;\n#else\npackage #(data.packageName+\".\"+data.moduleName).mapper;\n#end\n\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.Param;\n#if(data.subModuleName != null && data.subModuleName != \"\")\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).entity.#(data.model.tableHumpName);\n#else\nimport #(data.packageName+\".\"+data.moduleName).entity.#(data.model.tableHumpName);\n#end\n\n/**\n * #(data.codeTitle) Mapper\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\n@Mapper\npublic interface #(data.model.tableHumpName)Mapper extends BaseMapper<#(data.model.tableHumpName)> {\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398290849984405506, 1398253704724828162, '0', '${packageName}/${moduleName}/${subModuleName}/mapper/xml', 'MapperXML.xml', '\n\n#if(data.subModuleName != null && data.subModuleName != \"\")\n \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).service;\n#else\npackage #(data.packageName+\".\"+data.moduleName).service;\n#end\n\nimport org.opsli.core.base.service.interfaces.CrudServiceInterface;\n\n\n#if(data.subModuleName != null && data.subModuleName != \"\")\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName+\".\"+data.subModuleName).#(data.model.tableHumpName)Model;\n#else\nimport #(data.packageName+\".\"+data.moduleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;\n#end\n\n/**\n * #(data.codeTitle) Service\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\npublic interface I#(data.model.tableHumpName)Service extends CrudServiceInterface<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> {\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398290850110234625, 1398253704724828162, '0', '${packageName}/${moduleName}/${subModuleName}/service/impl', 'ServiceImpl.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).service.impl;\n#else\npackage #(data.packageName+\".\"+data.moduleName).service.impl;\n#end\n\n\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.transaction.annotation.Transactional;\nimport org.opsli.core.base.service.impl.CrudServiceImpl;\n\n#if(data.subModuleName != null && data.subModuleName != \"\")\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName+\".\"+data.subModuleName).#(data.model.tableHumpName)Model;\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).service.I#(data.model.tableHumpName)Service;\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).mapper.#(data.model.tableHumpName)Mapper;\n#else\nimport #(data.packageName+\".\"+data.moduleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;\nimport #(data.packageName+\".\"+data.moduleName).service.I#(data.model.tableHumpName)Service;\nimport #(data.packageName+\".\"+data.moduleName).mapper.#(data.model.tableHumpName)Mapper;\n#end\n\n\n/**\n * #(data.codeTitle) Service Impl\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\n@Service\npublic class #(data.model.tableHumpName)ServiceImpl extends CrudServiceImpl<#(data.model.tableHumpName)Mapper, #(data.model.tableHumpName), #(data.model.tableHumpName)Model>\n implements I#(data.model.tableHumpName)Service {\n\n @Autowired(required = false)\n private #(data.model.tableHumpName)Mapper mapper;\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398290850173149186, 1398253704724828162, '0', '${packageName}/${moduleName}/${subModuleName}/web', 'RestController.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).web;\n#else\npackage #(data.packageName+\".\"+data.moduleName).web;\n#end\n\nimport cn.hutool.core.util.ReflectUtil;\nimport cn.hutool.core.convert.Convert;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport lombok.extern.slf4j.Slf4j;\nimport org.opsli.common.annotation.RequiresPermissionsCus;\nimport org.apache.shiro.authz.annotation.RequiresPermissions;\nimport #(apiPath).base.result.ResultVo;\nimport org.opsli.common.annotation.ApiRestController;\nimport org.opsli.common.annotation.EnableLog;\nimport org.opsli.core.base.controller.BaseRestController;\nimport org.opsli.core.persistence.Page;\nimport org.opsli.core.persistence.querybuilder.QueryBuilder;\nimport org.opsli.core.persistence.querybuilder.WebQueryBuilder;\nimport org.springframework.web.multipart.MultipartHttpServletRequest;\nimport javax.servlet.http.HttpServletRequest;\nimport javax.servlet.http.HttpServletResponse;\nimport java.lang.reflect.Method;\n\n#if(data.subModuleName != null && data.subModuleName != \"\")\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName+\".\"+data.subModuleName).#(data.model.tableHumpName)Model;\nimport #(data.packageName+\".\"+data.moduleName+\".\"+data.subModuleName).service.I#(data.model.tableHumpName)Service;\nimport #(apiPath).web.#(data.moduleName+\".\"+data.subModuleName).#(data.model.tableHumpName)RestApi;\n#else\nimport #(data.packageName+\".\"+data.moduleName).entity.#(data.model.tableHumpName);\nimport #(apiPath).wrapper.#(data.moduleName).#(data.model.tableHumpName)Model;\nimport #(data.packageName+\".\"+data.moduleName).service.I#(data.model.tableHumpName)Service;\nimport #(apiPath).web.#(data.moduleName).#(data.model.tableHumpName)RestApi;\n#end\n\n/**\n * #(data.codeTitle) Controller\n *\n * @author #(data.authorName)\n * @date #(currTime)\n */\n@Api(tags = #(data.model.tableHumpName)RestApi.TITLE)\n@Slf4j\n#if(data.subModuleName != null && data.subModuleName != \"\")\n@ApiRestController(\"/#(data.moduleName)/#(data.subModuleName)\")\n#else\n@ApiRestController(\"/#(data.moduleName)\")\n#end\npublic class #(data.model.tableHumpName)RestController extends BaseRestController<#(data.model.tableHumpName), #(data.model.tableHumpName)Model, I#(data.model.tableHumpName)Service>\n implements #(data.model.tableHumpName)RestApi {\n\n\n /**\n * #(data.codeTitleBrief) 查一条\n * @param model 模型\n * @return ResultVo\n */\n @ApiOperation(value = \"获得单条#(data.codeTitleBrief)\", notes = \"获得单条#(data.codeTitleBrief) - ID\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_select\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_select\")\n #end\n @Override\n public ResultVo<#(data.model.tableHumpName)Model> get(#(data.model.tableHumpName)Model model) {\n // 如果系统内部调用 则直接查数据库\n if(model != null && model.getIzApi() != null && model.getIzApi()){\n model = IService.get(model);\n }\n return ResultVo.success(model);\n }\n\n /**\n * #(data.codeTitleBrief) 查询分页\n * @param pageNo 当前页\n * @param pageSize 每页条数\n * @param request request\n * @return ResultVo\n */\n @ApiOperation(value = \"获得分页数据\", notes = \"获得分页数据 - 查询构造器\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_select\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_select\")\n #end\n @Override\n public ResultVo> findPage(Integer pageNo, Integer pageSize, HttpServletRequest request) {\n\n QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());\n Page<#(data.model.tableHumpName), #(data.model.tableHumpName)Model> page = new Page<>(pageNo, pageSize);\n page.setQueryWrapper(queryBuilder.build());\n page = IService.findPage(page);\n\n return ResultVo.success(page.getPageData());\n }\n\n /**\n * #(data.codeTitleBrief) 新增\n * @param model 模型\n * @return ResultVo\n */\n @ApiOperation(value = \"新增#(data.codeTitleBrief)数据\", notes = \"新增#(data.codeTitleBrief)数据\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_insert\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_insert\")\n #end\n @EnableLog\n @Override\n public ResultVo> insert(#(data.model.tableHumpName)Model model) {\n // 调用新增方法\n IService.insert(model);\n return ResultVo.success(\"新增#(data.codeTitleBrief)成功\");\n }\n\n /**\n * #(data.codeTitleBrief) 修改\n * @param model 模型\n * @return ResultVo\n */\n @ApiOperation(value = \"修改#(data.codeTitleBrief)数据\", notes = \"修改#(data.codeTitleBrief)数据\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_update\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_update\")\n #end\n @EnableLog\n @Override\n public ResultVo> update(#(data.model.tableHumpName)Model model) {\n // 调用修改方法\n IService.update(model);\n return ResultVo.success(\"修改#(data.codeTitleBrief)成功\");\n }\n\n\n /**\n * #(data.codeTitleBrief) 删除\n * @param id ID\n * @return ResultVo\n */\n @ApiOperation(value = \"删除#(data.codeTitleBrief)数据\", notes = \"删除#(data.codeTitleBrief)数据\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_update\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_update\")\n #end\n @EnableLog\n @Override\n public ResultVo> del(String id){\n IService.delete(id);\n return ResultVo.success(\"删除#(data.codeTitleBrief)成功\");\n }\n\n /**\n * #(data.codeTitleBrief) 批量删除\n * @param ids ID 数组\n * @return ResultVo\n */\n @ApiOperation(value = \"批量删除#(data.codeTitleBrief)数据\", notes = \"批量删除#(data.codeTitleBrief)数据\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_update\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_update\")\n #end\n @EnableLog\n @Override\n public ResultVo> delAll(String ids){\n String[] idArray = Convert.toStrArray(ids);\n IService.deleteAll(idArray);\n return ResultVo.success(\"批量删除#(data.codeTitleBrief)成功\");\n }\n\n\n /**\n * #(data.codeTitleBrief) Excel 导出\n * 注:这里 RequiresPermissionsCus 引入的是 自定义鉴权注解\n *\n * 导出时,Token认证和方法权限认证 全部都由自定义完成\n * 因为在 导出不成功时,需要推送错误信息,\n * 前端直接走下载流,当失败时无法获得失败信息,即使前后端换一种方式后端推送二进制文件前端再次解析也是最少2倍的耗时\n * ,且如果数据量过大,前端进行渲染时直接会把浏览器卡死\n * 而直接开启socket接口推送显然是太过浪费资源了,所以目前采用Java最原始的手段\n * response 推送 javascript代码 alert 提示报错信息\n *\n * @param request request\n * @param response response\n */\n @ApiOperation(value = \"导出Excel\", notes = \"导出Excel\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissionsCus(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_export\")\n #else\n @RequiresPermissionsCus(\"#(data.moduleName.toLowerCase())_export\")\n #end\n @EnableLog\n @Override\n public void exportExcel(HttpServletRequest request, HttpServletResponse response) {\n // 当前方法\n Method method = ReflectUtil.getMethodByName(this.getClass(), \"exportExcel\");\n QueryBuilder<#(data.model.tableHumpName)> queryBuilder = new WebQueryBuilder<>(entityClazz, request.getParameterMap());\n super.excelExport(#(data.model.tableHumpName)RestApi.SUB_TITLE, queryBuilder.build(), response, method);\n }\n\n /**\n * #(data.codeTitleBrief) Excel 导入\n * 注:这里 RequiresPermissions 引入的是 Shiro原生鉴权注解\n * @param request 文件流 request\n * @return ResultVo\n */\n @ApiOperation(value = \"导入Excel\", notes = \"导入Excel\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_import\")\n #else\n @RequiresPermissions(\"#(data.moduleName.toLowerCase())_import\")\n #end\n @EnableLog\n @Override\n public ResultVo> importExcel(MultipartHttpServletRequest request) {\n return super.importExcel(request);\n }\n\n /**\n * #(data.codeTitleBrief) Excel 下载导入模版\n * 注:这里 RequiresPermissionsCus 引入的是 自定义鉴权注解\n * @param response response\n */\n @ApiOperation(value = \"导出Excel模版\", notes = \"导出Excel模版\")\n #if(data.subModuleName != null && data.subModuleName != \"\")\n @RequiresPermissionsCus(\"#(data.moduleName.toLowerCase())_#(data.subModuleName.toLowerCase())_import\")\n #else\n @RequiresPermissionsCus(\"#(data.moduleName.toLowerCase())_import\")\n #end\n @Override\n public void importTemplate(HttpServletResponse response) {\n // 当前方法\n Method method = ReflectUtil.getMethodByName(this.getClass(), \"importTemplate\");\n super.importTemplate(#(data.model.tableHumpName)RestApi.SUB_TITLE, response, method);\n }\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398290850298978306, 1398253704724828162, '0', 'org/opsli/api/wrapper/${moduleName}/${subModuleName}', 'Model.java', '/**\n * Copyright 2020 OPSLI 快速开发平台 https://www.opsli.com\n * \n * Licensed under the Apache License, Version 2.0 (the \"License\"); you may not\n * use this file except in compliance with the License. You may obtain a copy of\n * the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */\n#if(data.subModuleName != null && data.subModuleName != \"\")\npackage #(apiPath).wrapper.#(data.moduleName+\".\"+data.subModuleName);\n#else\npackage #(apiPath).wrapper.#(data.moduleName);\n#end\n\n#for(pkg : data.model.entityPkgList)\nimport #(pkg);\n#end\nimport com.alibaba.excel.annotation.ExcelProperty;\nimport io.swagger.annotations.ApiModelProperty;\nimport lombok.Data;\nimport lombok.EqualsAndHashCode;\nimport #(apiPath).base.warpper.ApiWrapper;\nimport org.opsli.common.annotation.validator.Validator;\nimport org.opsli.common.annotation.validator.ValidatorLenMax;\nimport org.opsli.common.annotation.validator.ValidatorLenMin;\nimport org.opsli.common.enums.ValidatorType;\nimport org.opsli.plugins.excel.annotation.ExcelInfo;\nimport com.fasterxml.jackson.annotation.JsonFormat;\nimport org.springframework.format.annotation.DateTimeFormat;\n\n/**\n* #(data.codeTitle) Model\n*\n* @author #(data.authorName)\n* @date #(currTime)\n*/\n@Data\n@EqualsAndHashCode(callSuper = false)\npublic class #(data.model.tableHumpName)Model extends ApiWrapper {\n\n #for(column : data.model.columnList)\n ### 不等于 删除字段 和 不等于 租户字段放入上边\n #if(column.fieldHumpName != \"deleted\" && column.fieldHumpName != \"tenantId\")\n /** #(column.fieldComments) */\n @ApiModelProperty(value = \"#(column.fieldComments)\")\n @ExcelProperty(value = \"#(column.fieldComments)\", order = #(column.sort))\n #if(column.dictTypeCode != null && column.dictTypeCode != \"\")\n @ExcelInfo( dictType = \"#(column.dictTypeCode)\" )\n #else\n @ExcelInfo\n #end\n #if(column.validateTypeAndCommaList != null && column.validateTypeAndCommaList.size() > 0)\n @Validator({\n #for(typeAndComma : column.validateTypeAndCommaList)\n ValidatorType.#(typeAndComma)\n #end\n })\n #end\n #if(column.fieldLength != null && column.fieldLength > 0)\n #if(column.fieldPrecision != null && column.fieldPrecision > 0)\n @ValidatorLenMax(#(column.fieldLength+column.fieldPrecision))\n #else\n @ValidatorLenMax(#(column.fieldLength))\n #end\n #end\n ### 日期处理\n #if(column.javaType == \"Date\")\n #if(column.showType == \"4\")\n @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd\")\n @DateTimeFormat(pattern = \"yyyy-MM-dd\")\n #else\n @JsonFormat(timezone = \"GMT+8\", pattern = \"yyyy-MM-dd HH:mm:ss\")\n @DateTimeFormat(pattern = \"yyyy-MM-dd HH:mm:ss\")\n #end\n #end\n private #(column.javaType) #(column.fieldHumpName);\n\n #end\n #end\n\n\n}\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398292023416446977, 1398253704724828162, '1', 'src/api/${moduleName}/${subModuleName}', 'Api.js', 'import request from \"@/utils/request\";\nimport {downloadFileByData} from \"@/utils/download\";\n\nexport function getList(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/findPage\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/findPage\",\n #end\n method: \"get\",\n params: data,\n });\n}\n\n\nexport function doInsert(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/insert\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/insert\",\n #end\n method: \"post\",\n data,\n });\n}\n\nexport function doUpdate(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/update\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/update\",\n #end\n method: \"post\",\n data,\n });\n}\n\nexport function doDelete(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/del\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/del\",\n #end\n method: \"post\",\n params: data,\n });\n}\n\nexport function doDeleteAll(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/delAll\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/delAll\",\n #end\n method: \"post\",\n params: data,\n });\n}\n\n\n/**\n* 导出Excel 目前只支持一层参数传递\n* @param data\n* @returns file\n*/\nexport function doExportExcel(data) {\n #if(data.subModuleName != null && data.subModuleName != \"\")\n let requestURL = \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/exportExcel\";\n #else\n let requestURL = \"#(apiPath)/#(data.moduleName)/exportExcel\";\n #end\n // 下载文件\n downloadFileByData(requestURL, data);\n}\n\n\n/**\n* 下载模版\n* @returns file\n*/\nexport function doDownloadTemplate() {\n let data = {};\n #if(data.subModuleName != null && data.subModuleName != \"\")\n let requestURL = \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/importExcel/template\";\n #else\n let requestURL = \"#(apiPath)/#(data.moduleName)/importExcel/template\";\n #end\n // 下载文件\n downloadFileByData(requestURL, data);\n}\n\n/**\n* 导入Excel\n* @returns file\n*/\nexport function doImportExcel(data) {\n return request({\n #if(data.subModuleName != null && data.subModuleName != \"\")\n url: \"#(apiPath)/#(data.moduleName)/#(data.subModuleName)/importExcel\",\n #else\n url: \"#(apiPath)/#(data.moduleName)/importExcel\",\n #end\n method: \"post\",\n // 最长超时时间 3 分钟\n timeout: 180000,\n headers: {\n \"Content-Type\": \"multipart/form-data\"\n },\n data,\n });\n}\n\n\n', 0, 1313694379541635074, '2021-05-31 16:52:58', 1313694379541635074, '2021-05-31 16:52:58');
+INSERT INTO `gen_template_detail` VALUES (1398292023479361537, 1398253704724828162, '1', 'src/views/modules/${moduleName}/${subModuleName}', 'index.vue', '\n