diff --git a/pom.xml b/pom.xml index 46502fe42..5494bacd6 100644 --- a/pom.xml +++ b/pom.xml @@ -25,7 +25,7 @@ <url>https://github.com/YunaiV/ruoyi-vue-pro</url> <properties> - <revision>1.6.0-snapshot</revision> + <revision>1.6.1-snapshot</revision> <!-- Maven 相关 --> <java.version>1.8</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> diff --git a/sql/ruoyi-vue-pro.sql b/sql/ruoyi-vue-pro.sql index 5ee1c0473..96183a703 100644 --- a/sql/ruoyi-vue-pro.sql +++ b/sql/ruoyi-vue-pro.sql @@ -11,7 +11,7 @@ Target Server Version : 80026 File Encoding : 65001 - Date: 17/03/2022 00:02:25 + Date: 20/03/2022 02:30:52 */ SET NAMES utf8mb4; @@ -35,7 +35,7 @@ CREATE TABLE `bpm_form` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的表单定义'; +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的表单定义'; -- ---------------------------- -- Records of bpm_form @@ -46,6 +46,7 @@ INSERT INTO `bpm_form` VALUES (8, '啊哈哈', 0, '{\"formRef\":\"elForm\",\"for INSERT INTO `bpm_form` VALUES (9, '新增', 0, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"label\\\":\\\"单行文本\\\",\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"input\\\",\\\"placeholder\\\":\\\"请输入单行文本\\\",\\\"span\\\":24,\\\"labelWidth\\\":null,\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"prepend\\\":\\\"\\\",\\\"append\\\":\\\"\\\",\\\"prefix-icon\\\":\\\"\\\",\\\"suffix-icon\\\":\\\"\\\",\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":101,\\\"renderKey\\\":1640959561705,\\\"layout\\\":\\\"colFormItem\\\",\\\"vModel\\\":\\\"field101\\\"}\",\"{\\\"label\\\":\\\"单选框组\\\",\\\"tag\\\":\\\"el-radio-group\\\",\\\"tagIcon\\\":\\\"radio\\\",\\\"span\\\":24,\\\"labelWidth\\\":null,\\\"style\\\":{},\\\"optionType\\\":\\\"default\\\",\\\"border\\\":false,\\\"size\\\":\\\"medium\\\",\\\"disabled\\\":false,\\\"required\\\":true,\\\"options\\\":[{\\\"label\\\":\\\"选项一\\\",\\\"value\\\":1},{\\\"label\\\":\\\"选项二\\\",\\\"value\\\":2}],\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/radio\\\",\\\"formId\\\":102,\\\"renderKey\\\":1640959563240,\\\"layout\\\":\\\"colFormItem\\\",\\\"vModel\\\":\\\"field102\\\"}\"]', '哈哈哈', '1', '2021-12-31 22:06:11', '1', '2022-02-19 17:27:54', b'1', 1); INSERT INTO `bpm_form` VALUES (10, '11333', 1, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"left\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"label\\\":\\\"多行文本\\\",\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"textarea\\\",\\\"type\\\":\\\"textarea\\\",\\\"placeholder\\\":\\\"请输入多行文本多行文本多行文本\\\",\\\"span\\\":24,\\\"labelWidth\\\":null,\\\"autosize\\\":{\\\"minRows\\\":4,\\\"maxRows\\\":4},\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":101,\\\"renderKey\\\":1640959720587,\\\"layout\\\":\\\"colFormItem\\\",\\\"vModel\\\":\\\"field101\\\",\\\"defaultValue\\\":\\\"1111\\\"}\",\"{\\\"label\\\":\\\"滑块\\\",\\\"tag\\\":\\\"el-slider\\\",\\\"tagIcon\\\":\\\"slider\\\",\\\"defaultValue\\\":0,\\\"span\\\":24,\\\"labelWidth\\\":null,\\\"disabled\\\":false,\\\"required\\\":true,\\\"min\\\":0,\\\"max\\\":100,\\\"step\\\":1,\\\"show-stops\\\":false,\\\"range\\\":false,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/slider\\\",\\\"formId\\\":101,\\\"renderKey\\\":1640959732257,\\\"layout\\\":\\\"colFormItem\\\",\\\"vModel\\\":\\\"field101\\\"}\"]', '222211', '1', '2021-12-31 22:08:45', '1', '2022-02-19 17:27:52', b'1', 1); INSERT INTO `bpm_form` VALUES (11, 'biubiu', 0, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"__config__\\\":{\\\"label\\\":\\\"单行文本\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"changeTag\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"input\\\",\\\"required\\\":true,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"regList\\\":[],\\\"formId\\\":121,\\\"renderKey\\\":\\\"1211641657675668\\\"},\\\"__slot__\\\":{\\\"prepend\\\":\\\"\\\",\\\"append\\\":\\\"\\\"},\\\"placeholder\\\":\\\"请输入单行文本\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"prefix-icon\\\":\\\"\\\",\\\"suffix-icon\\\":\\\"\\\",\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field121\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"多选框组\\\",\\\"tag\\\":\\\"el-checkbox-group\\\",\\\"tagIcon\\\":\\\"checkbox\\\",\\\"defaultValue\\\":[],\\\"span\\\":24,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"layout\\\":\\\"colFormItem\\\",\\\"optionType\\\":\\\"default\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"border\\\":false,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/checkbox\\\",\\\"formId\\\":122,\\\"renderKey\\\":\\\"1221641097529857\\\"},\\\"__slot__\\\":{\\\"options\\\":[{\\\"label\\\":\\\"选项一\\\",\\\"value\\\":1},{\\\"label\\\":\\\"选项二\\\",\\\"value\\\":2}]},\\\"style\\\":{},\\\"size\\\":\\\"medium\\\",\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field122\\\"}\"]', '嘿嘿', '1', '2022-01-02 12:25:55', '1', '2022-02-19 17:27:57', b'0', 1); +INSERT INTO `bpm_form` VALUES (15, 'leave-form', 0, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"__config__\\\":{\\\"label\\\":\\\"开始时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":101,\\\"renderKey\\\":\\\"1011647692195671\\\"},\\\"placeholder\\\":\\\"请选择开始时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field101\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"结束时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":102,\\\"renderKey\\\":\\\"1021647692207701\\\"},\\\"placeholder\\\":\\\"请选择结束时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field102\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"请假类型\\\",\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"tag\\\":\\\"el-select\\\",\\\"tagIcon\\\":\\\"select\\\",\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/select\\\",\\\"formId\\\":103,\\\"renderKey\\\":\\\"1031647692231884\\\"},\\\"__slot__\\\":{\\\"options\\\":[{\\\"label\\\":\\\"事假\\\",\\\"value\\\":1},{\\\"label\\\":\\\"年假\\\",\\\"value\\\":2}]},\\\"placeholder\\\":\\\"请选择请假类型\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"disabled\\\":false,\\\"filterable\\\":false,\\\"multiple\\\":false,\\\"__vModel__\\\":\\\"field103\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"原因\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"textarea\\\",\\\"required\\\":false,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":105,\\\"renderKey\\\":\\\"1051647692319768\\\"},\\\"type\\\":\\\"textarea\\\",\\\"placeholder\\\":\\\"请输入原因\\\",\\\"autosize\\\":{\\\"minRows\\\":4,\\\"maxRows\\\":4},\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field105\\\"}\"]', NULL, '1', '2022-03-19 20:20:56', '1', '2022-03-19 20:20:56', b'0', 1); COMMIT; -- ---------------------------- @@ -122,7 +123,7 @@ CREATE TABLE `bpm_process_definition_ext` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Bpm 流程定义的拓展表\n'; +) ENGINE=InnoDB AUTO_INCREMENT=96 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Bpm 流程定义的拓展表\n'; -- ---------------------------- -- Records of bpm_process_definition_ext @@ -210,6 +211,7 @@ INSERT INTO `bpm_process_definition_ext` VALUES (91, 'oa_leave:3:1fad3d93-7b75-1 INSERT INTO `bpm_process_definition_ext` VALUES (92, 'oa_leave:4:991f2193-7b7f-11ec-a3c8-acde48001122', 'e4a1a1ef-7628-11ec-8477-a2380e71991a', 'OA 请假的示例', 20, NULL, NULL, NULL, '/bpm/oa/flow', '/oa/oa/leave', '1', '2022-01-22 20:34:10', '1', '2022-02-19 17:29:14', b'0', 1); INSERT INTO `bpm_process_definition_ext` VALUES (93, 'oa_leave:5:004b710b-7b8a-11ec-8ef0-acde48001122', 'e4a1a1ef-7628-11ec-8477-a2380e71991a', 'OA 请假的示例', 20, NULL, NULL, NULL, '/bpm/oa/leave/create', '/bpm/oa/leave/detail', '1', '2022-01-22 21:48:38', '1', '2022-02-19 17:29:14', b'0', 1); INSERT INTO `bpm_process_definition_ext` VALUES (94, 'flowable_01:1:c0bb5b36-97ed-11ec-a2b9-862bc1a4a054', '4b4909d8-97e7-11ec-8e20-862bc1a4a054', 'ooxx', 10, 11, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"__config__\\\":{\\\"label\\\":\\\"单行文本\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"changeTag\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"input\\\",\\\"required\\\":true,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"regList\\\":[],\\\"formId\\\":121,\\\"renderKey\\\":\\\"1211641657675668\\\"},\\\"__slot__\\\":{\\\"prepend\\\":\\\"\\\",\\\"append\\\":\\\"\\\"},\\\"placeholder\\\":\\\"请输入单行文本\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"prefix-icon\\\":\\\"\\\",\\\"suffix-icon\\\":\\\"\\\",\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field121\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"多选框组\\\",\\\"tag\\\":\\\"el-checkbox-group\\\",\\\"tagIcon\\\":\\\"checkbox\\\",\\\"defaultValue\\\":[],\\\"span\\\":24,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"layout\\\":\\\"colFormItem\\\",\\\"optionType\\\":\\\"default\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"border\\\":false,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/checkbox\\\",\\\"formId\\\":122,\\\"renderKey\\\":\\\"1221641097529857\\\"},\\\"__slot__\\\":{\\\"options\\\":[{\\\"label\\\":\\\"选项一\\\",\\\"value\\\":1},{\\\"label\\\":\\\"选项二\\\",\\\"value\\\":2}]},\\\"style\\\":{},\\\"size\\\":\\\"medium\\\",\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field122\\\"}\"]', NULL, NULL, '1', '2022-02-28 00:53:14', '1', '2022-02-28 00:53:14', b'0', 1); +INSERT INTO `bpm_process_definition_ext` VALUES (95, 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', '02217e82-a77e-11ec-96d6-8e557beca7ad', '通用表单简单示例', 10, 15, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"__config__\\\":{\\\"label\\\":\\\"开始时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":101,\\\"renderKey\\\":\\\"1011647692195671\\\"},\\\"placeholder\\\":\\\"请选择开始时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field101\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"结束时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":102,\\\"renderKey\\\":\\\"1021647692207701\\\"},\\\"placeholder\\\":\\\"请选择结束时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field102\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"请假类型\\\",\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"tag\\\":\\\"el-select\\\",\\\"tagIcon\\\":\\\"select\\\",\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/select\\\",\\\"formId\\\":103,\\\"renderKey\\\":\\\"1031647692231884\\\"},\\\"__slot__\\\":{\\\"options\\\":[{\\\"label\\\":\\\"事假\\\",\\\"value\\\":1},{\\\"label\\\":\\\"年假\\\",\\\"value\\\":2}]},\\\"placeholder\\\":\\\"请选择请假类型\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"disabled\\\":false,\\\"filterable\\\":false,\\\"multiple\\\":false,\\\"__vModel__\\\":\\\"field103\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"原因\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"textarea\\\",\\\"required\\\":false,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":105,\\\"renderKey\\\":\\\"1051647692319768\\\"},\\\"type\\\":\\\"textarea\\\",\\\"placeholder\\\":\\\"请输入原因\\\",\\\"autosize\\\":{\\\"minRows\\\":4,\\\"maxRows\\\":4},\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field105\\\"}\"]', NULL, NULL, '1', '2022-03-19 21:14:26', '1', '2022-03-19 21:14:26', b'0', 1); COMMIT; -- ---------------------------- @@ -234,7 +236,7 @@ CREATE TABLE `bpm_process_instance_ext` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=199 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的流程实例的拓展'; +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的流程实例的拓展'; -- ---------------------------- -- Records of bpm_process_instance_ext @@ -357,6 +359,7 @@ INSERT INTO `bpm_process_instance_ext` VALUES (194, 1, 'eeee', 'b243fa82-7c06-11 INSERT INTO `bpm_process_instance_ext` VALUES (195, 1, '测试多审批人', 'ecddb286-7c07-11ec-a41d-acde48001122', 'test_001:4:3dbe6714-76b1-11ec-9c66-a2380e71991a', '1', 2, 4, '2022-01-23 12:59:40', '{\"field121\":\"AAA\",\"field122\":[1]}', '1', '2022-01-23 12:50:02', '1', '2022-02-19 17:29:20', b'0', 1); INSERT INTO `bpm_process_instance_ext` VALUES (197, 1, '滔博', '4f676a08-7c09-11ec-b8a1-acde48001122', 'test:21:c2cd44b0-79b0-11ec-b2b8-a2380e71991a', '1', 1, 1, NULL, '{\"field121\":\"aaa\",\"field122\":[1]}', '1', '2022-01-23 12:59:57', '1', '2022-02-19 17:29:20', b'0', 1); INSERT INTO `bpm_process_instance_ext` VALUES (198, 1, 'flowable测试', 'c964c377-97ed-11ec-a2b9-862bc1a4a054', 'flowable_01:1:c0bb5b36-97ed-11ec-a2b9-862bc1a4a054', '1', 2, 2, '2022-02-28 00:53:35', '{\"field121\":\"AAA\",\"field122\":[1]}', '1', '2022-02-28 00:53:28', '1', '2022-02-28 00:53:35', b'0', 1); +INSERT INTO `bpm_process_instance_ext` VALUES (199, 1, '通用表单', '6be9f198-a787-11ec-96d6-8e557beca7ad', 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', '1', 2, 2, '2022-03-19 22:16:00', '{\"field101\":\"2022-03-16\",\"field102\":\"2022-03-18\",\"field103\":1,\"field105\":\"生病了\"}', '1', '2022-03-19 21:21:01', '114', '2022-03-19 22:16:00', b'0', 1); COMMIT; -- ---------------------------- @@ -377,7 +380,7 @@ CREATE TABLE `bpm_task_assign_rule` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=183 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Bpm 任务规则表'; +) ENGINE=InnoDB AUTO_INCREMENT=187 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Bpm 任务规则表'; -- ---------------------------- -- Records of bpm_task_assign_rule @@ -526,6 +529,10 @@ INSERT INTO `bpm_task_assign_rule` VALUES (179, 'e4a1a1ef-7628-11ec-8477-a2380e7 INSERT INTO `bpm_task_assign_rule` VALUES (180, 'e4a1a1ef-7628-11ec-8477-a2380e71991a', 'oa_leave:5:004b710b-7b8a-11ec-8ef0-acde48001122', 'task-21', 30, '[1]', '1', '2022-01-22 21:48:38', '1', '2022-02-19 17:29:26', b'0', 1); INSERT INTO `bpm_task_assign_rule` VALUES (181, '4b4909d8-97e7-11ec-8e20-862bc1a4a054', '', 'task01', 50, '[10]', '1', '2022-02-28 00:53:09', '1', '2022-02-28 00:53:09', b'0', 1); INSERT INTO `bpm_task_assign_rule` VALUES (182, '4b4909d8-97e7-11ec-8e20-862bc1a4a054', 'flowable_01:1:c0bb5b36-97ed-11ec-a2b9-862bc1a4a054', 'task01', 50, '[10]', '1', '2022-02-28 00:53:14', '1', '2022-02-28 00:53:14', b'0', 1); +INSERT INTO `bpm_task_assign_rule` VALUES (183, '02217e82-a77e-11ec-96d6-8e557beca7ad', '', 'Activity_06rmtz9', 50, '[20]', '1', '2022-03-19 20:58:24', '1', '2022-03-19 20:58:24', b'0', 1); +INSERT INTO `bpm_task_assign_rule` VALUES (184, '02217e82-a77e-11ec-96d6-8e557beca7ad', '', 'Activity_1hxzcyl', 22, '[3]', '1', '2022-03-19 20:59:35', '1', '2022-03-19 20:59:35', b'0', 1); +INSERT INTO `bpm_task_assign_rule` VALUES (185, '02217e82-a77e-11ec-96d6-8e557beca7ad', 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', 'Activity_06rmtz9', 50, '[20]', '1', '2022-03-19 21:14:26', '1', '2022-03-19 21:14:26', b'0', 1); +INSERT INTO `bpm_task_assign_rule` VALUES (186, '02217e82-a77e-11ec-96d6-8e557beca7ad', 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', 'Activity_1hxzcyl', 22, '[3]', '1', '2022-03-19 21:14:26', '1', '2022-03-19 21:14:26', b'0', 1); COMMIT; -- ---------------------------- @@ -549,7 +556,7 @@ CREATE TABLE `bpm_task_ext` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=211 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的流程任务的拓展表'; +) ENGINE=InnoDB AUTO_INCREMENT=213 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='工作流的流程任务的拓展表'; -- ---------------------------- -- Records of bpm_task_ext @@ -685,6 +692,8 @@ INSERT INTO `bpm_task_ext` VALUES (206, 1, '1.2', 'ee7cbc97-7c07-11ec-a41d-acde4 INSERT INTO `bpm_task_ext` VALUES (207, 1, '1.1', 'ee67adf1-7c07-11ec-a41d-acde48001122', 4, NULL, '2022-01-23 12:59:40', 'ecddb286-7c07-11ec-a41d-acde48001122', 'test_001:4:3dbe6714-76b1-11ec-9c66-a2380e71991a', '1', '2022-01-23 12:50:05', '1', '2022-02-19 17:29:32', b'0', 1); INSERT INTO `bpm_task_ext` VALUES (209, 1, '任务一', '4f6fce81-7c09-11ec-b8a1-acde48001122', 1, NULL, NULL, '4f676a08-7c09-11ec-b8a1-acde48001122', 'test:21:c2cd44b0-79b0-11ec-b2b8-a2380e71991a', '1', '2022-01-23 12:59:57', '1', '2022-02-19 17:29:32', b'0', 1); INSERT INTO `bpm_task_ext` VALUES (210, 1, 'task01', 'c97146a4-97ed-11ec-a2b9-862bc1a4a054', 2, '嗯嗯嗯', '2022-02-28 00:53:35', 'c964c377-97ed-11ec-a2b9-862bc1a4a054', 'flowable_01:1:c0bb5b36-97ed-11ec-a2b9-862bc1a4a054', '1', '2022-02-28 00:53:28', '1', '2022-02-28 00:53:35', b'0', 1); +INSERT INTO `bpm_task_ext` VALUES (211, 104, '部门领导审批', '6bf71106-a787-11ec-96d6-8e557beca7ad', 2, '关注【芋道源码】公众号', '2022-03-19 22:00:45', '6be9f198-a787-11ec-96d6-8e557beca7ad', 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', '1', '2022-03-19 21:21:02', '104', '2022-03-19 22:00:45', b'0', 1); +INSERT INTO `bpm_task_ext` VALUES (212, 114, 'HR 审批', 'f8beb356-a78c-11ec-bf87-8e557beca7ad', 2, '不错!', '2022-03-19 22:16:00', '6be9f198-a787-11ec-96d6-8e557beca7ad', 'common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad', '104', '2022-03-19 22:00:45', '114', '2022-03-19 22:16:00', b'0', 1); COMMIT; -- ---------------------------- @@ -1175,7 +1184,7 @@ CREATE TABLE `infra_api_error_log` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=320 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统异常日志'; +) ENGINE=InnoDB AUTO_INCREMENT=323 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统异常日志'; -- ---------------------------- -- Records of infra_api_error_log @@ -1271,6 +1280,9 @@ INSERT INTO `infra_api_error_log` VALUES (316, '', 1, 2, 'yudao-admin-server', ' INSERT INTO `infra_api_error_log` VALUES (317, '', 1, 2, 'yudao-admin-server', 'GET', '/admin-api/infra/file/page', '{\"query\":{\"pageNo\":\"1\",\"pageSize\":\"10\"},\"body\":\"\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-16 22:33:11', 'org.springframework.jdbc.BadSqlGrammarException', 'BadSqlGrammarException: \n### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/file/FileMapper.java (best guess)\n### The error may involve defaultParameterMap\n### The error occurred while setting parameters\n### SQL: SELECT id, config_id, path, url, `type`, size, create_time, update_time, creator, updater, deleted FROM infra_file WHERE deleted = 0 ORDER BY create_time DESC LIMIT ?\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'', 'MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'', 'org.springframework.jdbc.BadSqlGrammarException: \n### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/file/FileMapper.java (best guess)\n### The error may involve defaultParameterMap\n### The error occurred while setting parameters\n### SQL: SELECT id, config_id, path, url, `type`, size, create_time, update_time, creator, updater, deleted FROM infra_file WHERE deleted = 0 ORDER BY create_time DESC LIMIT ?\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\n at com.sun.proxy.$Proxy136.selectList(Unknown Source)\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX.selectPage(BaseMapperX.java:25)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.module.infra.dal.mysql.file.FileMapper.selectPage(FileMapper.java:19)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.module.infra.service.file.FileServiceImpl.getFilePage(FileServiceImpl.java:34)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController.getFilePage(FileController.java:82)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$FastClassBySpringCGLIB$$2e43158f.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$EnhancerBySpringCGLIB$$32fbae04.getFilePage(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\nCaused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\n at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\n at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)\n at com.mysql.jdbc.Util.getInstance(Util.java:408)\n at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)\n at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)\n at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)\n at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)\n at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)\n at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\n at sun.reflect.GeneratedMethodAccessor248.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\n at com.sun.proxy.$Proxy158.execute(Unknown Source)\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\n at sun.reflect.GeneratedMethodAccessor247.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\n at com.sun.proxy.$Proxy156.query(Unknown Source)\n at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\n at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\n at com.sun.proxy.$Proxy155.query(Unknown Source)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\n ... 180 more\n', 'org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator', 'SQLErrorCodeSQLExceptionTranslator.java', 'doTranslate', 239, 0, NULL, 0, NULL, '2022-03-16 22:33:11', NULL, '2022-03-16 22:33:11', b'0', 1); INSERT INTO `infra_api_error_log` VALUES (318, '', 1, 2, 'yudao-admin-server', 'GET', '/admin-api/infra/file/page', '{\"query\":{\"pageNo\":\"1\",\"pageSize\":\"10\"},\"body\":\"\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-16 22:37:32', 'org.springframework.jdbc.BadSqlGrammarException', 'BadSqlGrammarException: \n### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/file/FileMapper.java (best guess)\n### The error may involve defaultParameterMap\n### The error occurred while setting parameters\n### SQL: SELECT id, config_id, path, url, `type`, size, create_time, update_time, creator, updater, deleted FROM infra_file WHERE deleted = 0 ORDER BY create_time DESC LIMIT ?\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'', 'MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'', 'org.springframework.jdbc.BadSqlGrammarException: \n### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/file/FileMapper.java (best guess)\n### The error may involve defaultParameterMap\n### The error occurred while setting parameters\n### SQL: SELECT id, config_id, path, url, `type`, size, create_time, update_time, creator, updater, deleted FROM infra_file WHERE deleted = 0 ORDER BY create_time DESC LIMIT ?\n### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:239)\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\n at com.sun.proxy.$Proxy136.selectList(Unknown Source)\n at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:224)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForIPage(MybatisMapperMethod.java:121)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:85)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX.selectPage(BaseMapperX.java:25)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.module.infra.dal.mysql.file.FileMapper.selectPage(FileMapper.java:19)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy197.selectPage(Unknown Source)\n at cn.iocoder.yudao.module.infra.service.file.FileServiceImpl.getFilePage(FileServiceImpl.java:34)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController.getFilePage(FileController.java:82)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$FastClassBySpringCGLIB$$2e43158f.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$EnhancerBySpringCGLIB$$a7a9ae3.getFilePage(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\nCaused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column \'path\' in \'field list\'\n at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)\n at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)\n at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)\n at java.lang.reflect.Constructor.newInstance(Constructor.java:423)\n at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)\n at com.mysql.jdbc.Util.getInstance(Util.java:408)\n at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)\n at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)\n at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)\n at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)\n at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)\n at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\n at com.sun.proxy.$Proxy158.execute(Unknown Source)\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\n at com.sun.proxy.$Proxy156.query(Unknown Source)\n at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:63)\n at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)\n at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)\n at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:81)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\n at com.sun.proxy.$Proxy155.query(Unknown Source)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:151)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:145)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\n ... 180 more\n', 'org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator', 'SQLErrorCodeSQLExceptionTranslator.java', 'doTranslate', 239, 0, NULL, 0, NULL, '2022-03-16 22:37:32', NULL, '2022-03-16 22:37:32', b'0', 1); INSERT INTO `infra_api_error_log` VALUES (319, '', 1, 2, 'yudao-admin-server', 'GET', '/admin-api/infra/file/page', '{\"query\":{\"pageNo\":\"1\",\"pageSize\":\"10\"},\"body\":\"\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-16 22:45:18', 'java.lang.NumberFormatException', 'NumberFormatException: For input string: \"b7de3474-3805-4e09-80e3-185f20c31a74\"', 'NumberFormatException: For input string: \"b7de3474-3805-4e09-80e3-185f20c31a74\"', 'java.lang.NumberFormatException: For input string: \"b7de3474-3805-4e09-80e3-185f20c31a74\"\n at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)\n at java.lang.Long.parseLong(Long.java:589)\n at java.lang.Long.parseLong(Long.java:631)\n at cn.iocoder.yudao.module.infra.convert.file.FileConvertImpl.convert(FileConvertImpl.java:26)\n at cn.iocoder.yudao.module.infra.convert.file.FileConvertImpl.fileDOListToFileRespVOList(FileConvertImpl.java:58)\n at cn.iocoder.yudao.module.infra.convert.file.FileConvertImpl.convertPage(FileConvertImpl.java:45)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController.getFilePage(FileController.java:83)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$FastClassBySpringCGLIB$$2e43158f.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.controller.admin.file.FileController$$EnhancerBySpringCGLIB$$993e9b6f.getFilePage(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:655)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\n', 'java.lang.NumberFormatException', 'NumberFormatException.java', 'forInputString', 65, 0, NULL, 0, NULL, '2022-03-16 22:45:18', NULL, '2022-03-16 22:45:18', b'0', 1); +INSERT INTO `infra_api_error_log` VALUES (320, '', 1, 2, 'yudao-admin-server', 'POST', '/admin-api/infra/codegen/create-list-from-db', '{\"query\":{\"tableNames\":\"system_role\"},\"body\":\"\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-18 22:25:12', 'org.springframework.dao.DataIntegrityViolationException', 'DataIntegrityViolationException: \n### Error updating database. Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java (best guess)\n### The error may involve cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper.insert-Inline\n### The error occurred while setting parameters\n### SQL: INSERT INTO infra_codegen_column (column_name, column_type, column_comment, nullable, primary_key, auto_increment, ordinal_position, java_type, java_field, create_operation, update_operation, list_operation, list_operation_condition, list_operation_result, html_type, create_time, update_time, creator, updater) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n### Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n; Field \'table_id\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'table_id\' doesn\'t have a default value', 'SQLException: Field \'table_id\' doesn\'t have a default value', 'org.springframework.dao.DataIntegrityViolationException: \n### Error updating database. Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java (best guess)\n### The error may involve cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper.insert-Inline\n### The error occurred while setting parameters\n### SQL: INSERT INTO infra_codegen_column (column_name, column_type, column_comment, nullable, primary_key, auto_increment, ordinal_position, java_type, java_field, create_operation, update_operation, list_operation, list_operation_condition, list_operation_result, html_type, create_time, update_time, creator, updater) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n### Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n; Field \'table_id\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251)\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy253.insert(Unknown Source)\n at java.util.ArrayList.forEach(ArrayList.java:1249)\n at cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX.insertBatch(BaseMapperX.java:80)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy253.insertBatch(Unknown Source)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegen0(CodegenServiceImpl.java:86)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegen(CodegenServiceImpl.java:114)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.lambda$createCodegenListFromDB$0(CodegenServiceImpl.java:122)\n at java.util.ArrayList.forEach(ArrayList.java:1249)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegenListFromDB(CodegenServiceImpl.java:122)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl$$FastClassBySpringCGLIB$$6152dfac.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl$$EnhancerBySpringCGLIB$$f180be30.createCodegenListFromDB(<generated>)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController.createCodegenListFromDB(CodegenController.java:92)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController$$FastClassBySpringCGLIB$$8f5d07f9.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.GeneratedMethodAccessor313.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController$$EnhancerBySpringCGLIB$$2551b00b.createCodegenListFromDB(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\nCaused by: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)\n at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)\n at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)\n at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)\n at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)\n at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\n at sun.reflect.GeneratedMethodAccessor196.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\n at com.sun.proxy.$Proxy158.execute(Unknown Source)\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)\n at sun.reflect.GeneratedMethodAccessor379.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\n at com.sun.proxy.$Proxy156.update(Unknown Source)\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\n at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)\n at sun.reflect.GeneratedMethodAccessor386.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\n at com.sun.proxy.$Proxy155.update(Unknown Source)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\n at sun.reflect.GeneratedMethodAccessor418.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\n ... 190 more\n', 'org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator', 'SQLErrorCodeSQLExceptionTranslator.java', 'doTranslate', 251, 0, NULL, 0, NULL, '2022-03-18 22:25:12', NULL, '2022-03-18 22:25:12', b'0', 1); +INSERT INTO `infra_api_error_log` VALUES (321, '', 1, 2, 'yudao-admin-server', 'POST', '/admin-api/infra/codegen/create-list-from-db', '{\"query\":{\"tableNames\":\"system_role\"},\"body\":\"\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-18 22:25:34', 'org.springframework.dao.DataIntegrityViolationException', 'DataIntegrityViolationException: \n### Error updating database. Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java (best guess)\n### The error may involve cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper.insert-Inline\n### The error occurred while setting parameters\n### SQL: INSERT INTO infra_codegen_column (column_name, column_type, column_comment, nullable, primary_key, auto_increment, ordinal_position, java_type, java_field, create_operation, update_operation, list_operation, list_operation_condition, list_operation_result, html_type, create_time, update_time, creator, updater) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n### Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n; Field \'table_id\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'table_id\' doesn\'t have a default value', 'SQLException: Field \'table_id\' doesn\'t have a default value', 'org.springframework.dao.DataIntegrityViolationException: \n### Error updating database. Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n### The error may exist in cn/iocoder/yudao/module/infra/dal/mysql/codegen/CodegenColumnMapper.java (best guess)\n### The error may involve cn.iocoder.yudao.module.infra.dal.mysql.codegen.CodegenColumnMapper.insert-Inline\n### The error occurred while setting parameters\n### SQL: INSERT INTO infra_codegen_column (column_name, column_type, column_comment, nullable, primary_key, auto_increment, ordinal_position, java_type, java_field, create_operation, update_operation, list_operation, list_operation_condition, list_operation_result, html_type, create_time, update_time, creator, updater) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)\n### Cause: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n; Field \'table_id\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:251)\n at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:70)\n at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:91)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:441)\n at com.sun.proxy.$Proxy136.insert(Unknown Source)\n at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272)\n at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:148)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy253.insert(Unknown Source)\n at java.util.ArrayList.forEach(ArrayList.java:1249)\n at cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX.insertBatch(BaseMapperX.java:80)\n at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$DefaultMethodInvoker.invoke(MybatisMapperProxy.java:162)\n at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89)\n at com.sun.proxy.$Proxy253.insertBatch(Unknown Source)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegen0(CodegenServiceImpl.java:86)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegen(CodegenServiceImpl.java:114)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.lambda$createCodegenListFromDB$0(CodegenServiceImpl.java:122)\n at java.util.ArrayList.forEach(ArrayList.java:1249)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl.createCodegenListFromDB(CodegenServiceImpl.java:122)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl$$FastClassBySpringCGLIB$$6152dfac.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.service.codegen.CodegenServiceImpl$$EnhancerBySpringCGLIB$$f180be30.createCodegenListFromDB(<generated>)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController.createCodegenListFromDB(CodegenController.java:92)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController$$FastClassBySpringCGLIB$$8f5d07f9.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.GeneratedMethodAccessor313.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController$$EnhancerBySpringCGLIB$$2551b00b.createCodegenListFromDB(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\nCaused by: java.sql.SQLException: Field \'table_id\' doesn\'t have a default value\n at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)\n at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)\n at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)\n at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)\n at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)\n at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)\n at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1197)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3461)\n at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:440)\n at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3459)\n at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:167)\n at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:497)\n at sun.reflect.GeneratedMethodAccessor196.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:59)\n at com.sun.proxy.$Proxy158.execute(Unknown Source)\n at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:47)\n at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:74)\n at sun.reflect.GeneratedMethodAccessor379.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:64)\n at com.sun.proxy.$Proxy156.update(Unknown Source)\n at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50)\n at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)\n at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)\n at sun.reflect.GeneratedMethodAccessor386.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:49)\n at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106)\n at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:62)\n at com.sun.proxy.$Proxy155.update(Unknown Source)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:194)\n at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:181)\n at sun.reflect.GeneratedMethodAccessor418.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:427)\n ... 190 more\n', 'org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator', 'SQLErrorCodeSQLExceptionTranslator.java', 'doTranslate', 251, 0, NULL, 0, NULL, '2022-03-18 22:25:34', NULL, '2022-03-18 22:25:34', b'0', 1); +INSERT INTO `infra_api_error_log` VALUES (322, '', 114, 2, 'yudao-admin-server', 'PUT', '/admin-api/bpm/task/approve', '{\"query\":{},\"body\":\"{\\\"id\\\":\\\"f8beb356-a78c-11ec-bf87-8e557beca7ad\\\",\\\"comment\\\":\\\"不错!\\\"}\"}', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', '2022-03-19 22:16:19', 'org.flowable.common.engine.api.FlowableOptimisticLockingException', 'FlowableOptimisticLockingException: Execution[ id \'6bee3762-a787-11ec-96d6-8e557beca7ad\' ] - activity \'Event_0g5w7ck\' - parent \'6be9f198-a787-11ec-96d6-8e557beca7ad\' was updated by another transaction concurrently', 'FlowableOptimisticLockingException: Execution[ id \'6bee3762-a787-11ec-96d6-8e557beca7ad\' ] - activity \'Event_0g5w7ck\' - parent \'6be9f198-a787-11ec-96d6-8e557beca7ad\' was updated by another transaction concurrently', 'org.flowable.common.engine.api.FlowableOptimisticLockingException: Execution[ id \'6bee3762-a787-11ec-96d6-8e557beca7ad\' ] - activity \'Event_0g5w7ck\' - parent \'6be9f198-a787-11ec-96d6-8e557beca7ad\' was updated by another transaction concurrently\n at org.flowable.common.engine.impl.db.DbSqlSession.flushUpdates(DbSqlSession.java:577)\n at org.flowable.common.engine.impl.db.DbSqlSession.flush(DbSqlSession.java:364)\n at org.flowable.common.engine.impl.interceptor.CommandContext.flushSessions(CommandContext.java:211)\n at org.flowable.common.engine.impl.interceptor.CommandContext.close(CommandContext.java:69)\n at org.flowable.common.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:107)\n at org.flowable.common.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:52)\n at org.flowable.common.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)\n at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:56)\n at org.flowable.common.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:51)\n at org.flowable.engine.impl.TaskServiceImpl.complete(TaskServiceImpl.java:217)\n at cn.iocoder.yudao.module.bpm.service.task.BpmTaskServiceImpl.approveTask(BpmTaskServiceImpl.java:182)\n at cn.iocoder.yudao.module.bpm.service.task.BpmTaskServiceImpl$$FastClassBySpringCGLIB$$5c73399a.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)\n at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)\n at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.bpm.service.task.BpmTaskServiceImpl$$EnhancerBySpringCGLIB$$f5855e16.approveTask(<generated>)\n at cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskController.java:60)\n at cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController$$FastClassBySpringCGLIB$$5246e6e1.invoke(<generated>)\n at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:123)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around0(OperateLogAspect.java:96)\n at cn.iocoder.yudao.framework.operatelog.core.aop.OperateLogAspect.around(OperateLogAspect.java:77)\n at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:634)\n at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:624)\n at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:72)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:175)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:61)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)\n at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753)\n at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698)\n at cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController$$EnhancerBySpringCGLIB$$ca26d53b.approveTask(<generated>)\n at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n at java.lang.reflect.Method.invoke(Method.java:498)\n at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)\n at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)\n at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808)\n at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067)\n at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963)\n at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n at org.springframework.web.servlet.FrameworkServlet.doPut(FrameworkServlet.java:920)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:684)\n at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at de.codecentric.boot.admin.server.ui.web.servlet.HomepageForwardingFilter.doFilter(HomepageForwardingFilter.java:78)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:111)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.flowable.core.web.FlowableWebFilter.doFilterInternal(FlowableWebFilter.java:29)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.security.TenantSecurityWebFilter.doFilterInternal(TenantSecurityWebFilter.java:98)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115)\n at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)\n at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126)\n at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at cn.iocoder.yudao.framework.security.core.filter.JWTAuthenticationTokenFilter.doFilterInternal(JWTAuthenticationTokenFilter.java:60)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103)\n at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90)\n at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)\n at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336)\n at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211)\n at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183)\n at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354)\n at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:102)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tenant.core.web.TenantContextWebFilter.doFilterInternal(TenantContextWebFilter.java:32)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.web.core.filter.CacheRequestBodyFilter.doFilterInternal(CacheRequestBodyFilter.java:22)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at cn.iocoder.yudao.framework.tracer.core.filter.TraceFilter.doFilterInternal(TraceFilter.java:30)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)\n at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)\n at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)\n at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)\n at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)\n at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)\n at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)\n at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)\n at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)\n at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)\n at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359)\n at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)\n at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)\n at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)\n at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735)\n at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)\n at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\n at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)\n at java.lang.Thread.run(Thread.java:748)\n', 'org.flowable.common.engine.impl.db.DbSqlSession', 'DbSqlSession.java', 'flushUpdates', 577, 0, NULL, 0, NULL, '2022-03-19 22:16:19', NULL, '2022-03-19 22:16:19', b'0', 1); COMMIT; -- ---------------------------- @@ -1303,7 +1315,7 @@ CREATE TABLE `infra_codegen_column` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=789 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成表字段定义'; +) ENGINE=InnoDB AUTO_INCREMENT=804 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成表字段定义'; -- ---------------------------- -- Records of infra_codegen_column @@ -1585,6 +1597,21 @@ INSERT INTO `infra_codegen_column` VALUES (785, 64, 'create_time', 'datetime', ' INSERT INTO `infra_codegen_column` VALUES (786, 64, 'updater', 'varchar(64)', '更新者', b'1', b'0', '0', 9, 'String', 'updater', '', NULL, b'0', b'0', b'0', '=', b'0', 'input', '1', '2022-03-15 00:23:42', '1', '2022-03-15 22:51:20', b'0'); INSERT INTO `infra_codegen_column` VALUES (787, 64, 'update_time', 'datetime', '更新时间', b'0', b'0', '0', 10, 'Date', 'updateTime', '', NULL, b'0', b'0', b'0', 'BETWEEN', b'0', 'datetime', '1', '2022-03-15 00:23:42', '1', '2022-03-15 22:51:20', b'0'); INSERT INTO `infra_codegen_column` VALUES (788, 64, 'deleted', 'bit(1)', '是否删除', b'0', b'0', '0', 11, 'Boolean', 'deleted', '', NULL, b'0', b'0', b'0', '=', b'0', 'radio', '1', '2022-03-15 00:23:42', '1', '2022-03-15 22:51:20', b'0'); +INSERT INTO `infra_codegen_column` VALUES (789, 67, 'id', 'bigint', '角色ID', b'0', b'1', '1', 1, 'Long', 'id', '', NULL, b'0', b'1', b'0', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (790, 67, 'name', 'varchar(30)', '角色名称', b'0', b'0', '0', 2, 'String', 'name', '', NULL, b'1', b'1', b'1', 'LIKE', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (791, 67, 'code', 'varchar(100)', '角色权限字符串', b'0', b'0', '0', 3, 'String', 'code', '', NULL, b'1', b'1', b'1', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (792, 67, 'sort', 'int', '显示顺序', b'0', b'0', '0', 4, 'Integer', 'sort', '', NULL, b'1', b'1', b'1', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (793, 67, 'data_scope', 'tinyint', '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', b'0', b'0', '0', 5, 'Integer', 'dataScope', '', NULL, b'1', b'1', b'1', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (794, 67, 'data_scope_dept_ids', 'varchar(500)', '数据范围(指定部门数组)', b'0', b'0', '0', 6, 'String', 'dataScopeDeptIds', '', NULL, b'1', b'1', b'1', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (795, 67, 'status', 'tinyint', '角色状态(0正常 1停用)', b'0', b'0', '0', 7, 'Integer', 'status', '', NULL, b'1', b'1', b'1', '=', b'1', 'radio', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (796, 67, 'type', 'tinyint', '角色类型', b'0', b'0', '0', 8, 'Integer', 'type', '', NULL, b'1', b'1', b'1', '=', b'1', 'select', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (797, 67, 'remark', 'varchar(500)', '备注', b'1', b'0', '0', 9, 'String', 'remark', '', NULL, b'1', b'1', b'1', '=', b'1', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (798, 67, 'creator', 'varchar(64)', '创建者', b'1', b'0', '0', 10, 'String', 'creator', '', NULL, b'0', b'0', b'0', '=', b'0', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (799, 67, 'create_time', 'datetime', '创建时间', b'0', b'0', '0', 11, 'Date', 'createTime', '', NULL, b'0', b'0', b'1', 'BETWEEN', b'1', 'datetime', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (800, 67, 'updater', 'varchar(64)', '更新者', b'1', b'0', '0', 12, 'String', 'updater', '', NULL, b'0', b'0', b'0', '=', b'0', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (801, 67, 'update_time', 'datetime', '更新时间', b'0', b'0', '0', 13, 'Date', 'updateTime', '', NULL, b'0', b'0', b'0', 'BETWEEN', b'0', 'datetime', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (802, 67, 'deleted', 'bit(1)', '是否删除', b'0', b'0', '0', 14, 'Boolean', 'deleted', '', NULL, b'0', b'0', b'0', '=', b'0', 'radio', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); +INSERT INTO `infra_codegen_column` VALUES (803, 67, 'tenant_id', 'bigint', '租户编号', b'0', b'0', '0', 15, 'Long', 'tenantId', '', NULL, b'0', b'0', b'0', '=', b'0', 'input', '1', '2022-03-18 22:31:29', '1', '2022-03-18 22:31:29', b'0'); COMMIT; -- ---------------------------- @@ -1611,7 +1638,7 @@ CREATE TABLE `infra_codegen_table` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成表定义'; +) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成表定义'; -- ---------------------------- -- Records of infra_codegen_table @@ -1639,6 +1666,7 @@ INSERT INTO `infra_codegen_table` VALUES (61, 1, 1, 'bpm_oa_leave', 'OA 请假 INSERT INTO `infra_codegen_table` VALUES (62, 1, 1, 'bpm_oa_leave', 'OA 请假申请表', NULL, 'bpm', 'oaLeave', 'OaLeave', 'OA 请假申请', '芋道源码', 1, NULL, '1', '2022-03-10 15:56:15', '1', '2022-03-12 15:01:25', b'0'); INSERT INTO `infra_codegen_table` VALUES (63, 1, 1, 'infra_file_config', '文件配置表', NULL, 'infra', 'fileConfig', 'FileConfig', '文件配置', '芋道源码', 1, NULL, '1', '2022-03-14 16:22:45', '1', '2022-03-14 16:23:33', b'1'); INSERT INTO `infra_codegen_table` VALUES (64, 1, 1, 'infra_file_config', '文件配置表', NULL, 'infra', 'file', 'FileConfig', '文件配置', '芋道源码', 1, 1, '1', '2022-03-14 16:23:19', '1', '2022-03-15 22:51:20', b'0'); +INSERT INTO `infra_codegen_table` VALUES (67, 1, 1, 'system_role', '角色信息表', NULL, 'system', 'role', 'Role', '角色信息', '芋道源码', 1, NULL, '1', '2022-03-10 15:56:18', '1', '2022-03-18 22:31:29', b'0'); COMMIT; -- ---------------------------- @@ -1666,8 +1694,8 @@ CREATE TABLE `infra_config` ( -- Records of infra_config -- ---------------------------- BEGIN; -INSERT INTO `infra_config` VALUES (1, 'ui', 1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', b'0', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow', 'admin', '2021-01-05 17:03:48', '1', '2021-12-16 07:42:36', b'0'); -INSERT INTO `infra_config` VALUES (2, 'biz', 1, '用户管理-账号初始密码', 'sys.user.init-password', '123456', b'0', '初始化密码 123456', 'admin', '2021-01-05 17:03:48', '', '2021-04-13 03:48:02', b'0'); +INSERT INTO `infra_config` VALUES (1, 'ui', 1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', b'0', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow', 'admin', '2021-01-05 17:03:48', '1', '2022-03-20 02:25:48', b'0'); +INSERT INTO `infra_config` VALUES (2, 'biz', 1, '用户管理-账号初始密码', 'sys.user.init-password', '123456', b'0', '初始化密码 123456', 'admin', '2021-01-05 17:03:48', '1', '2022-03-20 02:25:51', b'0'); INSERT INTO `infra_config` VALUES (3, 'ui', 1, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', b'0', '深色主题theme-dark,浅色主题theme-light', 'admin', '2021-01-05 17:03:48', '', '2021-01-19 03:05:21', b'0'); INSERT INTO `infra_config` VALUES (4, '1', 2, 'xxx', 'demo.test', '10', b'0', '5', '', '2021-01-19 03:10:26', '', '2021-01-20 09:25:55', b'0'); INSERT INTO `infra_config` VALUES (5, 'xxx', 2, 'xxx', 'xxx', 'xxx', b'1', 'xxx', '', '2021-02-09 20:06:47', '', '2021-02-09 20:06:47', b'0'); @@ -1691,15 +1719,18 @@ CREATE TABLE `infra_file` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表'; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表'; -- ---------------------------- -- Records of infra_file -- ---------------------------- BEGIN; INSERT INTO `infra_file` VALUES (1, 2, 'v2-e68697db7bc2aba0924c5b5e7e377dff_r.jpeg', 'http://test.yudao.iocoder.cn/v2-e68697db7bc2aba0924c5b5e7e377dff_r.jpeg', 'jpg', 31809, '1', '2022-03-16 22:50:11', '1', '2022-03-16 15:08:33', b'1'); -INSERT INTO `infra_file` VALUES (2, 2, '1000.jpeg', 'http://test.yudao.iocoder.cn/1000.jpeg', 'jpg', 34126, '1', '2022-03-16 23:07:27', '1', '2022-03-16 23:07:27', b'0'); -INSERT INTO `infra_file` VALUES (3, 2, 'a294ecb2-73dd-4353-bf40-296b8931d0bf', 'http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf', 'jpg', 83115, '1', '2022-03-16 23:51:41', '1', '2022-03-16 23:51:41', b'0'); +INSERT INTO `infra_file` VALUES (2, 2, '1000.jpeg', 'http://test.yudao.iocoder.cn/1000.jpeg', 'jpg', 34126, '1', '2022-03-16 23:07:27', '1', '2022-03-17 11:49:48', b'1'); +INSERT INTO `infra_file` VALUES (3, 2, 'a294ecb2-73dd-4353-bf40-296b8931d0bf', 'http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf', 'jpg', 83115, '1', '2022-03-16 23:51:41', '1', '2022-03-17 11:49:50', b'1'); +INSERT INTO `infra_file` VALUES (4, 2, '43301647479822_.pic.jpg', 'http://test.yudao.iocoder.cn/43301647479822_.pic.jpg', 'png', 423337, '1', '2022-03-17 09:19:11', '1', '2022-03-17 09:19:11', b'0'); +INSERT INTO `infra_file` VALUES (5, 2, '43891647495423_.pic.jpg', 'http://test.yudao.iocoder.cn/43891647495423_.pic.jpg', 'png', 17424, '1', '2022-03-17 19:51:31', '1', '2022-03-17 19:51:31', b'0'); +INSERT INTO `infra_file` VALUES (6, 2, '822aebded6e6414e912534c6091771a4.jpg', 'http://test.yudao.iocoder.cn/822aebded6e6414e912534c6091771a4.jpg', 'jpg', 18385, '1', '2022-03-17 20:48:00', '1', '2022-03-17 20:48:00', b'0'); COMMIT; -- ---------------------------- @@ -1719,18 +1750,22 @@ CREATE TABLE `infra_file_config` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件配置表'; +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件配置表'; -- ---------------------------- -- Records of infra_file_config -- ---------------------------- BEGIN; -INSERT INTO `infra_file_config` VALUES (2, 'S3 - 七牛云', 20, '戴佩妮真可爱', b'1', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-15 20:43:34', '1', '2022-03-16 00:21:26', b'0'); +INSERT INTO `infra_file_config` VALUES (2, 'S3 - 七牛云', 20, '戴佩妮真可爱', b'1', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-15 20:43:34', '1', '2022-03-19 09:55:12', b'1'); INSERT INTO `infra_file_config` VALUES (3, '测试', 20, NULL, b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"1\",\"domain\":\"\",\"region\":\"2\",\"bucket\":\"3\",\"accessKey\":\"4\",\"accessSecret\":\"5\"}', '1', '2022-03-15 23:30:58', '1', '2022-03-15 15:40:27', b'1'); -INSERT INTO `infra_file_config` VALUES (4, '数据库', 1, '我是数据库', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.db.DBFileClientConfig\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:56:24', '1', '2022-03-16 00:21:26', b'0'); -INSERT INTO `infra_file_config` VALUES (5, '本地磁盘', 10, '测试下本地存储', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.local.LocalFileClientConfig\",\"basePath\":\"/Users/yunai/file_test\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:57:00', '1', '2022-03-16 00:21:26', b'0'); +INSERT INTO `infra_file_config` VALUES (4, '数据库', 1, '我是数据库', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.db.DBFileClientConfig\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:56:24', '1', '2022-03-19 19:10:11', b'0'); +INSERT INTO `infra_file_config` VALUES (5, '本地磁盘', 10, '测试下本地存储', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.local.LocalFileClientConfig\",\"basePath\":\"/Users/yunai/file_test\",\"domain\":\"http://127.0.0.1:48080\"}', '1', '2022-03-15 23:57:00', '1', '2022-03-19 19:10:11', b'0'); INSERT INTO `infra_file_config` VALUES (6, 'FTP 服务器', 11, '测试下 FTP', b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.ftp.FtpFileClientConfig\",\"basePath\":\"/Users/yunai/file_test\",\"domain\":\"http://127.0.0.1:48080\",\"host\":\"127.0.0.1\",\"port\":22,\"username\":\"root\",\"password\":\"password\",\"mode\":\"Active\"}', '1', '2022-03-16 00:00:43', '1', '2022-03-16 13:23:32', b'1'); INSERT INTO `infra_file_config` VALUES (7, 'SFTP 服务器', 12, NULL, b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.sftp.SftpFileClientConfig\",\"basePath\":\"/Users/yunai/file_test\",\"domain\":\"http://127.0.0.1:48080\",\"host\":\"127.0.0.1\",\"port\":23,\"username\":\"root\",\"password\":\"password\"}', '1', '2022-03-16 00:02:02', '1', '2022-03-16 13:23:31', b'1'); +INSERT INTO `infra_file_config` VALUES (8, 'S3 - 测试', 20, NULL, b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-17 18:46:19', '1', '2022-03-17 10:46:28', b'1'); +INSERT INTO `infra_file_config` VALUES (9, 'S3 - 测试', 20, NULL, b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-17 19:40:13', '1', '2022-03-17 11:40:16', b'1'); +INSERT INTO `infra_file_config` VALUES (10, 'S3 - 测试七牛', 20, NULL, b'0', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-17 19:54:19', '1', '2022-03-17 11:57:19', b'1'); +INSERT INTO `infra_file_config` VALUES (11, 'S3 - 七牛云', 20, NULL, b'1', '{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}', '1', '2022-03-19 18:00:03', '1', '2022-03-19 19:10:11', b'0'); COMMIT; -- ---------------------------- @@ -2886,7 +2921,7 @@ CREATE TABLE `system_login_log` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1042 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录'; +) ENGINE=InnoDB AUTO_INCREMENT=1055 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录'; -- ---------------------------- -- Records of system_login_log @@ -3043,6 +3078,19 @@ INSERT INTO `system_login_log` VALUES (1038, 102, '', 1, 2, 'admin', 0, '127.0.0 INSERT INTO `system_login_log` VALUES (1039, 102, '', 1, 2, 'admin', 0, '127.0.0.1', 'Apache-HttpClient/4.5.13 (Java/11.0.13)', NULL, '2022-03-15 22:20:22', NULL, '2022-03-15 22:20:22', b'0', 1); INSERT INTO `system_login_log` VALUES (1040, 102, '', 1, 2, 'admin', 0, '127.0.0.1', 'Apache-HttpClient/4.5.13 (Java/11.0.13)', NULL, '2022-03-15 22:20:26', NULL, '2022-03-15 22:20:26', b'0', 1); INSERT INTO `system_login_log` VALUES (1041, 100, '', 1, 2, 'admin', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-16 23:46:20', NULL, '2022-03-16 23:46:20', b'0', 1); +INSERT INTO `system_login_log` VALUES (1042, 100, '', 1, 2, 'admin', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-18 22:24:46', NULL, '2022-03-18 22:24:46', b'0', 1); +INSERT INTO `system_login_log` VALUES (1043, 100, '', 1, 2, 'admin', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:27:50', NULL, '2022-03-19 18:27:50', b'0', 1); +INSERT INTO `system_login_log` VALUES (1044, 100, '', 0, 2, 'aoteman', 10, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:37:33', NULL, '2022-03-19 18:37:33', b'0', 121); +INSERT INTO `system_login_log` VALUES (1045, 100, '', 0, 2, 'aoteman', 10, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:37:42', NULL, '2022-03-19 18:37:42', b'0', 121); +INSERT INTO `system_login_log` VALUES (1046, 100, '', 0, 2, 'aoteman', 10, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:37:56', NULL, '2022-03-19 18:37:56', b'0', 121); +INSERT INTO `system_login_log` VALUES (1047, 100, '', 0, 2, 'aoteman', 10, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:38:21', NULL, '2022-03-19 18:38:21', b'0', 121); +INSERT INTO `system_login_log` VALUES (1048, 100, '', 113, 2, 'aoteman', 10, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:38:40', NULL, '2022-03-19 18:38:40', b'0', 122); +INSERT INTO `system_login_log` VALUES (1049, 100, '', 113, 2, 'aoteman', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:38:51', NULL, '2022-03-19 18:38:51', b'0', 122); +INSERT INTO `system_login_log` VALUES (1050, 100, '', 104, 2, 'test', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 21:45:14', NULL, '2022-03-19 21:45:14', b'0', 1); +INSERT INTO `system_login_log` VALUES (1051, 200, '', 104, 2, 'test', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 21:46:11', NULL, '2022-03-19 21:46:11', b'0', 1); +INSERT INTO `system_login_log` VALUES (1052, 100, '', 104, 2, 'test', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 21:46:19', NULL, '2022-03-19 21:46:19', b'0', 1); +INSERT INTO `system_login_log` VALUES (1053, 200, '', 104, 2, 'test', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 22:13:06', NULL, '2022-03-19 22:13:06', b'0', 1); +INSERT INTO `system_login_log` VALUES (1054, 100, '', 114, 2, 'hrmgr', 0, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 22:15:43', NULL, '2022-03-19 22:15:43', b'0', 1); COMMIT; -- ---------------------------- @@ -3374,7 +3422,7 @@ CREATE TABLE `system_operate_log` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1566 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志记录'; +) ENGINE=InnoDB AUTO_INCREMENT=1619 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志记录'; -- ---------------------------- -- Records of system_operate_log @@ -3797,6 +3845,59 @@ INSERT INTO `system_operate_log` VALUES (1562, '', 1, 2, '管理后台 - 菜单' INSERT INTO `system_operate_log` VALUES (1563, '', 1, 2, '管理后台 - 菜单', '修改菜单', 3, '', '', 'PUT', '/admin-api/system/menu/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.permission.MenuController.updateMenu(MenuUpdateReqVO)', '{\"reqVO\":{\"name\":\"文件配置\",\"permission\":\"\",\"type\":2,\"sort\":0,\"parentId\":1243,\"path\":\"file-config\",\"icon\":\"\",\"component\":\"infra/fileConfig/index\",\"status\":0,\"id\":1237}}', '2022-03-16 23:48:43', 40, 0, '', 'true', NULL, '2022-03-16 23:48:43', NULL, '2022-03-16 23:48:43', b'0', 1); INSERT INTO `system_operate_log` VALUES (1564, '', 1, 2, '管理后台 - 菜单', '修改菜单', 3, '', '', 'PUT', '/admin-api/system/menu/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.permission.MenuController.updateMenu(MenuUpdateReqVO)', '{\"reqVO\":{\"name\":\"文件配置\",\"permission\":\"\",\"type\":2,\"sort\":0,\"parentId\":1243,\"path\":\"file-config\",\"icon\":\"config\",\"component\":\"infra/fileConfig/index\",\"status\":0,\"id\":1237}}', '2022-03-16 23:49:31', 42, 0, '', 'true', NULL, '2022-03-16 23:49:31', NULL, '2022-03-16 23:49:31', b'0', 1); INSERT INTO `system_operate_log` VALUES (1565, '', 1, 2, '管理后台 - 用户个人中心', '上传用户个人头像', 3, '', '', 'PUT', '/admin-api/system/user/profile/update-avatar', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.user.UserProfileController.updateUserAvatar(MultipartFile)', '{\"file\":\"[ignore]\"}', '2022-03-16 23:51:41', 942, 0, '', '\"http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf\"', NULL, '2022-03-16 23:51:42', NULL, '2022-03-16 23:51:42', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1566, '', 1, 2, '管理后台 - 文件存储', '上传文件', 2, '', '', 'POST', '/admin-api/infra/file/upload', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileController.uploadFile(MultipartFile,String)', '{\"path\":\"43301647479822_.pic.jpg\",\"file\":\"[ignore]\"}', '2022-03-17 09:19:10', 1129, 0, '', '\"http://test.yudao.iocoder.cn/43301647479822_.pic.jpg\"', NULL, '2022-03-17 09:19:11', NULL, '2022-03-17 09:19:11', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1567, '', 1, 2, '管理后台 - 文件配置', '创建文件配置', 2, '', '', 'POST', '/admin-api/infra/file-config/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.createFileConfig(FileConfigCreateReqVO)', '{\"createReqVO\":{\"name\":\"S3 - 测试\",\"remark\":null,\"storage\":20,\"config\":{\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\",\"domain\":\"http://test.yudao.iocoder.cn\"}}}', '2022-03-17 18:46:19', 86, 0, '', '8', NULL, '2022-03-17 18:46:19', NULL, '2022-03-17 18:46:19', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1568, '', 1, 2, '管理后台 - 文件配置', '删除文件配置', 4, '', '', 'DELETE', '/admin-api/infra/file-config/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.deleteFileConfig(Long)', '{\"id\":8}', '2022-03-17 18:46:28', 32, 0, '', 'true', NULL, '2022-03-17 18:46:28', NULL, '2022-03-17 18:46:28', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1569, '', 1, 2, '管理后台 - 文件配置', '创建文件配置', 2, '', '', 'POST', '/admin-api/infra/file-config/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.createFileConfig(FileConfigCreateReqVO)', '{\"createReqVO\":{\"name\":\"S3 - 测试\",\"remark\":null,\"storage\":20,\"config\":{\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\",\"domain\":\"http://test.yudao.iocoder.cn\"}}}', '2022-03-17 19:40:13', 21, 0, '', '9', NULL, '2022-03-17 19:40:13', NULL, '2022-03-17 19:40:13', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1570, '', 1, 2, '管理后台 - 文件配置', '删除文件配置', 4, '', '', 'DELETE', '/admin-api/infra/file-config/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.deleteFileConfig(Long)', '{\"id\":9}', '2022-03-17 19:40:16', 26, 0, '', 'true', NULL, '2022-03-17 19:40:16', NULL, '2022-03-17 19:40:16', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1571, '', 1, 2, '管理后台 - 文件配置', '更新文件配置', 3, '', '', 'PUT', '/admin-api/infra/file-config/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.updateFileConfig(FileConfigUpdateReqVO)', '{\"updateReqVO\":{\"name\":\"S3 - 七牛云\",\"remark\":\"戴佩妮真可爱\",\"id\":2,\"config\":{\"@class\":\"cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig\",\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"domain\":\"http://test.yudao.iocoder.cn\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\"}}}', '2022-03-17 19:43:46', 29, 0, '', 'true', NULL, '2022-03-17 19:43:46', NULL, '2022-03-17 19:43:46', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1572, '', 1, 2, '管理后台 - 文件存储', '删除文件', 4, '', '', 'DELETE', '/admin-api/infra/file/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileController.deleteFile(Long)', '{\"id\":2}', '2022-03-17 19:49:48', 326, 0, '', 'true', NULL, '2022-03-17 19:49:48', NULL, '2022-03-17 19:49:48', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1573, '', 1, 2, '管理后台 - 文件存储', '删除文件', 4, '', '', 'DELETE', '/admin-api/infra/file/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileController.deleteFile(Long)', '{\"id\":3}', '2022-03-17 19:49:50', 82, 0, '', 'true', NULL, '2022-03-17 19:49:50', NULL, '2022-03-17 19:49:50', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1574, '', 1, 2, '管理后台 - 文件存储', '上传文件', 2, '', '', 'POST', '/admin-api/infra/file/upload', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileController.uploadFile(MultipartFile,String)', '{\"path\":\"43891647495423_.pic.jpg\",\"file\":\"[ignore]\"}', '2022-03-17 19:51:30', 317, 0, '', '\"http://test.yudao.iocoder.cn/43891647495423_.pic.jpg\"', NULL, '2022-03-17 19:51:31', NULL, '2022-03-17 19:51:31', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1575, '', 1, 2, '管理后台 - 文件配置', '创建文件配置', 2, '', '', 'POST', '/admin-api/infra/file-config/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.createFileConfig(FileConfigCreateReqVO)', '{\"createReqVO\":{\"name\":\"S3 - 测试七牛\",\"remark\":null,\"storage\":20,\"config\":{\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"region\":\"oss-cn-beijing\",\"bucket\":\"ruoyi-vue-pro\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\",\"domain\":\"http://test.yudao.iocoder.cn\"}}}', '2022-03-17 19:54:19', 16, 0, '', '10', NULL, '2022-03-17 19:54:19', NULL, '2022-03-17 19:54:19', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1576, '', 1, 2, '管理后台 - 文件配置', '更新文件配置为 Master', 3, '', '', 'PUT', '/admin-api/infra/file-config/update-master', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.updateFileConfigMaster(Long)', '{\"id\":10}', '2022-03-17 19:57:15', 43, 0, '', 'true', NULL, '2022-03-17 19:57:15', NULL, '2022-03-17 19:57:15', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1577, '', 1, 2, '管理后台 - 文件配置', '更新文件配置为 Master', 3, '', '', 'PUT', '/admin-api/infra/file-config/update-master', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.updateFileConfigMaster(Long)', '{\"id\":2}', '2022-03-17 19:57:18', 32, 0, '', 'true', NULL, '2022-03-17 19:57:18', NULL, '2022-03-17 19:57:18', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1578, '', 1, 2, '管理后台 - 文件配置', '删除文件配置', 4, '', '', 'DELETE', '/admin-api/infra/file-config/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.deleteFileConfig(Long)', '{\"id\":10}', '2022-03-17 19:57:19', 20, 0, '', 'true', NULL, '2022-03-17 19:57:19', NULL, '2022-03-17 19:57:19', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1579, '', 1, 2, '管理后台 - 文件存储', '上传文件', 2, '', '', 'POST', '/admin-api/infra/file/upload', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileController.uploadFile(MultipartFile,String)', '{\"path\":\"822aebded6e6414e912534c6091771a4.jpg\",\"file\":\"[ignore]\"}', '2022-03-17 20:48:00', 385, 0, '', '\"http://test.yudao.iocoder.cn/822aebded6e6414e912534c6091771a4.jpg\"', NULL, '2022-03-17 20:48:00', NULL, '2022-03-17 20:48:00', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1580, '', 1, 2, '管理后台 - 代码生成器', '基于数据库的表结构,创建代码生成器的表和字段定义', 2, '', '', 'POST', '/admin-api/infra/codegen/create-list-from-db', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController.createCodegenListFromDB(List)', '{\"tableNames\":[\"system_role\"]}', '2022-03-18 22:25:12', 270, 500, 'SQLException: Field \'table_id\' doesn\'t have a default value', 'null', NULL, '2022-03-18 22:25:12', NULL, '2022-03-18 22:25:12', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1581, '', 1, 2, '管理后台 - 代码生成器', '基于数据库的表结构,创建代码生成器的表和字段定义', 2, '', '', 'POST', '/admin-api/infra/codegen/create-list-from-db', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController.createCodegenListFromDB(List)', '{\"tableNames\":[\"system_role\"]}', '2022-03-18 22:25:34', 96, 500, 'SQLException: Field \'table_id\' doesn\'t have a default value', 'null', NULL, '2022-03-18 22:25:34', NULL, '2022-03-18 22:25:34', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1582, '', 1, 2, '管理后台 - 代码生成器', '基于数据库的表结构,创建代码生成器的表和字段定义', 2, '', '', 'POST', '/admin-api/infra/codegen/create-list-from-db', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.codegen.CodegenController.createCodegenListFromDB(List)', '{\"tableNames\":[\"system_role\"]}', '2022-03-18 22:31:25', 4060, 0, '', '[67]', NULL, '2022-03-18 22:31:29', NULL, '2022-03-18 22:31:29', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1583, '', 1, 2, '管理后台 - 文件配置', '创建文件配置', 2, '', '', 'POST', '/admin-api/infra/file-config/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.createFileConfig(FileConfigCreateReqVO)', '{\"createReqVO\":{\"name\":\"S3 - 七牛云\",\"remark\":null,\"storage\":20,\"config\":{\"endpoint\":\"s3-cn-south-1.qiniucs.com\",\"accessKey\":\"b7yvuhBSAGjmtPhMFcn9iMOxUOY_I06cA_p0ZUx8\",\"accessSecret\":\"kXM1l5ia1RvSX3QaOEcwI3RLz3Y2rmNszWonKZtP\",\"bucket\":\"ruoyi-vue-pro\",\"domain\":\"http://test.yudao.iocoder.cn\"}}}', '2022-03-19 18:00:03', 73, 0, '', '11', NULL, '2022-03-19 18:00:03', NULL, '2022-03-19 18:00:03', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1584, '', 1, 2, '管理后台 - 租户', '更新租户', 3, '', '', 'PUT', '/admin-api/system/tenant/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.tenant.TenantController.updateTenant(TenantUpdateReqVO)', '{\"updateReqVO\":{\"name\":\"小租户\",\"contactName\":\"小王2\",\"contactMobile\":\"15601691300\",\"status\":0,\"domain\":\"http://www.iocoder.cn\",\"packageId\":111,\"expireTime\":1710086400000,\"accountCount\":20,\"id\":121}}', '2022-03-19 18:37:20', 44, 0, '', 'true', NULL, '2022-03-19 18:37:20', NULL, '2022-03-19 18:37:20', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1585, '', 1, 2, '管理后台 - 租户套餐', '更新租户套餐', 3, '', '', 'PUT', '/admin-api/system/tenant-package/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.tenant.TenantPackageController.updateTenantPackage(TenantPackageUpdateReqVO)', '{\"updateReqVO\":{\"name\":\"普通套餐\",\"status\":0,\"remark\":\"小功能\",\"menuIds\":[1024,1025,1,103,104,1017,1018,1019,1020,1021,1022,1023],\"id\":111}}', '2022-03-19 18:39:06', 138, 0, '', 'true', NULL, '2022-03-19 18:39:06', NULL, '2022-03-19 18:39:06', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1586, '', 1, 2, '管理后台 - 租户套餐', '更新租户套餐', 3, '', '', 'PUT', '/admin-api/system/tenant-package/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.tenant.TenantPackageController.updateTenantPackage(TenantPackageUpdateReqVO)', '{\"updateReqVO\":{\"name\":\"普通套餐\",\"status\":0,\"remark\":\"小功能\",\"menuIds\":[1024,1025,1,102,103,104,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023],\"id\":111}}', '2022-03-19 18:39:13', 147, 0, '', 'true', NULL, '2022-03-19 18:39:13', NULL, '2022-03-19 18:39:13', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1587, '', 1, 2, '管理后台 - 文件配置', '更新文件配置为 Master', 3, '', '', 'PUT', '/admin-api/infra/file-config/update-master', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.file.FileConfigController.updateFileConfigMaster(Long)', '{\"id\":11}', '2022-03-19 19:10:11', 45, 0, '', 'true', NULL, '2022-03-19 19:10:11', NULL, '2022-03-19 19:10:11', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1588, '', 1, 2, '管理后台 - 流程模型', '新建模型', 2, '', '', 'POST', '/admin-api/bpm/model/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.createModel(BpmModelCreateReqVO)', '{\"createRetVO\":{\"key\":\"common-form\",\"name\":\"通用表单\",\"description\":\"通用表单简单示例\"}}', '2022-03-19 20:13:38', 56, 0, '', '\"02217e82-a77e-11ec-96d6-8e557beca7ad\"', NULL, '2022-03-19 20:13:39', NULL, '2022-03-19 20:13:39', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1589, '', 1, 2, '管理后台 - 动态表单', '创建动态表单', 2, '', '', 'POST', '/admin-api/bpm/form/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmFormController.createForm(BpmFormCreateReqVO)', '{\"createReqVO\":{\"name\":\"leave-form\",\"status\":0,\"remark\":null,\"conf\":\"{\\\"formRef\\\":\\\"elForm\\\",\\\"formModel\\\":\\\"formData\\\",\\\"size\\\":\\\"medium\\\",\\\"labelPosition\\\":\\\"right\\\",\\\"labelWidth\\\":100,\\\"formRules\\\":\\\"rules\\\",\\\"gutter\\\":15,\\\"disabled\\\":false,\\\"span\\\":24,\\\"formBtns\\\":true}\",\"fields\":[\"{\\\"__config__\\\":{\\\"label\\\":\\\"开始时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":101,\\\"renderKey\\\":\\\"1011647692195671\\\"},\\\"placeholder\\\":\\\"请选择开始时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field101\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"结束时间\\\",\\\"tag\\\":\\\"el-date-picker\\\",\\\"tagIcon\\\":\\\"date\\\",\\\"defaultValue\\\":null,\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"span\\\":24,\\\"layout\\\":\\\"colFormItem\\\",\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/date-picker\\\",\\\"formId\\\":102,\\\"renderKey\\\":\\\"1021647692207701\\\"},\\\"placeholder\\\":\\\"请选择结束时间\\\",\\\"type\\\":\\\"date\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"format\\\":\\\"yyyy-MM-dd\\\",\\\"value-format\\\":\\\"yyyy-MM-dd\\\",\\\"readonly\\\":false,\\\"__vModel__\\\":\\\"field102\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"请假类型\\\",\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"tag\\\":\\\"el-select\\\",\\\"tagIcon\\\":\\\"select\\\",\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/select\\\",\\\"formId\\\":103,\\\"renderKey\\\":\\\"1031647692231884\\\"},\\\"__slot__\\\":{\\\"options\\\":[{\\\"label\\\":\\\"事假\\\",\\\"value\\\":1},{\\\"label\\\":\\\"年假\\\",\\\"value\\\":2}]},\\\"placeholder\\\":\\\"请选择请假类型\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"disabled\\\":false,\\\"filterable\\\":false,\\\"multiple\\\":false,\\\"__vModel__\\\":\\\"field103\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"原因\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"textarea\\\",\\\"required\\\":false,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":105,\\\"renderKey\\\":\\\"1051647692319768\\\"},\\\"type\\\":\\\"textarea\\\",\\\"placeholder\\\":\\\"请输入原因\\\",\\\"autosize\\\":{\\\"minRows\\\":4,\\\"maxRows\\\":4},\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field105\\\"}\"]}}', '2022-03-19 20:20:56', 23, 0, '', '15', NULL, '2022-03-19 20:20:56', NULL, '2022-03-19 20:20:56', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1590, '', 1, 2, '管理后台 - 流程模型', '修改模型', 3, '', '', 'PUT', '/admin-api/bpm/model/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.updateModel(BpmModelUpdateReqVO)', '{\"modelVO\":{\"id\":\"02217e82-a77e-11ec-96d6-8e557beca7ad\",\"name\":\"通用表单\",\"description\":\"通用表单简单示例\",\"category\":null,\"bpmnXml\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<bpmn2:definitions xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:bpmn2=\\\"http://www.omg.org/spec/BPMN/20100524/MODEL\\\" xmlns:bpmndi=\\\"http://www.omg.org/spec/BPMN/20100524/DI\\\" xmlns:dc=\\\"http://www.omg.org/spec/DD/20100524/DC\\\" xmlns:di=\\\"http://www.omg.org/spec/DD/20100524/DI\\\" id=\\\"diagram_Process_1647692811932\\\" targetNamespace=\\\"http://activiti.org/bpmn\\\"><bpmn2:process id=\\\"common-form\\\" name=\\\"通用表单\\\" isExecutable=\\\"true\\\"><bpmn2:startEvent id=\\\"Event_1ygq2tq\\\"><bpmn2:outgoing>Flow_0119zx3</bpmn2:outgoing></bpmn2:startEvent><bpmn2:userTask id=\\\"Activity_06rmtz9\\\" name=\\\"部门领导审批\\\"><bpmn2:incoming>Flow_0119zx3</bpmn2:incoming><bpmn2:outgoing>Flow_0dvfklr</bpmn2:outgoing></bpmn2:userTask><bpmn2:sequenceFlow id=\\\"Flow_0119zx3\\\" sourceRef=\\\"Event_1ygq2tq\\\" targetRef=\\\"Activity_06rmtz9\\\" /><bpmn2:userTask id=\\\"Activity_1hxzcyl\\\" name=\\\"HR 审批\\\"><bpmn2:incoming>Flow_0dvfklr</bpmn2:incoming><bpmn2:outgoing>Flow_1q9hzx4</bpmn2:outgoing></bpmn2:userTask><bpmn2:sequenceFlow id=\\\"Flow_0dvfklr\\\" sourceRef=\\\"Activity_06rmtz9\\\" targetRef=\\\"Activity_1hxzcyl\\\" /><bpmn2:endEvent id=\\\"Event_0g5w7ck\\\"><bpmn2:incoming>Flow_1q9hzx4</bpmn2:incoming></bpmn2:endEvent><bpmn2:sequenceFlow id=\\\"Flow_1q9hzx4\\\" sourceRef=\\\"Activity_1hxzcyl\\\" targetRef=\\\"Event_0g5w7ck\\\" /></bpmn2:process><bpmndi:BPMNDiagram id=\\\"BPMNDiagram_1\\\"><bpmndi:BPMNPlane id=\\\"common-form_di\\\" bpmnElement=\\\"common-form\\\"><bpmndi:BPMNEdge id=\\\"Flow_1q9hzx4_di\\\" bpmnElement=\\\"Flow_1q9hzx4\\\"><di:waypoint x=\\\"520\\\" y=\\\"300\\\" /><di:waypoint x=\\\"592\\\" y=\\\"300\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"Flow_0dvfklr_di\\\" bpmnElement=\\\"Flow_0dvfklr\\\"><di:waypoint x=\\\"350\\\" y=\\\"300\\\" /><di:waypoint x=\\\"420\\\" y=\\\"300\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"Flow_0119zx3_di\\\" bpmnElement=\\\"Flow_0119zx3\\\"><di:waypoint x=\\\"188\\\" y=\\\"300\\\" /><di:waypoint x=\\\"250\\\" y=\\\"300\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id=\\\"Event_1ygq2tq_di\\\" bpmnElement=\\\"Event_1ygq2tq\\\"><dc:Bounds x=\\\"152\\\" y=\\\"282\\\" width=\\\"36\\\" height=\\\"36\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"Activity_06rmtz9_di\\\" bpmnElement=\\\"Activity_06rmtz9\\\"><dc:Bounds x=\\\"250\\\" y=\\\"260\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"Activity_1hxzcyl_di\\\" bpmnElement=\\\"Activity_1hxzcyl\\\"><dc:Bounds x=\\\"420\\\" y=\\\"260\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"Event_0g5w7ck_di\\\" bpmnElement=\\\"Event_0g5w7ck\\\"><dc:Bounds x=\\\"592\\\" y=\\\"282\\\" width=\\\"36\\\" height=\\\"36\\\" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></bpmn2:definitions>\",\"formType\":null,\"formId\":null,\"formCustomCreatePath\":null,\"formCustomViewPath\":null}}', '2022-03-19 20:40:45', 53, 0, '', 'true', NULL, '2022-03-19 20:40:45', NULL, '2022-03-19 20:40:45', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1591, '', 1, 2, '管理后台 - 流程模型', '修改模型', 3, '', '', 'PUT', '/admin-api/bpm/model/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.updateModel(BpmModelUpdateReqVO)', '{\"modelVO\":{\"id\":\"02217e82-a77e-11ec-96d6-8e557beca7ad\",\"name\":\"通用表单\",\"description\":\"通用表单简单示例\",\"category\":\"1\",\"bpmnXml\":null,\"formType\":10,\"formId\":15,\"formCustomCreatePath\":null,\"formCustomViewPath\":null}}', '2022-03-19 20:40:57', 19, 0, '', 'true', NULL, '2022-03-19 20:40:57', NULL, '2022-03-19 20:40:57', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1592, '', 1, 2, '管理后台 - 任务分配规则', '创建任务分配规则', 2, '', '', 'POST', '/admin-api/bpm/task-assign-rule/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmTaskAssignRuleController.createTaskAssignRule(BpmTaskAssignRuleCreateReqVO)', '{\"reqVO\":{\"type\":50,\"options\":[20],\"modelId\":\"02217e82-a77e-11ec-96d6-8e557beca7ad\",\"taskDefinitionKey\":\"Activity_06rmtz9\"}}', '2022-03-19 20:58:24', 32, 0, '', '183', NULL, '2022-03-19 20:58:24', NULL, '2022-03-19 20:58:24', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1593, '', 1, 2, '管理后台 - 任务分配规则', '创建任务分配规则', 2, '', '', 'POST', '/admin-api/bpm/task-assign-rule/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmTaskAssignRuleController.createTaskAssignRule(BpmTaskAssignRuleCreateReqVO)', '{\"reqVO\":{\"type\":22,\"options\":[3],\"modelId\":\"02217e82-a77e-11ec-96d6-8e557beca7ad\",\"taskDefinitionKey\":\"Activity_1hxzcyl\"}}', '2022-03-19 20:59:35', 33, 0, '', '184', NULL, '2022-03-19 20:59:35', NULL, '2022-03-19 20:59:35', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1594, '', 1, 2, '管理后台 - 流程模型', '部署模型', 2, '', '', 'POST', '/admin-api/bpm/model/deploy', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.deployModel(String)', '{\"id\":\"02217e82-a77e-11ec-96d6-8e557beca7ad\"}', '2022-03-19 21:14:25', 602, 0, '', 'true', NULL, '2022-03-19 21:14:26', NULL, '2022-03-19 21:14:26', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1595, '', 1, 2, '管理后台 - 流程实例', '新建流程实例', 2, '', '', 'POST', '/admin-api/bpm/process-instance/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmProcessInstanceController.createProcessInstance(BpmProcessInstanceCreateReqVO)', '{\"createReqVO\":{\"processDefinitionId\":\"common-form:1:7fdfc407-a786-11ec-96d6-8e557beca7ad\",\"variables\":{\"field101\":\"2022-03-16\",\"field102\":\"2022-03-18\",\"field103\":1,\"field105\":\"生病了\"}}}', '2022-03-19 21:21:01', 718, 0, '', '\"6be9f198-a787-11ec-96d6-8e557beca7ad\"', NULL, '2022-03-19 21:21:02', NULL, '2022-03-19 21:21:02', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1596, '', 1, 2, '管理后台 - 用户', '重置用户密码', 3, '', '', 'PUT', '/admin-api/system/user/update-password', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.user.UserController.updateUserPassword(UserUpdatePasswordReqVO)', '{\"reqVO\":{\"id\":104,\"password\":\"test\"}}', '2022-03-19 21:43:41', 131, 0, '', 'true', NULL, '2022-03-19 21:43:41', NULL, '2022-03-19 21:43:41', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1597, '', 1, 2, '管理后台 - 用户', '重置用户密码', 3, '', '', 'PUT', '/admin-api/system/user/update-password', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.user.UserController.updateUserPassword(UserUpdatePasswordReqVO)', '{\"reqVO\":{\"id\":104,\"password\":\"test123\"}}', '2022-03-19 21:44:04', 133, 0, '', 'true', NULL, '2022-03-19 21:44:04', NULL, '2022-03-19 21:44:04', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1598, '', 1, 2, '管理后台 - 权限', '赋予角色菜单', 2, '', '', 'POST', '/admin-api/system/permission/assign-role-menu', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.permission.PermissionController.assignRoleMenu(PermissionAssignRoleMenuReqVO)', '{\"reqVO\":{\"roleId\":101,\"menuIds\":[1216,1217,1218,1219,1220,1221,5,1222,1118,1119,1120,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,1201,1202,1207,1208,1209,1210,1211,1212,1213,1215]}}', '2022-03-19 21:45:52', 257, 0, '', 'true', NULL, '2022-03-19 21:45:52', NULL, '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1599, '', 1, 2, '管理后台 - 用户', '新增用户', 2, '', '', 'POST', '/admin-api/system/user/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.user.UserController.createUser(UserCreateReqVO)', '{\"reqVO\":{\"username\":\"hrmgr\",\"nickname\":\"hr 小姐姐\",\"remark\":null,\"deptId\":null,\"postIds\":[3],\"email\":null,\"mobile\":null,\"sex\":null,\"avatar\":null,\"password\":\"hr123\"}}', '2022-03-19 21:50:58', 152, 0, '', '114', NULL, '2022-03-19 21:50:58', NULL, '2022-03-19 21:50:58', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1600, '', 1, 2, '管理后台 - 权限', '赋予用户角色', 2, '', '', 'POST', '/admin-api/system/permission/assign-user-role', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.permission.PermissionController.assignUserRole(PermissionAssignUserRoleReqVO)', '{\"reqVO\":{\"userId\":114,\"roleIds\":[101]}}', '2022-03-19 21:51:13', 20, 0, '', 'true', NULL, '2022-03-19 21:51:13', NULL, '2022-03-19 21:51:13', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1601, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:54:07', 97, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:54:08', NULL, '2022-03-19 21:54:08', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1602, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:54:13', 68, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:54:13', NULL, '2022-03-19 21:54:13', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1603, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:54:28', 64, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:54:28', NULL, '2022-03-19 21:54:28', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1604, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:54:41', 71, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:54:41', NULL, '2022-03-19 21:54:41', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1605, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:55:36', 52349, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:56:29', NULL, '2022-03-19 21:56:29', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1606, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 21:58:22', 22929, 500, 'ServiceException: 操作失败,原因:找不到任务的审批人!', 'null', NULL, '2022-03-19 21:58:45', NULL, '2022-03-19 21:58:45', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1607, '', 1, 2, '管理后台 - 权限', '赋予角色数据权限', 2, '', '', 'POST', '/admin-api/system/permission/assign-role-data-scope', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.system.controller.admin.permission.PermissionController.assignRoleDataScope(PermissionAssignRoleDataScopeReqVO)', '{\"reqVO\":{\"roleId\":101,\"dataScope\":1,\"dataScopeDeptIds\":[]}}', '2022-03-19 22:00:41', 32, 0, '', 'true', NULL, '2022-03-19 22:00:41', NULL, '2022-03-19 22:00:41', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1608, '', 104, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"6bf71106-a787-11ec-96d6-8e557beca7ad\",\"comment\":\"关注【芋道源码】公众号\"}}', '2022-03-19 22:00:45', 305, 0, '', 'true', NULL, '2022-03-19 22:00:45', NULL, '2022-03-19 22:00:45', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1609, '', 114, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"f8beb356-a78c-11ec-bf87-8e557beca7ad\",\"comment\":\"不错!\"}}', '2022-03-19 22:16:00', 287, 0, '', 'true', NULL, '2022-03-19 22:16:00', NULL, '2022-03-19 22:16:00', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1610, '', 114, 2, '管理后台 - 流程任务实例', '通过任务', 3, '', '', 'PUT', '/admin-api/bpm/task/approve', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.task.BpmTaskController.approveTask(BpmTaskApproveReqVO)', '{\"reqVO\":{\"id\":\"f8beb356-a78c-11ec-bf87-8e557beca7ad\",\"comment\":\"不错!\"}}', '2022-03-19 22:15:59', 18922, 500, 'FlowableOptimisticLockingException: Execution[ id \'6bee3762-a787-11ec-96d6-8e557beca7ad\' ] - activity \'Event_0g5w7ck\' - parent \'6be9f198-a787-11ec-96d6-8e557beca7ad\' was updated by another transaction concurrently', 'null', NULL, '2022-03-19 22:16:18', NULL, '2022-03-19 22:16:18', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1611, '', 1, 2, '管理后台 - 流程模型', '新建模型', 2, '', '', 'POST', '/admin-api/bpm/model/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.createModel(BpmModelCreateReqVO)', '{\"createRetVO\":{\"key\":\"oa_leave\",\"name\":\"OA 请假\",\"description\":null}}', '2022-03-19 23:33:24', 24, 0, '', '\"e9e29c4f-a799-11ec-bf87-8e557beca7ad\"', NULL, '2022-03-19 23:33:24', NULL, '2022-03-19 23:33:24', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1612, '', 1, 2, '管理后台 - 流程模型', '删除模型', 4, '', '', 'DELETE', '/admin-api/bpm/model/delete', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.deleteModel(String)', '{\"id\":\"e9e29c4f-a799-11ec-bf87-8e557beca7ad\"}', '2022-03-19 23:33:30', 27, 0, '', 'true', NULL, '2022-03-19 23:33:30', NULL, '2022-03-19 23:33:30', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1613, '', 1, 2, '管理后台 - 流程模型', '新建模型', 2, '', '', 'POST', '/admin-api/bpm/model/create', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.createModel(BpmModelCreateReqVO)', '{\"createRetVO\":{\"key\":\"oa_leave\",\"name\":\"OA 请假\",\"description\":null}}', '2022-03-19 23:34:41', 21, 0, '', '\"18348550-a79a-11ec-bf87-8e557beca7ad\"', NULL, '2022-03-19 23:34:41', NULL, '2022-03-19 23:34:41', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1614, '', 1, 2, '管理后台 - 流程模型', '修改模型', 3, '', '', 'PUT', '/admin-api/bpm/model/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.updateModel(BpmModelUpdateReqVO)', '{\"modelVO\":{\"id\":\"18348550-a79a-11ec-bf87-8e557beca7ad\",\"name\":\"OA 请假\",\"description\":null,\"category\":null,\"bpmnXml\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<definitions xmlns=\\\"http://www.omg.org/spec/BPMN/20100524/MODEL\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:bpmndi=\\\"http://www.omg.org/spec/BPMN/20100524/DI\\\" xmlns:omgdc=\\\"http://www.omg.org/spec/DD/20100524/DC\\\" xmlns:omgdi=\\\"http://www.omg.org/spec/DD/20100524/DI\\\" xmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\" targetNamespace=\\\"http://www.activiti.org/processdef\\\"><process id=\\\"oa_leave\\\" name=\\\"OA 请假\\\" isExecutable=\\\"true\\\"><startEvent id=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" /><userTask id=\\\"task-01\\\" name=\\\"领导审批\\\" /><sequenceFlow id=\\\"sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\" sourceRef=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" targetRef=\\\"task-01\\\" /><exclusiveGateway id=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" default=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" /><sequenceFlow id=\\\"sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\" sourceRef=\\\"task-01\\\" targetRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" /><userTask id=\\\"task-21\\\" name=\\\"HR 审批\\\" /><endEvent id=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\"><incoming>sid-59046FB9-ABD0-43B6-9FA0-916D6972573A</incoming></endEvent><sequenceFlow id=\\\"sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\" sourceRef=\\\"task-21\\\" targetRef=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" /><sequenceFlow id=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" name=\\\"请假小于等于 1 天\\\" sourceRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" targetRef=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" /><sequenceFlow id=\\\"sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\" name=\\\"请假大于 3 天\\\" sourceRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" targetRef=\\\"task-21\\\"><conditionExpression xsi:type=\\\"tFormalExpression\\\">${day > 3}</conditionExpression></sequenceFlow></process><bpmndi:BPMNDiagram id=\\\"BPMNDiagram_leave2\\\"><bpmndi:BPMNPlane id=\\\"oa_leave_di\\\" bpmnElement=\\\"oa_leave\\\"><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\" bpmnElement=\\\"sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\"><omgdi:waypoint x=\\\"443.58097165991904\\\" y=\\\"203.08097165991902\\\" /><omgdi:waypoint x=\\\"444\\\" y=\\\"100\\\" /><omgdi:waypoint x=\\\"525\\\" y=\\\"100\\\" /><bpmndi:BPMNLabel><omgdc:Bounds x=\\\"411\\\" y=\\\"127\\\" width=\\\"68\\\" height=\\\"14\\\" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" bpmnElement=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\"><omgdi:waypoint x=\\\"464\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"750\\\" y=\\\"223\\\" /><bpmndi:BPMNLabel><omgdc:Bounds x=\\\"464\\\" y=\\\"198\\\" width=\\\"90\\\" height=\\\"14\\\" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\" bpmnElement=\\\"sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\"><omgdi:waypoint x=\\\"625\\\" y=\\\"132.53968253968253\\\" /><omgdi:waypoint x=\\\"752.2660465436063\\\" y=\\\"215.36361759187076\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\" bpmnElement=\\\"sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\"><omgdi:waypoint x=\\\"385\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"423.5\\\" y=\\\"223\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\" bpmnElement=\\\"sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\"><omgdi:waypoint x=\\\"233.5\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"285\\\" y=\\\"223\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id=\\\"BPMNShape_sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" bpmnElement=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\"><omgdc:Bounds x=\\\"203.5\\\" y=\\\"208\\\" width=\\\"30\\\" height=\\\"30\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"task-01_di\\\" bpmnElement=\\\"task-01\\\"><omgdc:Bounds x=\\\"285\\\" y=\\\"183\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"BPMNShape_sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" bpmnElement=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" isMarkerVisible=\\\"true\\\"><omgdc:Bounds x=\\\"423.5\\\" y=\\\"203\\\" width=\\\"40\\\" height=\\\"40\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"task-21_di\\\" bpmnElement=\\\"task-21\\\"><omgdc:Bounds x=\\\"525\\\" y=\\\"60\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"BPMNShape_sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" bpmnElement=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\"><omgdc:Bounds x=\\\"750\\\" y=\\\"209\\\" width=\\\"28\\\" height=\\\"28\\\" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions>\",\"formType\":null,\"formId\":null,\"formCustomCreatePath\":null,\"formCustomViewPath\":null}}', '2022-03-19 23:45:02', 43, 0, '', 'true', NULL, '2022-03-19 23:45:02', NULL, '2022-03-19 23:45:02', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1615, '', 1, 2, '管理后台 - 流程模型', '修改模型', 3, '', '', 'PUT', '/admin-api/bpm/model/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.updateModel(BpmModelUpdateReqVO)', '{\"modelVO\":{\"id\":\"18348550-a79a-11ec-bf87-8e557beca7ad\",\"name\":\"OA 请假\",\"description\":null,\"category\":null,\"bpmnXml\":\"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\\n<definitions xmlns=\\\"http://www.omg.org/spec/BPMN/20100524/MODEL\\\" xmlns:xsi=\\\"http://www.w3.org/2001/XMLSchema-instance\\\" xmlns:bpmndi=\\\"http://www.omg.org/spec/BPMN/20100524/DI\\\" xmlns:omgdc=\\\"http://www.omg.org/spec/DD/20100524/DC\\\" xmlns:omgdi=\\\"http://www.omg.org/spec/DD/20100524/DI\\\" xmlns:xsd=\\\"http://www.w3.org/2001/XMLSchema\\\" targetNamespace=\\\"http://www.activiti.org/processdef\\\"><process id=\\\"oa_leave\\\" name=\\\"OA 请假\\\" isExecutable=\\\"true\\\"><startEvent id=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" /><userTask id=\\\"task-01\\\" name=\\\"领导审批\\\" /><sequenceFlow id=\\\"sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\" sourceRef=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" targetRef=\\\"task-01\\\" /><exclusiveGateway id=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" default=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" /><sequenceFlow id=\\\"sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\" sourceRef=\\\"task-01\\\" targetRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" /><userTask id=\\\"task-21\\\" name=\\\"HR 审批\\\" /><endEvent id=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\"><incoming>sid-59046FB9-ABD0-43B6-9FA0-916D6972573A</incoming></endEvent><sequenceFlow id=\\\"sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\" sourceRef=\\\"task-21\\\" targetRef=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" /><sequenceFlow id=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" name=\\\"请假小于等于 1 天\\\" sourceRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" targetRef=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" /><sequenceFlow id=\\\"sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\" name=\\\"请假大于 3 天\\\" sourceRef=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" targetRef=\\\"task-21\\\"><conditionExpression xsi:type=\\\"tFormalExpression\\\">${day > 3}</conditionExpression></sequenceFlow></process><bpmndi:BPMNDiagram id=\\\"BPMNDiagram_leave2\\\"><bpmndi:BPMNPlane id=\\\"oa_leave_di\\\" bpmnElement=\\\"oa_leave\\\"><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\" bpmnElement=\\\"sid-0CAF1537-A2F7-46D2-9807-77F81C8143A7\\\"><omgdi:waypoint x=\\\"443.58097165991904\\\" y=\\\"203.08097165991902\\\" /><omgdi:waypoint x=\\\"444\\\" y=\\\"100\\\" /><omgdi:waypoint x=\\\"525\\\" y=\\\"100\\\" /><bpmndi:BPMNLabel><omgdc:Bounds x=\\\"411\\\" y=\\\"127\\\" width=\\\"68\\\" height=\\\"14\\\" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\" bpmnElement=\\\"sid-59046FB9-ABD0-43B6-9FA0-916D6972573A\\\"><omgdi:waypoint x=\\\"464\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"750\\\" y=\\\"223\\\" /><bpmndi:BPMNLabel><omgdc:Bounds x=\\\"464\\\" y=\\\"198\\\" width=\\\"90\\\" height=\\\"14\\\" /></bpmndi:BPMNLabel></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\" bpmnElement=\\\"sid-A57EA9A3-6926-415A-92E1-73B7F7D8BA13\\\"><omgdi:waypoint x=\\\"625\\\" y=\\\"132.53968253968253\\\" /><omgdi:waypoint x=\\\"752.2660465436063\\\" y=\\\"215.36361759187076\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\" bpmnElement=\\\"sid-D013FF31-68E1-4326-9A6D-520D9F03F11B\\\"><omgdi:waypoint x=\\\"385\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"423.5\\\" y=\\\"223\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNEdge id=\\\"BPMNEdge_sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\" bpmnElement=\\\"sid-C49DB46C-17B9-469E-934C-015637BA86FC\\\"><omgdi:waypoint x=\\\"233.5\\\" y=\\\"223\\\" /><omgdi:waypoint x=\\\"285\\\" y=\\\"223\\\" /></bpmndi:BPMNEdge><bpmndi:BPMNShape id=\\\"BPMNShape_sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\" bpmnElement=\\\"sid-590598C4-B0C6-4DCE-8C65-1B4C473964D2\\\"><omgdc:Bounds x=\\\"203.5\\\" y=\\\"208\\\" width=\\\"30\\\" height=\\\"30\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"task-01_di\\\" bpmnElement=\\\"task-01\\\"><omgdc:Bounds x=\\\"285\\\" y=\\\"183\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"BPMNShape_sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" bpmnElement=\\\"sid-DF236505-2B41-497B-BB12-D5B36A65A489\\\" isMarkerVisible=\\\"true\\\"><omgdc:Bounds x=\\\"423.5\\\" y=\\\"203\\\" width=\\\"40\\\" height=\\\"40\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"task-21_di\\\" bpmnElement=\\\"task-21\\\"><omgdc:Bounds x=\\\"525\\\" y=\\\"60\\\" width=\\\"100\\\" height=\\\"80\\\" /></bpmndi:BPMNShape><bpmndi:BPMNShape id=\\\"BPMNShape_sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\" bpmnElement=\\\"sid-A0912D5A-0AEF-47E6-A798-A29CE1FAD7FF\\\"><omgdc:Bounds x=\\\"750\\\" y=\\\"209\\\" width=\\\"28\\\" height=\\\"28\\\" /></bpmndi:BPMNShape></bpmndi:BPMNPlane></bpmndi:BPMNDiagram></definitions>\",\"formType\":null,\"formId\":null,\"formCustomCreatePath\":null,\"formCustomViewPath\":null}}', '2022-03-20 00:17:27', 23, 0, '', 'true', NULL, '2022-03-20 00:17:27', NULL, '2022-03-20 00:17:27', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1616, '', 1, 2, '管理后台 - 流程模型', '部署模型', 2, '', '', 'POST', '/admin-api/bpm/model/deploy', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.bpm.controller.admin.definition.BpmModelController.deployModel(String)', '{\"id\":\"18348550-a79a-11ec-bf87-8e557beca7ad\"}', '2022-03-20 00:17:30', 16, 500, 'ServiceException: 部署流程失败,原因:流程表单未配置,请点击【修改流程】按钮进行配置', 'null', NULL, '2022-03-20 00:17:30', NULL, '2022-03-20 00:17:30', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1617, '', 1, 2, '管理后台 - 参数配置', '修改参数配置', 3, '', '', 'PUT', '/admin-api/infra/config/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.config.ConfigController.updateConfig(ConfigUpdateReqVO)', '{\"reqVO\":{\"group\":\"ui\",\"name\":\"主框架页-默认皮肤样式名称\",\"value\":\"skin-blue\",\"sensitive\":false,\"remark\":\"蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow\",\"id\":1}}', '2022-03-20 02:25:48', 46, 0, '', 'true', NULL, '2022-03-20 02:25:49', NULL, '2022-03-20 02:25:49', b'0', 1); +INSERT INTO `system_operate_log` VALUES (1618, '', 1, 2, '管理后台 - 参数配置', '修改参数配置', 3, '', '', 'PUT', '/admin-api/infra/config/update', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', 'CommonResult cn.iocoder.yudao.module.infra.controller.admin.config.ConfigController.updateConfig(ConfigUpdateReqVO)', '{\"reqVO\":{\"group\":\"biz\",\"name\":\"用户管理-账号初始密码\",\"value\":\"123456\",\"sensitive\":false,\"remark\":\"初始化密码 123456\",\"id\":2}}', '2022-03-20 02:25:51', 36, 0, '', 'true', NULL, '2022-03-20 02:25:51', NULL, '2022-03-20 02:25:51', b'0', 1); COMMIT; -- ---------------------------- @@ -3859,7 +3960,7 @@ CREATE TABLE `system_role` ( BEGIN; INSERT INTO `system_role` VALUES (1, '超级管理员', 'super_admin', 1, 1, '', 0, 1, '超级管理员', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:21', b'0', 1); INSERT INTO `system_role` VALUES (2, '普通角色', 'common', 2, 2, '', 0, 1, '普通角色', 'admin', '2021-01-05 17:03:48', '', '2022-02-22 05:08:20', b'0', 1); -INSERT INTO `system_role` VALUES (101, '测试账号', 'test', 0, 5, '[]', 0, 2, '132', '', '2021-01-06 13:49:35', '1', '2022-02-27 10:53:20', b'0', 1); +INSERT INTO `system_role` VALUES (101, '测试账号', 'test', 0, 1, '[]', 0, 2, '132', '', '2021-01-06 13:49:35', '1', '2022-03-19 22:00:41', b'0', 1); INSERT INTO `system_role` VALUES (109, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121); INSERT INTO `system_role` VALUES (110, '测试角色', 'test', 0, 1, '[]', 0, 2, '嘿嘿', '110', '2022-02-23 00:14:34', '110', '2022-02-23 13:14:58', b'0', 121); INSERT INTO `system_role` VALUES (111, '租户管理员', 'tenant_admin', 0, 1, '', 0, 1, '系统自动生成', '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); @@ -3880,7 +3981,7 @@ CREATE TABLE `system_role_menu` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=1594 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和菜单关联表'; +) ENGINE=InnoDB AUTO_INCREMENT=1641 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和菜单关联表'; -- ---------------------------- -- Records of system_role_menu @@ -4180,7 +4281,7 @@ INSERT INTO `system_role_menu` VALUES (551, 2, 1021, '1', '2022-02-22 13:09:12', INSERT INTO `system_role_menu` VALUES (552, 2, 1022, '1', '2022-02-22 13:09:12', '1', '2022-02-23 12:03:57', b'1', 1); INSERT INTO `system_role_menu` VALUES (553, 2, 1023, '1', '2022-02-22 13:09:12', '1', '2022-02-23 12:03:57', b'1', 1); INSERT INTO `system_role_menu` VALUES (554, 101, 1024, '1', '2022-02-22 13:09:55', '1', '2022-02-23 12:03:57', b'1', 1); -INSERT INTO `system_role_menu` VALUES (555, 101, 1, '1', '2022-02-22 13:09:55', '1', '2022-02-22 13:09:55', b'0', 1); +INSERT INTO `system_role_menu` VALUES (555, 101, 1, '1', '2022-02-22 13:09:55', '1', '2022-03-19 13:45:52', b'1', 1); INSERT INTO `system_role_menu` VALUES (556, 101, 1025, '1', '2022-02-22 13:09:55', '1', '2022-02-23 12:03:57', b'1', 1); INSERT INTO `system_role_menu` VALUES (557, 101, 1026, '1', '2022-02-22 13:09:55', '1', '2022-02-23 12:03:57', b'1', 1); INSERT INTO `system_role_menu` VALUES (558, 101, 1027, '1', '2022-02-22 13:09:55', '1', '2022-02-23 12:03:57', b'1', 1); @@ -5113,7 +5214,7 @@ INSERT INTO `system_role_menu` VALUES (1484, 110, 1022, '110', '2022-02-23 00:23 INSERT INTO `system_role_menu` VALUES (1485, 110, 1023, '110', '2022-02-23 00:23:56', '110', '2022-02-22 16:24:13', b'1', 121); INSERT INTO `system_role_menu` VALUES (1486, 109, 103, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121); INSERT INTO `system_role_menu` VALUES (1487, 109, 104, '1', '2022-02-23 19:32:14', '1', '2022-02-23 19:32:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1488, 109, 105, '1', '2022-02-23 19:43:22', '1', '2022-02-23 19:43:22', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1488, 109, 105, '1', '2022-02-23 19:43:22', '1', '2022-03-19 10:39:06', b'1', 121); INSERT INTO `system_role_menu` VALUES (1489, 1, 1, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); INSERT INTO `system_role_menu` VALUES (1490, 1, 2, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); INSERT INTO `system_role_menu` VALUES (1491, 1, 3, '1', '2022-02-23 20:03:57', '1', '2022-02-23 12:04:07', b'1', 1); @@ -5156,11 +5257,11 @@ INSERT INTO `system_role_menu` VALUES (1527, 1, 500, '1', '2022-02-23 20:03:57', INSERT INTO `system_role_menu` VALUES (1528, 1, 501, '1', '2022-02-23 20:03:57', '1', '2022-02-23 20:03:57', b'0', 1); INSERT INTO `system_role_menu` VALUES (1529, 109, 1024, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); INSERT INTO `system_role_menu` VALUES (1530, 109, 1025, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1531, 109, 1026, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1532, 109, 1027, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1533, 109, 1028, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1534, 109, 1029, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); -INSERT INTO `system_role_menu` VALUES (1535, 109, 1030, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1531, 109, 1026, '1', '2022-02-23 20:30:14', '1', '2022-03-19 10:39:06', b'1', 121); +INSERT INTO `system_role_menu` VALUES (1532, 109, 1027, '1', '2022-02-23 20:30:14', '1', '2022-03-19 10:39:06', b'1', 121); +INSERT INTO `system_role_menu` VALUES (1533, 109, 1028, '1', '2022-02-23 20:30:14', '1', '2022-03-19 10:39:06', b'1', 121); +INSERT INTO `system_role_menu` VALUES (1534, 109, 1029, '1', '2022-02-23 20:30:14', '1', '2022-03-19 10:39:06', b'1', 121); +INSERT INTO `system_role_menu` VALUES (1535, 109, 1030, '1', '2022-02-23 20:30:14', '1', '2022-03-19 10:39:06', b'1', 121); INSERT INTO `system_role_menu` VALUES (1536, 109, 1017, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); INSERT INTO `system_role_menu` VALUES (1537, 109, 1018, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); INSERT INTO `system_role_menu` VALUES (1538, 109, 1019, '1', '2022-02-23 20:30:14', '1', '2022-02-23 20:30:14', b'0', 121); @@ -5196,22 +5297,22 @@ INSERT INTO `system_role_menu` VALUES (1567, 101, 1004, '1', '2022-02-27 12:08:3 INSERT INTO `system_role_menu` VALUES (1568, 101, 1005, '1', '2022-02-27 12:08:37', '1', '2022-02-27 04:11:38', b'1', 1); INSERT INTO `system_role_menu` VALUES (1569, 101, 1006, '1', '2022-02-27 12:08:38', '1', '2022-02-27 04:11:38', b'1', 1); INSERT INTO `system_role_menu` VALUES (1570, 101, 1007, '1', '2022-02-27 12:08:38', '1', '2022-02-27 04:11:38', b'1', 1); -INSERT INTO `system_role_menu` VALUES (1571, 101, 103, '1', '2022-02-27 12:11:39', '1', '2022-02-27 12:11:39', b'0', 1); -INSERT INTO `system_role_menu` VALUES (1572, 101, 1017, '1', '2022-02-27 12:11:39', '1', '2022-02-27 12:11:39', b'0', 1); -INSERT INTO `system_role_menu` VALUES (1573, 101, 1018, '1', '2022-02-27 12:11:39', '1', '2022-02-27 12:11:39', b'0', 1); -INSERT INTO `system_role_menu` VALUES (1574, 101, 1019, '1', '2022-02-27 12:11:39', '1', '2022-02-27 12:11:39', b'0', 1); -INSERT INTO `system_role_menu` VALUES (1575, 101, 1020, '1', '2022-02-27 12:11:39', '1', '2022-02-27 12:11:39', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1571, 101, 103, '1', '2022-02-27 12:11:39', '1', '2022-03-19 13:45:52', b'1', 1); +INSERT INTO `system_role_menu` VALUES (1572, 101, 1017, '1', '2022-02-27 12:11:39', '1', '2022-03-19 13:45:52', b'1', 1); +INSERT INTO `system_role_menu` VALUES (1573, 101, 1018, '1', '2022-02-27 12:11:39', '1', '2022-03-19 13:45:52', b'1', 1); +INSERT INTO `system_role_menu` VALUES (1574, 101, 1019, '1', '2022-02-27 12:11:39', '1', '2022-03-19 13:45:52', b'1', 1); +INSERT INTO `system_role_menu` VALUES (1575, 101, 1020, '1', '2022-02-27 12:11:39', '1', '2022-03-19 13:45:52', b'1', 1); INSERT INTO `system_role_menu` VALUES (1576, 111, 1024, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1577, 111, 1025, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1578, 111, 1, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1579, 111, 1026, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1580, 111, 1027, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1581, 111, 1028, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1582, 111, 1029, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1583, 111, 1030, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1579, 111, 1026, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); +INSERT INTO `system_role_menu` VALUES (1580, 111, 1027, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); +INSERT INTO `system_role_menu` VALUES (1581, 111, 1028, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); +INSERT INTO `system_role_menu` VALUES (1582, 111, 1029, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); +INSERT INTO `system_role_menu` VALUES (1583, 111, 1030, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); INSERT INTO `system_role_menu` VALUES (1584, 111, 103, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1585, 111, 104, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); -INSERT INTO `system_role_menu` VALUES (1586, 111, 105, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1586, 111, 105, '1', '2022-03-07 21:37:58', '1', '2022-03-19 10:39:06', b'1', 122); INSERT INTO `system_role_menu` VALUES (1587, 111, 1017, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1588, 111, 1018, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1589, 111, 1019, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); @@ -5219,6 +5320,53 @@ INSERT INTO `system_role_menu` VALUES (1590, 111, 1020, '1', '2022-03-07 21:37:5 INSERT INTO `system_role_menu` VALUES (1591, 111, 1021, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1592, 111, 1022, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); INSERT INTO `system_role_menu` VALUES (1593, 111, 1023, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1594, 109, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1595, 109, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1596, 109, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1597, 109, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1598, 109, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 121); +INSERT INTO `system_role_menu` VALUES (1599, 111, 102, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1600, 111, 1013, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1601, 111, 1014, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1602, 111, 1015, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1603, 111, 1016, '1', '2022-03-19 18:39:13', '1', '2022-03-19 18:39:13', b'0', 122); +INSERT INTO `system_role_menu` VALUES (1604, 101, 1216, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1605, 101, 1217, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1606, 101, 1218, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1607, 101, 1219, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1608, 101, 1220, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1609, 101, 1221, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1610, 101, 5, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1611, 101, 1222, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1612, 101, 1118, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1613, 101, 1119, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1614, 101, 1120, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1615, 101, 1185, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1616, 101, 1186, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1617, 101, 1187, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1618, 101, 1188, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1619, 101, 1189, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1620, 101, 1190, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1621, 101, 1191, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1622, 101, 1192, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1623, 101, 1193, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1624, 101, 1194, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1625, 101, 1195, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1626, 101, 1196, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1627, 101, 1197, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1628, 101, 1198, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1629, 101, 1199, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1630, 101, 1200, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1631, 101, 1201, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1632, 101, 1202, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1633, 101, 1207, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1634, 101, 1208, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1635, 101, 1209, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1636, 101, 1210, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1637, 101, 1211, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1638, 101, 1212, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1639, 101, 1213, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); +INSERT INTO `system_role_menu` VALUES (1640, 101, 1215, '1', '2022-03-19 21:45:52', '1', '2022-03-19 21:45:52', b'0', 1); COMMIT; -- ---------------------------- @@ -5317,7 +5465,7 @@ CREATE TABLE `system_sms_log` ( `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=130 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='短信日志'; +) ENGINE=InnoDB AUTO_INCREMENT=134 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='短信日志'; -- ---------------------------- -- Records of system_sms_log @@ -5326,6 +5474,9 @@ BEGIN; INSERT INTO `system_sms_log` VALUES (127, 1, 'YUN_PIAN', 2, 'test_01', 1, '正在进行登录操作x,您的验证码是1024', '{\"operation\":\"x\",\"code\":\"1024\"}', '4383920', '15601691399', NULL, 2, 10, '2022-02-24 00:51:19', 0, '成功', '0', '发送成功', NULL, '70937649332', 10, '2022-02-24 00:51:23', 'DELIVRD', 'DELIVRD', '1', '2022-02-24 00:51:19', NULL, '2022-02-24 00:51:25', b'0'); INSERT INTO `system_sms_log` VALUES (128, 4, 'DEBUG_DING_TALK', 9, 'bpm_task_assigned', 2, '您收到了一条新的待办任务:flowable测试-task01,申请人:芋道源码,处理链接:http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=c964c377-97ed-11ec-a2b9-862bc1a4a054', '{\"startUserNickname\":\"芋道源码\",\"taskName\":\"task01\",\"detailUrl\":\"http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=c964c377-97ed-11ec-a2b9-862bc1a4a054\",\"processInstanceName\":\"flowable测试\"}', 'suibian', '15612345678', 1, 2, 10, '2022-02-28 00:53:30', 0, '成功', '0', NULL, NULL, 'd7923606-fe81-4196-8ce9-148c0b355496', 0, NULL, NULL, NULL, '1', '2022-02-28 00:53:29', NULL, '2022-02-28 00:53:30', b'0'); INSERT INTO `system_sms_log` VALUES (129, 4, 'DEBUG_DING_TALK', 11, 'bpm_process_instance_approve', 2, '您的流程被审批通过:flowable测试,查看链接:http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=c964c377-97ed-11ec-a2b9-862bc1a4a054', '{\"detailUrl\":\"http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=c964c377-97ed-11ec-a2b9-862bc1a4a054\",\"processInstanceName\":\"flowable测试\"}', 'suibian', '15612345678', 1, 2, 10, '2022-02-28 00:53:35', 0, '成功', '0', NULL, NULL, '6519bf56-b6c2-45ad-b81b-d89e84f95359', 0, NULL, NULL, NULL, '1', '2022-02-28 00:53:35', NULL, '2022-02-28 00:53:35', b'0'); +INSERT INTO `system_sms_log` VALUES (130, 4, 'DEBUG_DING_TALK', 9, 'bpm_task_assigned', 2, '您收到了一条新的待办任务:通用表单-部门领导审批,申请人:芋道源码,处理链接:http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad', '{\"startUserNickname\":\"芋道源码\",\"taskName\":\"部门领导审批\",\"detailUrl\":\"http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad\",\"processInstanceName\":\"通用表单\"}', 'suibian', '15612345678', 1, 2, 10, '2022-03-19 21:21:03', 0, '成功', '0', NULL, NULL, '93d3803d-6a95-4d6f-91a1-89416764b34d', 0, NULL, NULL, NULL, '1', '2022-03-19 21:21:02', NULL, '2022-03-19 21:21:03', b'0'); +INSERT INTO `system_sms_log` VALUES (131, 4, 'DEBUG_DING_TALK', 9, 'bpm_task_assigned', 2, '您收到了一条新的待办任务:通用表单-HR 审批,申请人:芋道源码,处理链接:http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad', '{\"startUserNickname\":\"芋道源码\",\"taskName\":\"HR 审批\",\"detailUrl\":\"http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad\",\"processInstanceName\":\"通用表单\"}', 'suibian', '15612345678', 1, 2, 10, '2022-03-19 22:00:46', 0, '成功', '0', NULL, NULL, '97635216-89f0-4a97-9459-33f60473a6bb', 0, NULL, NULL, NULL, '104', '2022-03-19 22:00:45', NULL, '2022-03-19 22:00:46', b'0'); +INSERT INTO `system_sms_log` VALUES (132, 4, 'DEBUG_DING_TALK', 11, 'bpm_process_instance_approve', 2, '您的流程被审批通过:通用表单,查看链接:http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad', '{\"detailUrl\":\"http://dashboard.yudao.iocoder.cn/bpm/process-instance/detail?id=6be9f198-a787-11ec-96d6-8e557beca7ad\",\"processInstanceName\":\"通用表单\"}', 'suibian', '15612345678', 1, 2, 10, '2022-03-19 22:16:00', 0, '成功', '0', NULL, NULL, '1fbb5236-85bc-472a-b6a3-37dee594c162', 0, NULL, NULL, NULL, '114', '2022-03-19 22:16:00', NULL, '2022-03-19 22:16:00', b'0'); COMMIT; -- ---------------------------- @@ -5427,7 +5578,7 @@ CREATE TABLE `system_tenant` ( -- ---------------------------- BEGIN; INSERT INTO `system_tenant` VALUES (1, '芋道源码', NULL, '芋艿', '17321315478', 0, 'https://www.iocoder.cn', 0, '2099-02-19 17:14:16', 9999, '1', '2021-01-05 17:03:47', '1', '2022-02-23 12:15:11', b'0'); -INSERT INTO `system_tenant` VALUES (121, '小租户', 110, '小王2', '15601691300', 0, 'http://www.iocoder.cn', 111, '2022-02-28 00:00:00', 20, '1', '2022-02-22 00:56:14', '1', '2022-02-23 00:08:45', b'0'); +INSERT INTO `system_tenant` VALUES (121, '小租户', 110, '小王2', '15601691300', 0, 'http://www.iocoder.cn', 111, '2024-03-11 00:00:00', 20, '1', '2022-02-22 00:56:14', '1', '2022-03-19 18:37:20', b'0'); INSERT INTO `system_tenant` VALUES (122, '测试租户', 113, '芋道', '15601691300', 0, 'https://www.iocoder.cn', 111, '2022-04-30 00:00:00', 50, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0'); COMMIT; @@ -5453,7 +5604,7 @@ CREATE TABLE `system_tenant_package` ( -- Records of system_tenant_package -- ---------------------------- BEGIN; -INSERT INTO `system_tenant_package` VALUES (111, '普通套餐', 0, '小功能', '[1024,1025,1,1026,1027,1028,1029,1030,103,104,105,1017,1018,1019,1020,1021,1022,1023]', '1', '2022-02-22 00:54:00', '1', '2022-02-23 20:30:14', b'0'); +INSERT INTO `system_tenant_package` VALUES (111, '普通套餐', 0, '小功能', '[1024,1025,1,102,103,104,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023]', '1', '2022-02-22 00:54:00', '1', '2022-03-19 18:39:13', b'0'); COMMIT; -- ---------------------------- @@ -5482,23 +5633,24 @@ CREATE TABLE `system_user` ( `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户信息表'; +) ENGINE=InnoDB AUTO_INCREMENT=115 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户信息表'; -- ---------------------------- -- Records of system_user -- ---------------------------- BEGIN; -INSERT INTO `system_user` VALUES (1, 'admin', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf', 0, '127.0.0.1', '2022-03-16 23:46:20', 'admin', '2021-01-05 17:03:47', '1', '2022-03-16 23:51:41', b'0', 1); +INSERT INTO `system_user` VALUES (1, 'admin', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道源码', '管理员', 103, '[1]', 'aoteman@126.com', '15612345678', 1, 'http://test.yudao.iocoder.cn/a294ecb2-73dd-4353-bf40-296b8931d0bf', 0, '127.0.0.1', '2022-03-19 18:27:50', 'admin', '2021-01-05 17:03:47', NULL, '2022-03-19 18:27:50', b'0', 1); INSERT INTO `system_user` VALUES (100, 'yudao', '$2a$10$11U48RhyJ5pSBYWSn12AD./ld671.ycSzJHbyrtpeoMeYiw31eo8a', '芋道', '不要吓我', 104, '[1]', 'yudao@iocoder.cn', '15601691300', 1, '', 1, '', NULL, '', '2021-01-07 09:07:17', '104', '2021-12-16 09:26:10', b'0', 1); INSERT INTO `system_user` VALUES (103, 'yuanma', '$2a$10$wWoPT7sqriM2O1YXRL.je.GiL538OR6ZTN8aQZr9JAGdnpCH2tpYe', '源码', NULL, 106, NULL, 'yuanma@iocoder.cn', '15601701300', 0, '', 0, '127.0.0.1', '2022-01-18 00:33:40', '', '2021-01-13 23:50:35', NULL, '2022-01-18 00:33:40', b'0', 1); -INSERT INTO `system_user` VALUES (104, 'test', '$2a$10$801Pys6Ez5jDiAOD6xI4iOyU92WmqgJRsTrYkxmxzqFtFBOog.JZK', '测试号', NULL, 107, '[]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-03-12 17:55:44', '', '2021-01-21 02:13:53', '104', '2022-03-12 18:01:28', b'0', 1); +INSERT INTO `system_user` VALUES (104, 'test', '$2a$10$e5RpuDCC0GYSt0Hvd2.CjujIXwgGct4SnXi6dVGxdgFsnqgEryk5a', '测试号', NULL, 107, '[]', '111@qq.com', '15601691200', 1, '', 0, '127.0.0.1', '2022-03-19 21:46:19', '', '2021-01-21 02:13:53', NULL, '2022-03-19 21:46:19', b'0', 1); INSERT INTO `system_user` VALUES (107, 'admin107', '$2a$10$dYOOBKMO93v/.ReCqzyFg.o67Tqk.bbc2bhrpyBGkIw9aypCtr2pm', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 22:59:33', '1', '2022-02-27 08:26:51', b'0', 118); INSERT INTO `system_user` VALUES (108, 'admin108', '$2a$10$y6mfvKoNYL1GXWak8nYwVOH.kCWqjactkzdoIDgiKl93WN3Ejg.Lu', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:00:50', '1', '2022-02-27 08:26:53', b'0', 119); INSERT INTO `system_user` VALUES (109, 'admin109', '$2a$10$JAqvH0tEc0I7dfDVBI7zyuB4E3j.uH6daIjV53.vUS6PknFkDJkuK', '芋艿', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '', NULL, '1', '2022-02-20 23:11:50', '1', '2022-02-27 08:26:56', b'0', 120); INSERT INTO `system_user` VALUES (110, 'admin110', '$2a$10$qYxoXs0ogPHgYllyEneYde9xcCW5hZgukrxeXZ9lmLhKse8TK6IwW', '小王', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-02-23 19:36:28', '1', '2022-02-22 00:56:14', NULL, '2022-02-27 08:26:59', b'0', 121); INSERT INTO `system_user` VALUES (111, 'test', '$2a$10$mExveopHUx9Q4QiLtAzhDeH3n4/QlNLzEsM4AqgxKrU.ciUZDXZCy', '测试用户', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '110', '2022-02-23 13:14:33', '110', '2022-02-23 13:14:33', b'0', 121); INSERT INTO `system_user` VALUES (112, 'newobject', '$2a$10$jh5MsR.ud/gKe3mVeUp5t.nEXGDSmHyv5OYjWQwHO8wlGmMSI9Twy', '新对象', NULL, NULL, '[]', '', '', 0, '', 0, '', NULL, '1', '2022-02-23 19:08:03', '1', '2022-02-23 19:08:03', b'0', 1); -INSERT INTO `system_user` VALUES (113, 'aoteman', '$2a$10$lAEsjpPIIsC3DFzsoX9.L.yKydbPGkVyeaOcH.J2SqSGoQvB6GZmy', '芋道', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-03-07 21:43:59', '1', '2022-03-07 21:37:58', NULL, '2022-03-07 21:43:59', b'0', 122); +INSERT INTO `system_user` VALUES (113, 'aoteman', '$2a$10$0acJOIk2D25/oC87nyclE..0lzeu9DtQ/n3geP4fkun/zIVRhHJIO', '芋道', NULL, NULL, NULL, '', '15601691300', 0, '', 0, '127.0.0.1', '2022-03-19 18:38:51', '1', '2022-03-07 21:37:58', NULL, '2022-03-19 18:38:51', b'0', 122); +INSERT INTO `system_user` VALUES (114, 'hrmgr', '$2a$10$TR4eybBioGRhBmDBWkqWLO6NIh3mzYa8KBKDDB5woiGYFVlRAi.fu', 'hr 小姐姐', NULL, NULL, '[3]', '', '', 0, '', 0, '127.0.0.1', '2022-03-19 22:15:43', '1', '2022-03-19 21:50:58', NULL, '2022-03-19 22:15:43', b'0', 1); COMMIT; -- ---------------------------- @@ -5516,7 +5668,7 @@ CREATE TABLE `system_user_role` ( `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除', `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号', PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户和角色关联表'; +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户和角色关联表'; -- ---------------------------- -- Records of system_user_role @@ -5537,6 +5689,7 @@ INSERT INTO `system_user_role` VALUES (13, 109, 108, '1', '2022-02-20 23:11:50', INSERT INTO `system_user_role` VALUES (14, 110, 109, '1', '2022-02-22 00:56:14', '1', '2022-02-22 00:56:14', b'0', 121); INSERT INTO `system_user_role` VALUES (15, 111, 110, '110', '2022-02-23 13:14:38', '110', '2022-02-23 13:14:38', b'0', 121); INSERT INTO `system_user_role` VALUES (16, 113, 111, '1', '2022-03-07 21:37:58', '1', '2022-03-07 21:37:58', b'0', 122); +INSERT INTO `system_user_role` VALUES (17, 114, 101, '1', '2022-03-19 21:51:13', '1', '2022-03-19 21:51:13', b'0', 1); COMMIT; -- ---------------------------- @@ -5567,21 +5720,27 @@ BEGIN; INSERT INTO `system_user_session` VALUES ('084a5a2a737b42e3bb13604a2ff6d4fe', 1, 2, '2022-03-13 18:01:54', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-12 18:01:54', NULL, '2022-03-12 18:01:54', b'0', 1); INSERT INTO `system_user_session` VALUES ('0d7a900b4a5e4089a48a54a71bca83e6', 1, 2, '2022-02-28 11:56:22', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-27 11:56:22', NULL, '2022-02-27 08:25:28', b'1', 1); INSERT INTO `system_user_session` VALUES ('101dc01ff37b4ceaa60a63e1c1005bbf', 1, 2, '2022-03-08 21:47:01', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-07 21:47:01', NULL, '2022-03-07 21:47:01', b'0', 1); +INSERT INTO `system_user_session` VALUES ('116ed46314c64d528cadcdc4e5a74710', 1, 2, '2022-03-20 18:27:50', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:27:50', NULL, '2022-03-19 18:27:50', b'0', 1); INSERT INTO `system_user_session` VALUES ('2759180f76414d3d9807c47026b6f5a5', 1, 2, '2022-03-17 21:27:25', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-15 00:19:03', NULL, '2022-03-16 21:27:25', b'0', 1); INSERT INTO `system_user_session` VALUES ('2935322c671b43fbbe7eb5532800bbcf', 110, 2, '2022-02-24 19:36:28', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-23 19:36:28', NULL, '2022-02-23 19:36:28', b'0', 121); INSERT INTO `system_user_session` VALUES ('34fafe141291443ab0da27e1bc12a011', 1, 2, '2022-03-13 16:25:02', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-12 16:25:02', NULL, '2022-03-12 09:55:31', b'1', 1); INSERT INTO `system_user_session` VALUES ('3bb5bae78cc24cb5a1c1df9c479b50ad', 1, 2, '2022-02-21 23:57:11', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-20 23:57:11', NULL, '2022-02-20 23:57:11', b'0', 1); +INSERT INTO `system_user_session` VALUES ('3bc770291bc44fcfad0bf91e5bfded0e', 104, 2, '2022-03-20 21:46:19', 'test', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 21:46:19', NULL, '2022-03-19 14:13:05', b'1', 1); INSERT INTO `system_user_session` VALUES ('4a97fd8f3721416ebe6c682ca9d70743', 1, 2, '2022-03-12 00:24:08', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-11 00:24:08', NULL, '2022-03-11 00:24:08', b'0', 1); +INSERT INTO `system_user_session` VALUES ('7b0c15457686444bb17fb810807859f0', 114, 2, '2022-03-20 22:15:43', 'hrmgr', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 22:15:43', NULL, '2022-03-19 22:15:43', b'0', 1); INSERT INTO `system_user_session` VALUES ('8951e01e18774a92b0382a76dfa5aab9', 1, 2, '2022-03-13 14:30:59', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-11 00:16:29', NULL, '2022-03-12 14:30:59', b'0', 1); INSERT INTO `system_user_session` VALUES ('95e6336e75794bffbd5b6b7617d24c52', 1, 2, '2022-03-08 21:36:53', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-07 21:36:53', NULL, '2022-03-07 13:42:52', b'1', 1); INSERT INTO `system_user_session` VALUES ('9c93fd1cd23a43e3854451b781420aed', 1, 2, '2022-02-28 16:27:05', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-27 16:27:05', NULL, '2022-02-27 16:27:05', b'0', 0); INSERT INTO `system_user_session` VALUES ('a0cd3f0adcaa4bb3951b24969990f235', 1, 2, '2022-03-08 21:08:36', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-07 21:08:36', NULL, '2022-03-07 21:08:36', b'0', 1); INSERT INTO `system_user_session` VALUES ('b1bd95d813024acab14dd171ca887a94', 1, 2, '2022-02-28 10:52:17', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-27 10:52:17', NULL, '2022-02-27 10:52:17', b'0', 1); INSERT INTO `system_user_session` VALUES ('cb97d665c2bd4525b2fbfe9a399f5926', 104, 2, '2022-03-13 17:55:44', 'test', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-12 17:55:44', NULL, '2022-03-12 10:01:46', b'1', 1); -INSERT INTO `system_user_session` VALUES ('daadfe0f94f34d60b1f83088612cf3e9', 1, 2, '2022-03-17 23:46:20', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-16 23:46:20', NULL, '2022-03-16 23:46:20', b'0', 1); +INSERT INTO `system_user_session` VALUES ('daadfe0f94f34d60b1f83088612cf3e9', 1, 2, '2022-03-18 18:36:04', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-16 23:46:20', NULL, '2022-03-17 18:36:04', b'0', 1); +INSERT INTO `system_user_session` VALUES ('db48c609bd2840bca7499bddb43eeabe', 113, 2, '2022-03-20 18:38:51', 'aoteman', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 18:38:51', NULL, '2022-03-19 18:38:51', b'0', 122); INSERT INTO `system_user_session` VALUES ('db777da72b0b4a528915d80c7b272141', 113, 2, '2022-03-08 21:43:59', 'aoteman', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-07 21:43:59', NULL, '2022-03-07 13:45:02', b'1', 122); +INSERT INTO `system_user_session` VALUES ('df7083510c63407489688a800a55d97b', 1, 2, '2022-03-21 02:25:33', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-18 22:24:46', NULL, '2022-03-20 02:25:33', b'0', 1); INSERT INTO `system_user_session` VALUES ('e769a8511c4043a886f68d1d6c39bddd', 104, 2, '2022-02-28 11:10:07', 'test', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-27 11:10:07', NULL, '2022-02-27 11:10:07', b'0', 1); INSERT INTO `system_user_session` VALUES ('ec60e16dfd2546e1a118eef7a42c07ef', 1, 2, '2022-02-24 22:33:28', 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36', NULL, '2022-02-22 00:44:08', NULL, '2022-02-23 22:33:28', b'0', 1); +INSERT INTO `system_user_session` VALUES ('f088b33f48e640a293b2353a07f67371', 104, 2, '2022-03-20 21:45:14', 'test', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.109 Safari/537.36', NULL, '2022-03-19 21:45:14', NULL, '2022-03-19 13:46:11', b'1', 1); COMMIT; SET FOREIGN_KEY_CHECKS = 1; diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml index ada5d4ddf..686b9f633 100644 --- a/yudao-dependencies/pom.xml +++ b/yudao-dependencies/pom.xml @@ -14,7 +14,7 @@ <url>https://github.com/YunaiV/ruoyi-vue-pro</url> <properties> - <revision>1.6.0-snapshot</revision> + <revision>1.6.1-snapshot</revision> <!-- 统一依赖管理 --> <spring.boot.version>2.5.10</spring.boot.version> <!-- Web 相关 --> @@ -28,7 +28,7 @@ <dynamic-datasource.version>3.5.0</dynamic-datasource.version> <redisson.version>3.16.6</redisson.version> <!-- Config 配置中心相关 --> - <apollo.version>1.7.0</apollo.version> + <apollo.version>1.9.2</apollo.version> <!-- Job 定时任务相关 --> <!-- 服务保障相关 --> <lock4j.version>2.2.0</lock4j.version> @@ -52,11 +52,12 @@ <velocity.version>2.2</velocity.version> <screw.version>1.0.5</screw.version> <guava.version>30.1.1-jre</guava.version> + <guice.version>5.1.0</guice.version> <transmittable-thread-local.version>2.12.2</transmittable-thread-local.version> <commons-net.version>3.8.0</commons-net.version> <jsch.version>0.1.55</jsch.version> <!-- 三方云服务相关 --> - <s3.version>2.17.147</s3.version> + <minio.version>8.2.2</minio.version> <aliyun-java-sdk-core.version>4.5.25</aliyun-java-sdk-core.version> <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version> <yunpian-java-sdk.version>1.2.7</yunpian-java-sdk.version> @@ -490,6 +491,12 @@ <version>${guava.version}</version> </dependency> + <dependency> + <groupId>com.google.inject</groupId> + <artifactId>guice</artifactId> + <version>${guice.version}</version> + </dependency> + <dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> <!-- 解决 ThreadLocal 父子线程的传值问题 --> @@ -514,9 +521,9 @@ <version>${revision}</version> </dependency> <dependency> - <groupId>software.amazon.awssdk</groupId> - <artifactId>s3</artifactId> - <version>${s3.version}</version> + <groupId>io.minio</groupId> + <artifactId>minio</artifactId> + <version>${minio.version}</version> </dependency> <!-- SMS SDK begin --> diff --git a/yudao-framework/yudao-spring-boot-starter-file/pom.xml b/yudao-framework/yudao-spring-boot-starter-file/pom.xml index 09758bec0..72eafba58 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/pom.xml +++ b/yudao-framework/yudao-spring-boot-starter-file/pom.xml @@ -63,8 +63,8 @@ <!-- 三方云服务相关 --> <dependency> - <groupId>software.amazon.awssdk</groupId> - <artifactId>s3</artifactId> + <groupId>io.minio</groupId> + <artifactId>minio</artifactId> </dependency> <!-- Test 测试相关 --> diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/FileClient.java b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/FileClient.java index 60e0fc51b..178c27d4c 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/FileClient.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/FileClient.java @@ -20,15 +20,17 @@ public interface FileClient { * @param content 文件流 * @param path 相对路径 * @return 完整路径,即 HTTP 访问地址 + * @throws Exception 上传文件时,抛出 Exception 异常 */ - String upload(byte[] content, String path); + String upload(byte[] content, String path) throws Exception; /** * 删除文件 * * @param path 相对路径 + * @throws Exception 删除文件时,抛出 Exception 异常 */ - void delete(String path); + void delete(String path) throws Exception; /** * 获得文件的内容 @@ -36,6 +38,6 @@ public interface FileClient { * @param path 相对路径 * @return 文件的内容 */ - byte[] getContent(String path); + byte[] getContent(String path) throws Exception; } diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClient.java b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClient.java index 4fcc674d5..8de178bfc 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClient.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClient.java @@ -1,19 +1,14 @@ package cn.iocoder.yudao.framework.file.core.client.s3; +import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpUtil; import cn.iocoder.yudao.framework.file.core.client.AbstractFileClient; -import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; -import software.amazon.awssdk.auth.credentials.StaticCredentialsProvider; -import software.amazon.awssdk.core.sync.RequestBody; -import software.amazon.awssdk.regions.Region; -import software.amazon.awssdk.services.s3.S3Client; -import software.amazon.awssdk.services.s3.model.DeleteObjectRequest; -import software.amazon.awssdk.services.s3.model.GetObjectRequest; -import software.amazon.awssdk.services.s3.model.PutObjectRequest; +import io.minio.*; -import java.net.URI; +import java.io.ByteArrayInputStream; -import static cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig.ENDPOINT_QINIU; +import static cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig.ENDPOINT_ALIYUN; /** * 基于 S3 协议的文件客户端,实现 MinIO、阿里云、腾讯云、七牛云、华为云等云服务 @@ -24,7 +19,7 @@ import static cn.iocoder.yudao.framework.file.core.client.s3.S3FileClientConfig. */ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> { - private S3Client client; + private MinioClient client; public S3FileClient(Long id, S3FileClientConfig config) { super(id, config); @@ -34,34 +29,27 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> { protected void doInit() { // 补全 domain if (StrUtil.isEmpty(config.getDomain())) { - config.setDomain(createDomain()); + config.setDomain(buildDomain()); } // 初始化客户端 - client = S3Client.builder() - .serviceConfiguration(sb -> sb.pathStyleAccessEnabled(false) // 关闭路径风格 - .chunkedEncodingEnabled(false)) // 禁用 chunk - .endpointOverride(createURI()) // 上传地址 - .region(Region.of(config.getRegion())) // Region - .credentialsProvider(StaticCredentialsProvider.create( // 认证密钥 - AwsBasicCredentials.create(config.getAccessKey(), config.getAccessSecret()))) - .overrideConfiguration(cb -> cb.addExecutionInterceptor(new S3ModifyPathInterceptor(config.getBucket()))) + client = MinioClient.builder() + .endpoint(buildEndpointURL()) // Endpoint URL + .region(buildRegion()) // Region + .credentials(config.getAccessKey(), config.getAccessSecret()) // 认证密钥 .build(); } /** - * 基于 endpoint 构建调用云服务的 URI 地址 + * 基于 endpoint 构建调用云服务的 URL 地址 * * @return URI 地址 */ - private URI createURI() { - String uri; - // 如果是七牛,无需拼接 bucket - if (config.getEndpoint().contains(ENDPOINT_QINIU)) { - uri = StrUtil.format("https://{}", config.getEndpoint()); - } else { - uri = StrUtil.format("https://{}.{}", config.getBucket(), config.getEndpoint()); + private String buildEndpointURL() { + // 如果已经是 http 或者 https,则不进行拼接.主要适配 MinIO + if (HttpUtil.isHttp(config.getEndpoint()) || HttpUtil.isHttps(config.getEndpoint())) { + return config.getEndpoint(); } - return URI.create(uri); + return StrUtil.format("https://{}", config.getEndpoint()); } /** @@ -69,35 +57,56 @@ public class S3FileClient extends AbstractFileClient<S3FileClientConfig> { * * @return Domain 地址 */ - private String createDomain() { + private String buildDomain() { + // 如果已经是 http 或者 https,则不进行拼接.主要适配 MinIO + if (HttpUtil.isHttp(config.getEndpoint()) || HttpUtil.isHttps(config.getEndpoint())) { + return StrUtil.format("{}/{}", config.getEndpoint(), config.getBucket()); + } + // 阿里云、腾讯云、华为云都适合。七牛云比较特殊,必须有自定义域名 return StrUtil.format("https://{}.{}", config.getBucket(), config.getEndpoint()); } + /** + * 基于 bucket 构建 region 地区 + * + * @return region 地区 + */ + private String buildRegion() { + // 阿里云必须有 region,否则会报错 + if (config.getEndpoint().contains(ENDPOINT_ALIYUN)) { + return StrUtil.subBefore(config.getEndpoint(), '.', false) + .replaceAll("-internal", ""); // 去除内网 Endpoint 的后缀 + } + return null; + } + @Override - public String upload(byte[] content, String path) { + public String upload(byte[] content, String path) throws Exception { // 执行上传 - PutObjectRequest.Builder request = PutObjectRequest.builder() + client.putObject(PutObjectArgs.builder() .bucket(config.getBucket()) // bucket 必须传递 - .key(path); // 相对路径作为 key - client.putObject(request.build(), RequestBody.fromBytes(content)); + .object(path) // 相对路径作为 key + .stream(new ByteArrayInputStream(content), content.length, -1) // 文件内容 + .build()); // 拼接返回路径 return config.getDomain() + "/" + path; } @Override - public void delete(String path) { - DeleteObjectRequest.Builder request = DeleteObjectRequest.builder() + public void delete(String path) throws Exception { + client.removeObject(RemoveObjectArgs.builder() .bucket(config.getBucket()) // bucket 必须传递 - .key(path); // 相对路径作为 key - client.deleteObject(request.build()); + .object(path) // 相对路径作为 key + .build()); } @Override - public byte[] getContent(String path) { - GetObjectRequest.Builder request = GetObjectRequest.builder() + public byte[] getContent(String path) throws Exception { + GetObjectResponse response = client.getObject(GetObjectArgs.builder() .bucket(config.getBucket()) // bucket 必须传递 - .key(path); // 相对路径作为 key - return client.getObjectAsBytes(request.build()).asByteArray(); + .object(path) // 相对路径作为 key + .build()); + return IoUtil.readBytes(response); } } diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientConfig.java b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientConfig.java index e35e38cef..151159f5e 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientConfig.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientConfig.java @@ -18,37 +18,28 @@ import javax.validation.constraints.NotNull; public class S3FileClientConfig implements FileClientConfig { public static final String ENDPOINT_QINIU = "qiniucs.com"; + public static final String ENDPOINT_ALIYUN = "aliyuncs.com"; /** * 节点地址 - * 1. MinIO: + * 1. MinIO:https://www.iocoder.cn/Spring-Boot/MinIO 。例如说,http://127.0.0.1:9000 * 2. 阿里云:https://help.aliyun.com/document_detail/31837.html - * 3. 腾讯云: + * 3. 腾讯云:https://cloud.tencent.com/document/product/436/6224 * 4. 七牛云:https://developer.qiniu.com/kodo/4088/s3-access-domainname - * 5. 华为云: + * 5. 华为云:https://developer.huaweicloud.com/endpoint?OBS */ @NotNull(message = "endpoint 不能为空") private String endpoint; /** * 自定义域名 - * 1. MinIO: + * 1. MinIO:通过 Nginx 配置 * 2. 阿里云:https://help.aliyun.com/document_detail/31836.html * 3. 腾讯云:https://cloud.tencent.com/document/product/436/11142 * 4. 七牛云:https://developer.qiniu.com/kodo/8556/set-the-custom-source-domain-name - * 5. 华为云: + * 5. 华为云:https://support.huaweicloud.com/usermanual-obs/obs_03_0032.html */ @URL(message = "domain 必须是 URL 格式") private String domain; - /** - * 区域 - * 1. MinIO: - * 2. 阿里云:https://help.aliyun.com/document_detail/31837.html - * 3. 腾讯云: - * 4. 七牛云:https://developer.qiniu.com/kodo/4088/s3-access-domainname - * 5. 华为云: - */ - @NotNull(message = "region 不能为空") - private String region; /** * 存储 Bucket */ @@ -57,11 +48,11 @@ public class S3FileClientConfig implements FileClientConfig { /** * 访问 Key - * 1. MinIO: - * 2. 阿里云: + * 1. MinIO:https://www.iocoder.cn/Spring-Boot/MinIO + * 2. 阿里云:https://ram.console.aliyun.com/manage/ak * 3. 腾讯云:https://console.cloud.tencent.com/cam/capi * 4. 七牛云:https://portal.qiniu.com/user/key - * 5. 华为云: + * 5. 华为云:https://support.huaweicloud.com/qs-obs/obs_qs_0005.html */ @NotNull(message = "accessKey 不能为空") private String accessKey; diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3ModifyPathInterceptor.java b/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3ModifyPathInterceptor.java deleted file mode 100644 index 1b7550dd7..000000000 --- a/yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/core/client/s3/S3ModifyPathInterceptor.java +++ /dev/null @@ -1,36 +0,0 @@ -package cn.iocoder.yudao.framework.file.core.client.s3; - -import software.amazon.awssdk.core.interceptor.Context; -import software.amazon.awssdk.core.interceptor.ExecutionAttributes; -import software.amazon.awssdk.core.interceptor.ExecutionInterceptor; -import software.amazon.awssdk.http.SdkHttpRequest; - -/** - * S3 修改路径的拦截器,移除多余的 Bucket 前缀。 - * 如果不使用该拦截器,希望上传的路径是 /tudou.jpg 时,会被添加成 /bucket/tudou.jpg - * - * @author 芋道源码 - */ -public class S3ModifyPathInterceptor implements ExecutionInterceptor { - - private final String bucket; - - public S3ModifyPathInterceptor(String bucket) { - this.bucket = "/" + bucket; - } - - @Override - public SdkHttpRequest modifyHttpRequest(Context.ModifyHttpRequest context, ExecutionAttributes executionAttributes) { - SdkHttpRequest request = context.httpRequest(); - SdkHttpRequest.Builder rb = SdkHttpRequest.builder().protocol(request.protocol()).host(request.host()).port(request.port()) - .method(request.method()).headers(request.headers()).rawQueryParameters(request.rawQueryParameters()); - // 移除 path 前的 bucket 路径 - if (request.encodedPath().startsWith(bucket)) { - rb.encodedPath(request.encodedPath().substring(bucket.length())); - } else { - rb.encodedPath(request.encodedPath()); - } - return rb.build(); - } - -} diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClientTest.java b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClientTest.java index ee0d74078..00a3a268e 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClientTest.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/ftp/FtpFileClientTest.java @@ -3,11 +3,13 @@ package cn.iocoder.yudao.framework.file.core.client.ftp; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.extra.ftp.FtpMode; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; public class FtpFileClientTest { @Test + @Disabled public void test() { // 创建客户端 FtpFileClientConfig config = new FtpFileClientConfig(); diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/local/LocalFileClientTest.java b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/local/LocalFileClientTest.java index 60f781b01..2062d63d7 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/local/LocalFileClientTest.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/local/LocalFileClientTest.java @@ -2,11 +2,13 @@ package cn.iocoder.yudao.framework.file.core.client.local; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.IdUtil; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; public class LocalFileClientTest { @Test + @Disabled public void test() { // 创建客户端 LocalFileClientConfig config = new LocalFileClientConfig(); diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientTest.java b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientTest.java index 47c5e76e4..de77477cd 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientTest.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/s3/S3FileClientTest.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.framework.file.core.client.s3; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.IdUtil; -import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; @@ -11,9 +10,25 @@ import javax.validation.Validation; public class S3FileClientTest { + @Test + @Disabled // MinIO,如果要集成测试,可以注释本行 + public void testMinIO() throws Exception { + S3FileClientConfig config = new S3FileClientConfig(); + // 配置成你自己的 + config.setAccessKey("admin"); + config.setAccessSecret("password"); + config.setBucket("yudaoyuanma"); + config.setDomain(null); + // 默认 9000 endpoint + config.setEndpoint("http://127.0.0.1:9000"); + + // 执行上传 + testExecuteUpload(config); + } + @Test @Disabled // 阿里云 OSS,如果要集成测试,可以注释本行 - public void testAliyun() { + public void testAliyun() throws Exception { S3FileClientConfig config = new S3FileClientConfig(); // 配置成你自己的 config.setAccessKey(System.getenv("ALIYUN_ACCESS_KEY")); @@ -29,7 +44,7 @@ public class S3FileClientTest { @Test @Disabled // 腾讯云 COS,如果要集成测试,可以注释本行 - public void testQCloud() { + public void testQCloud() throws Exception { S3FileClientConfig config = new S3FileClientConfig(); // 配置成你自己的 config.setAccessKey(System.getenv("QCLOUD_ACCESS_KEY")); @@ -38,7 +53,6 @@ public class S3FileClientTest { config.setDomain(null); // 如果有自定义域名,则可以设置。http://tengxun-oss.iocoder.cn // 默认上海的 endpoint config.setEndpoint("cos.ap-shanghai.myqcloud.com"); - config.setRegion("ap-shanghai"); // 执行上传 testExecuteUpload(config); @@ -46,7 +60,7 @@ public class S3FileClientTest { @Test @Disabled // 七牛云存储,如果要集成测试,可以注释本行 - public void testQiniu() { + public void testQiniu() throws Exception { S3FileClientConfig config = new S3FileClientConfig(); // 配置成你自己的 // config.setAccessKey(System.getenv("QINIU_ACCESS_KEY")); @@ -62,11 +76,24 @@ public class S3FileClientTest { testExecuteUpload(config); } - private void testExecuteUpload(S3FileClientConfig config) { - // 补全配置 - if (config.getRegion() == null) { - config.setRegion(StrUtil.subBefore(config.getEndpoint(), '.', false)); - } + @Test + @Disabled // 华为云存储,如果要集成测试,可以注释本行 + public void testHuaweiCloud() throws Exception { + S3FileClientConfig config = new S3FileClientConfig(); + // 配置成你自己的 +// config.setAccessKey(System.getenv("HUAWEI_CLOUD_ACCESS_KEY")); +// config.setAccessSecret(System.getenv("HUAWEI_CLOUD_SECRET_KEY")); + config.setBucket("yudao"); + config.setDomain(null); // 如果有自定义域名,则可以设置。 + // 默认上海的 endpoint + config.setEndpoint("obs.cn-east-3.myhuaweicloud.com"); + + // 执行上传 + testExecuteUpload(config); + } + + private void testExecuteUpload(S3FileClientConfig config) throws Exception { + // 校验配置 ValidationUtils.validate(Validation.buildDefaultValidatorFactory().getValidator(), config); // 创建 Client S3FileClient client = new S3FileClient(0L, config); @@ -77,9 +104,9 @@ public class S3FileClientTest { String fullPath = client.upload(content, path); System.out.println("访问地址:" + fullPath); // 读取文件 - if (false) { + if (true) { byte[] bytes = client.getContent(path); - System.out.println("文件内容:" + bytes); + System.out.println("文件内容:" + bytes.length); } // 删除文件 if (false) { diff --git a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/sftp/SftpFileClientTest.java b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/sftp/SftpFileClientTest.java index cc8e59ede..412df1ea8 100644 --- a/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/sftp/SftpFileClientTest.java +++ b/yudao-framework/yudao-spring-boot-starter-file/src/test/java/cn/iocoder/yudao/framework/file/core/client/sftp/SftpFileClientTest.java @@ -2,11 +2,13 @@ package cn.iocoder.yudao.framework.file.core.client.sftp; import cn.hutool.core.io.resource.ResourceUtil; import cn.hutool.core.util.IdUtil; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; public class SftpFileClientTest { @Test + @Disabled public void test() { // 创建客户端 SftpFileClientConfig config = new SftpFileClientConfig(); diff --git a/yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageService.java b/yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageService.java index 8905893b4..ff51ae306 100644 --- a/yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageService.java +++ b/yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageService.java @@ -22,7 +22,6 @@ public interface BpmMessageService { */ void sendMessageWhenProcessInstanceApprove(@Valid BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO); - /** * 发送流程实例被不通过的消息 * diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/BpmUserTaskActivityBehavior.java b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/BpmUserTaskActivityBehavior.java index fb2551cbc..d4ab5b67a 100644 --- a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/BpmUserTaskActivityBehavior.java +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/BpmUserTaskActivityBehavior.java @@ -5,7 +5,6 @@ import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission; -import cn.iocoder.yudao.framework.datapermission.core.dept.rule.DeptDataPermissionRule; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmTaskAssignRuleDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmUserGroupDO; import cn.iocoder.yudao.module.bpm.enums.definition.BpmTaskAssignRuleTypeEnum; @@ -69,11 +68,13 @@ public class BpmUserTaskActivityBehavior extends UserTaskActivityBehavior { public BpmUserTaskActivityBehavior(UserTask userTask) { super(userTask); } + public void setScripts(List<BpmTaskAssignScript> scripts) { this.scriptMap = convertMap(scripts, script -> script.getEnum().getId()); } @Override + @DataPermission(enable = false) // 不需要处理数据权限, 不然会有问题,查询不到数据 protected void handleAssignments(TaskService taskService, String assignee, String owner, List<String> candidateUsers, List<String> candidateGroups, TaskEntity task, ExpressionManager expressionManager, DelegateExecution execution, ProcessEngineConfigurationImpl processEngineConfiguration) { // 第一步,获得任务的规则 BpmTaskAssignRuleDO rule = getTaskRule(task); @@ -98,7 +99,6 @@ public class BpmUserTaskActivityBehavior extends UserTaskActivityBehavior { return taskRules.get(0); } - @VisibleForTesting Set<Long> calculateTaskCandidateUsers(TaskEntity task, BpmTaskAssignRuleDO rule) { Set<Long> assigneeUserIds = null; if (Objects.equals(BpmTaskAssignRuleTypeEnum.ROLE.getType(), rule.getType())) { diff --git a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/script/impl/BpmTaskAssignLeaderX2Script.java b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/script/impl/BpmTaskAssignLeaderX2Script.java index 59c0732dc..9ead7a6f3 100644 --- a/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/script/impl/BpmTaskAssignLeaderX2Script.java +++ b/yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/behavior/script/impl/BpmTaskAssignLeaderX2Script.java @@ -15,7 +15,6 @@ import java.util.Set; @Component public class BpmTaskAssignLeaderX2Script extends BpmTaskAssignLeaderAbstractScript { - @Override @DataPermission(enable = false) // 不需要处理数据权限, 不然会有问题,查询不到数据 public Set<Long> calculateTaskCandidateUsers(TaskEntity task) { diff --git a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java index 5d55c5731..fa3ec5c6e 100644 --- a/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java +++ b/yudao-module-infra/yudao-module-infra-api/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApi.java @@ -15,7 +15,7 @@ public interface FileApi { * @param content 文件内容 * @return 文件路径 */ - default String createFile(byte[] content) { + default String createFile(byte[] content) throws Exception { return createFile(IdUtil.fastUUID(), content); } @@ -26,6 +26,6 @@ public interface FileApi { * @param content 文件内容 * @return 文件路径 */ - String createFile(String path, byte[] content); + String createFile(String path, byte[] content) throws Exception; } diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApiImpl.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApiImpl.java index c5ce8db19..d43eac1d5 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApiImpl.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/api/file/FileApiImpl.java @@ -1,6 +1,5 @@ package cn.iocoder.yudao.module.infra.api.file; -import cn.iocoder.yudao.module.infra.api.file.FileApi; import cn.iocoder.yudao.module.infra.service.file.FileService; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -20,7 +19,7 @@ public class FileApiImpl implements FileApi { private FileService fileService; @Override - public String createFile(String path, byte[] content) { + public String createFile(String path, byte[] content) throws Exception { return fileService.createFile(path, content); } diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java index 92ecd2bb9..8c355d627 100755 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileConfigController.java @@ -82,7 +82,7 @@ public class FileConfigController { @GetMapping("/test") @ApiOperation("测试文件配置是否正确") @PreAuthorize("@ss.hasPermission('infra:file-config:query')") - public CommonResult<String> testFileConfig(@RequestParam("id") Long id) { + public CommonResult<String> testFileConfig(@RequestParam("id") Long id) throws Exception { String url = fileConfigService.testFileConfig(id); return success(url); } diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java index e1cc6d076..e3d810dec 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/controller/admin/file/FileController.java @@ -23,7 +23,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.io.IOException; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -44,7 +43,7 @@ public class FileController { @ApiImplicitParam(name = "path", value = "文件路径", example = "yudaoyuanma.png", dataTypeClass = String.class) }) public CommonResult<String> uploadFile(@RequestParam("file") MultipartFile file, - @RequestParam("path") String path) throws IOException { + @RequestParam("path") String path) throws Exception { return success(fileService.createFile(path, IoUtil.readBytes(file.getInputStream()))); } @@ -52,7 +51,7 @@ public class FileController { @ApiOperation("删除文件") @ApiImplicitParam(name = "id", value = "编号", required = true, dataTypeClass = Long.class) @PreAuthorize("@ss.hasPermission('infra:file:delete')") - public CommonResult<Boolean> deleteFile(@RequestParam("id") Long id) { + public CommonResult<Boolean> deleteFile(@RequestParam("id") Long id) throws Exception { fileService.deleteFile(id); return success(true); } @@ -65,7 +64,7 @@ public class FileController { }) public void getFileContent(HttpServletResponse response, @PathVariable("configId") Long configId, - @PathVariable("path") String path) throws IOException { + @PathVariable("path") String path) throws Exception { byte[] content = fileService.getFileContent(configId, path); if (content == null) { log.warn("[getFileContent][configId({}) path({}) 文件不存在]", configId, path); diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java index 31db3d572..cdf5d3dc7 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java @@ -82,7 +82,7 @@ public class CodegenServiceImpl implements CodegenService { table.setAuthor(userApi.getUser(userId).getNickname()); codegenTableMapper.insert(table); // 构建 CodegenColumnDO 数组,插入到 DB 中 - List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns); + List<CodegenColumnDO> columns = codegenBuilder.buildColumns(table.getId(), schemaColumns); codegenColumnMapper.insertBatch(columns); return table.getId(); } @@ -196,7 +196,7 @@ public class CodegenServiceImpl implements CodegenService { } // 插入新增的字段 - List<CodegenColumnDO> columns = codegenBuilder.buildColumns(schemaColumns); + List<CodegenColumnDO> columns = codegenBuilder.buildColumns(tableId, schemaColumns); codegenColumnMapper.insertBatch(columns); // 删除不存在的字段 if (CollUtil.isNotEmpty(deleteColumnIds)) { diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java index 4c7ba479f..2a4281e50 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/inner/CodegenBuilder.java @@ -133,9 +133,12 @@ public class CodegenBuilder { table.setTemplateType(CodegenTemplateTypeEnum.CRUD.getType()); } - public List<CodegenColumnDO> buildColumns(List<SchemaColumnDO> schemaColumns) { + public List<CodegenColumnDO> buildColumns(Long tableId, List<SchemaColumnDO> schemaColumns) { List<CodegenColumnDO> columns = CodegenConvert.INSTANCE.convertList(schemaColumns); - columns.forEach(this::initColumnDefault); + for (CodegenColumnDO column : columns) { + column.setTableId(tableId); + initColumnDefault(column); + } return columns; } diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigService.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigService.java index 326052688..02197b98e 100755 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigService.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigService.java @@ -82,7 +82,7 @@ public interface FileConfigService { * @param id 编号 * @return 文件 URL */ - String testFileConfig(Long id); + String testFileConfig(Long id) throws Exception; /** * 获得指定编号的文件客户端 diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java index 3d79bdeef..bd0ced564 100755 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImpl.java @@ -225,7 +225,7 @@ public class FileConfigServiceImpl implements FileConfigService { } @Override - public String testFileConfig(Long id) { + public String testFileConfig(Long id) throws Exception { // 校验存在 this.validateFileConfigExists(id); // 上传文件 diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java index ea5f31390..2d893c082 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileService.java @@ -26,14 +26,14 @@ public interface FileService { * @param content 文件内容 * @return 文件路径 */ - String createFile(String path, byte[] content); + String createFile(String path, byte[] content) throws Exception; /** * 删除文件 * * @param id 编号 */ - void deleteFile(Long id); + void deleteFile(Long id) throws Exception; /** * 获得文件内容 @@ -42,6 +42,6 @@ public interface FileService { * @param path 文件路径 * @return 文件内容 */ - byte[] getFileContent(Long configId, String path); + byte[] getFileContent(Long configId, String path) throws Exception; } diff --git a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java index 3a3c3c010..66af402e0 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/main/java/cn/iocoder/yudao/module/infra/service/file/FileServiceImpl.java @@ -35,7 +35,7 @@ public class FileServiceImpl implements FileService { } @Override - public String createFile(String path, byte[] content) { + public String createFile(String path, byte[] content) throws Exception { // 上传到文件存储器 FileClient client = fileConfigService.getMasterFileClient(); Assert.notNull(client, "客户端(master) 不能为空"); @@ -53,7 +53,7 @@ public class FileServiceImpl implements FileService { } @Override - public void deleteFile(Long id) { + public void deleteFile(Long id) throws Exception { // 校验存在 FileDO file = this.validateFileExists(id); @@ -75,7 +75,7 @@ public class FileServiceImpl implements FileService { } @Override - public byte[] getFileContent(Long configId, String path) { + public byte[] getFileContent(Long configId, String path) throws Exception { FileClient client = fileConfigService.getFileClient(configId); Assert.notNull(client, "客户端({}) 不能为空", configId); return client.getContent(path); diff --git a/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java b/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java index 457c0682a..33e85f03b 100755 --- a/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileConfigServiceImplTest.java @@ -228,7 +228,7 @@ public class FileConfigServiceImplTest extends BaseDbUnitTest { } @Test - public void testFileConfig() { + public void testFileConfig() throws Exception { // mock 数据 FileConfigDO dbFileConfig = randomFileConfigDO().setMaster(false); fileConfigMapper.insert(dbFileConfig);// @Sql: 先插入出一条存在的数据 diff --git a/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileServiceTest.java b/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileServiceTest.java index 6ff74a21f..4682bfbd9 100644 --- a/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileServiceTest.java +++ b/yudao-module-infra/yudao-module-infra-impl/src/test/java/cn/iocoder/yudao/module/infra/service/file/FileServiceTest.java @@ -70,7 +70,7 @@ public class FileServiceTest extends BaseDbUnitTest { } @Test - public void testCreateFile_success() { + public void testCreateFile_success() throws Exception { // 准备参数 String path = randomString(); byte[] content = ResourceUtil.readBytes("file/erweima.jpg"); @@ -95,7 +95,7 @@ public class FileServiceTest extends BaseDbUnitTest { } @Test - public void testDeleteFile_success() { + public void testDeleteFile_success() throws Exception { // mock 数据 FileDO dbFile = randomPojo(FileDO.class, o -> o.setConfigId(10L).setPath("tudou.jpg")); fileMapper.insert(dbFile);// @Sql: 先插入出一条存在的数据 @@ -123,7 +123,7 @@ public class FileServiceTest extends BaseDbUnitTest { } @Test - public void testGetFileContent() { + public void testGetFileContent() throws Exception { // 准备参数 Long configId = 10L; String path = "tudou.jpg"; diff --git a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserController.java b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserController.java index 33505ea3a..edefcdba0 100644 --- a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserController.java +++ b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppUserController.java @@ -16,9 +16,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.Valid; -import java.io.IOException; -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.*; +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.FILE_IS_EMPTY; @@ -44,7 +43,7 @@ public class AppUserController { @PutMapping("/update-avatar") @ApiOperation("修改用户头像") @PreAuthenticated - public CommonResult<String> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException { + public CommonResult<String> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws Exception { if (file.isEmpty()) { throw exception(FILE_IS_EMPTY); } diff --git a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java index 1a38e61af..3c0e62de8 100644 --- a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java +++ b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java @@ -60,7 +60,7 @@ public interface MemberUserService { * @param inputStream 头像文件 * @return 头像url */ - String updateUserAvatar(Long userId, InputStream inputStream); + String updateUserAvatar(Long userId, InputStream inputStream) throws Exception; /** * 修改手机 diff --git a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index fcfe3ae51..0522e8eda 100644 --- a/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -100,7 +100,7 @@ public class MemberUserServiceImpl implements MemberUserService { } @Override - public String updateUserAvatar(Long userId, InputStream avatarFile) { + public String updateUserAvatar(Long userId, InputStream avatarFile) throws Exception { this.checkUserExists(userId); // 创建文件 String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile)); diff --git a/yudao-module-member/yudao-module-member-impl/src/test/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImplTest.java b/yudao-module-member/yudao-module-member-impl/src/test/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImplTest.java index 46d72091c..dc642f9b4 100644 --- a/yudao-module-member/yudao-module-member-impl/src/test/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImplTest.java +++ b/yudao-module-member/yudao-module-member-impl/src/test/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImplTest.java @@ -74,7 +74,7 @@ public class MemberUserServiceImplTest extends BaseDbAndRedisUnitTest { } @Test - public void testUpdateAvatar_success(){ + public void testUpdateAvatar_success() throws Exception { // mock 数据 MemberUserDO dbUser = randomUserDO(); userMapper.insert(dbUser); diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java index d68fa96cc..9c6c24092 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java @@ -29,7 +29,6 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.validation.Valid; -import java.io.IOException; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -99,7 +98,7 @@ public class UserProfileController { @PutMapping("/update-avatar") @ApiOperation("上传用户个人头像") - public CommonResult<String> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws IOException { + public CommonResult<String> updateUserAvatar(@RequestParam("avatarFile") MultipartFile file) throws Exception { if (file.isEmpty()) { throw ServiceExceptionUtil.exception(FILE_IS_EMPTY); } diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java index fc2718122..7a9fbfc1e 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/MenuMapper.java @@ -1,12 +1,12 @@ package cn.iocoder.yudao.module.system.dal.mysql.permission; -import cn.iocoder.yudao.framework.mybatis.core.enums.SqlConstants; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.menu.MenuListReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import java.util.Date; import java.util.List; @@ -28,9 +28,7 @@ public interface MenuMapper extends BaseMapperX<MenuDO> { .eqIfPresent(MenuDO::getStatus, reqVO.getStatus())); } - default boolean selectExistsByUpdateTimeAfter(Date maxUpdateTime) { - return selectOne(new LambdaQueryWrapper<MenuDO>().select(MenuDO::getId) - .gt(MenuDO::getUpdateTime, maxUpdateTime).last(SqlConstants.LIMIT1)) != null; - } + @Select("SELECT id FROM system_menu WHERE update_time > #{maxUpdateTime} LIMIT 1") + MenuDO selectExistsByUpdateTimeAfter(Date maxUpdateTime); } diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java index 1de536caf..c10cfa09b 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/permission/RoleMapper.java @@ -7,9 +7,8 @@ import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RoleExportReqVO; import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.RolePageReqVO; import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import org.springframework.lang.Nullable; import java.util.Collection; @@ -45,10 +44,7 @@ public interface RoleMapper extends BaseMapperX<RoleDO> { return selectList(new LambdaQueryWrapperX<RoleDO>().inIfPresent(RoleDO::getStatus, statuses)); } - @InterceptorIgnore(tenantLine = "true") // 该方法忽略多租户。原因:该方法被异步 task 调用,此时获取不到租户编号 - default boolean selectExistsByUpdateTimeAfter(Date maxUpdateTime) { - return selectOne(new QueryWrapper<RoleDO>().select("id") - .gt("update_time", maxUpdateTime).last("LIMIT 1")) != null; - } + @Select("SELECT id FROM system_role WHERE update_time > #{maxUpdateTime} LIMIT 1") + RoleDO selectExistsByUpdateTimeAfter(Date maxUpdateTime); } diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java index c54a490a6..149f6c7b4 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/MenuServiceImpl.java @@ -120,7 +120,7 @@ public class MenuServiceImpl implements MenuService { if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 log.info("[loadMenuIfUpdate][首次加载全量菜单]"); } else { // 判断数据库中是否有更新的菜单 - if (!menuMapper.selectExistsByUpdateTimeAfter(maxUpdateTime)) { + if (menuMapper.selectExistsByUpdateTimeAfter(maxUpdateTime) == null) { return null; } log.info("[loadMenuIfUpdate][增量加载全量菜单]"); diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java index 16e584964..713b7e4db 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/permission/RoleServiceImpl.java @@ -116,7 +116,7 @@ public class RoleServiceImpl implements RoleService { if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 log.info("[loadRoleIfUpdate][首次加载全量角色]"); } else { // 判断数据库中是否有更新的角色 - if (!roleMapper.selectExistsByUpdateTimeAfter(maxUpdateTime)) { + if (roleMapper.selectExistsByUpdateTimeAfter(maxUpdateTime) == null) { return null; } log.info("[loadRoleIfUpdate][增量加载全量角色]"); diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index e9a6fdc96..78d6a88a9 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -64,7 +64,7 @@ public interface AdminUserService { * @param id 用户 id * @param avatarFile 头像文件 */ - String updateUserAvatar(Long id, InputStream avatarFile); + String updateUserAvatar(Long id, InputStream avatarFile) throws Exception; /** * 修改密码 diff --git a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index 279be9d57..32f0a8e8c 100644 --- a/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -63,6 +63,7 @@ public class AdminUserServiceImpl implements AdminUserService { private FileApi fileApi; @Override + public Long createUser(UserCreateReqVO reqVO) { // 校验账户配合 tenantService.handleTenantInfo(tenant -> { @@ -118,7 +119,7 @@ public class AdminUserServiceImpl implements AdminUserService { } @Override - public String updateUserAvatar(Long id, InputStream avatarFile) { + public String updateUserAvatar(Long id, InputStream avatarFile) throws Exception { this.checkUserExists(id); // 存储文件 String avatar = fileApi.createFile(IoUtil.readBytes(avatarFile)); diff --git a/yudao-module-system/yudao-module-system-impl/src/test/java/cn/iocoder/yudao/module/system/service/user/UserServiceImplTest.java b/yudao-module-system/yudao-module-system-impl/src/test/java/cn/iocoder/yudao/module/system/service/user/UserServiceImplTest.java index 49d18dc06..5197d422b 100644 --- a/yudao-module-system/yudao-module-system-impl/src/test/java/cn/iocoder/yudao/module/system/service/user/UserServiceImplTest.java +++ b/yudao-module-system/yudao-module-system-impl/src/test/java/cn/iocoder/yudao/module/system/service/user/UserServiceImplTest.java @@ -196,7 +196,7 @@ public class UserServiceImplTest extends BaseDbUnitTest { } @Test - public void testUpdateUserAvatar_success() { + public void testUpdateUserAvatar_success() throws Exception { // mock 数据 AdminUserDO dbUser = randomAdminUserDO(); userMapper.insert(dbUser); diff --git a/yudao-ui-admin/.env.demo1024 b/yudao-ui-admin/.env.demo1024 index d2897f1ea..21f48d031 100644 --- a/yudao-ui-admin/.env.demo1024 +++ b/yudao-ui-admin/.env.demo1024 @@ -13,3 +13,9 @@ VUE_APP_BASE_API = 'http://127.0.0.1:48080' PUBLIC_PATH = '/admin-ui/' # 二级部署路径 VUE_APP_APP_NAME ='/admin-ui/' + +# 多租户的开关 +VUE_APP_TENANT_ENABLE = true + +# 文档的开关 +VUE_APP_DOC_ENABLE = true diff --git a/yudao-ui-admin/.env.development b/yudao-ui-admin/.env.development index 7f6246a9e..e7841a631 100644 --- a/yudao-ui-admin/.env.development +++ b/yudao-ui-admin/.env.development @@ -13,3 +13,6 @@ VUE_CLI_BABEL_TRANSPILE_MODULES = true # 多租户的开关 VUE_APP_TENANT_ENABLE = true + +# 文档的开关 +VUE_APP_DOC_ENABLE = true diff --git a/yudao-ui-admin/.env.production b/yudao-ui-admin/.env.production index 535990c4a..377f92f1b 100644 --- a/yudao-ui-admin/.env.production +++ b/yudao-ui-admin/.env.production @@ -12,3 +12,8 @@ PUBLIC_PATH = 'http://my-pi.com:8888/yudao-admin/' # 二级部署路径 VUE_APP_APP_NAME ='yudao-admin' +# 多租户的开关 +VUE_APP_TENANT_ENABLE = true + +# 文档的开关 +VUE_APP_DOC_ENABLE = false diff --git a/yudao-ui-admin/.env.staging b/yudao-ui-admin/.env.staging index 7cb5fb84d..cb7b007b1 100644 --- a/yudao-ui-admin/.env.staging +++ b/yudao-ui-admin/.env.staging @@ -11,3 +11,9 @@ VUE_APP_BASE_API = 'http://api-dashboard.yudao.iocoder.cn' # 静态资源地址 PUBLIC_PATH = 'http://static.yudao.iocoder.cn/' + +# 多租户的开关 +VUE_APP_TENANT_ENABLE = true + +# 文档的开关 +VUE_APP_DOC_ENABLE = false diff --git a/yudao-ui-admin/package.json b/yudao-ui-admin/package.json index 776f550af..8a0440d06 100644 --- a/yudao-ui-admin/package.json +++ b/yudao-ui-admin/package.json @@ -1,6 +1,6 @@ { "name": "yudao-ui-admin", - "version": "1.6.0-snapshot", + "version": "1.6.1-snapshot", "description": "芋道管理系统", "author": "芋道", "license": "MIT", diff --git a/yudao-ui-admin/src/components/DocAlert/index.vue b/yudao-ui-admin/src/components/DocAlert/index.vue new file mode 100644 index 000000000..541b8ed20 --- /dev/null +++ b/yudao-ui-admin/src/components/DocAlert/index.vue @@ -0,0 +1,25 @@ +<template> + <el-alert v-if="enable()" :title="'【' + title + '】文档地址:' + url" type="success" show-icon /> +</template> + +<script> +import {getDocEnable} from "@/utils/ruoyi"; + +export default { + name: "DocAlert", + props: { + title: String, + url: String, + }, + methods: { + enable: function () { + return getDocEnable(); + } + } +}; +</script> +<style scoped> +.el-alert--success.is-light { + margin-bottom: 10px; +} +</style> diff --git a/yudao-ui-admin/src/main.js b/yudao-ui-admin/src/main.js index a572d937c..8252a97b2 100644 --- a/yudao-ui-admin/src/main.js +++ b/yudao-ui-admin/src/main.js @@ -41,10 +41,12 @@ Vue.prototype.handleTree = handleTree // 全局组件挂载 Vue.component('DictTag', DictTag) +Vue.component('DocAlert', DocAlert) Vue.component('Pagination', Pagination) Vue.component('RightToolbar', RightToolbar) // 字典标签组件 import DictTag from '@/components/DictTag' +import DocAlert from '@/components/DocAlert' // 头部标签插件 import VueMeta from 'vue-meta' diff --git a/yudao-ui-admin/src/utils/ruoyi.js b/yudao-ui-admin/src/utils/ruoyi.js index 3dd996cee..dd7dcd19f 100644 --- a/yudao-ui-admin/src/utils/ruoyi.js +++ b/yudao-ui-admin/src/utils/ruoyi.js @@ -175,7 +175,7 @@ export function getNowDateTime(timeStr) { * 获得租户功能是否开启 */ export function getTenantEnable() { - console.log("enable: " + process.env.VUE_APP_TENANT_ENABLE) + // console.log("enable: " + process.env.VUE_APP_TENANT_ENABLE) if (process.env.VUE_APP_TENANT_ENABLE === "true") { return true; } @@ -184,3 +184,16 @@ export function getTenantEnable() { } return process.env.VUE_APP_TENANT_ENABLE || true; } + +/** + * 获得文档是否开启 + */ +export function getDocEnable() { + if (process.env.VUE_APP_DOC_ENABLE === "true") { + return true; + } + if (process.env.VUE_APP_DOC_ENABLE === "false") { + return false; + } + return process.env.VUE_APP_DOC_ENABLE || false; +} diff --git a/yudao-ui-admin/src/views/bpm/definition/index.vue b/yudao-ui-admin/src/views/bpm/definition/index.vue index 277047ee4..43f194234 100644 --- a/yudao-ui-admin/src/views/bpm/definition/index.vue +++ b/yudao-ui-admin/src/views/bpm/definition/index.vue @@ -1,5 +1,7 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> + <!-- 列表 --> <el-table v-loading="loading" :data="list"> <el-table-column label="定义编号" align="center" prop="id" width="400" /> diff --git a/yudao-ui-admin/src/views/bpm/form/index.vue b/yudao-ui-admin/src/views/bpm/form/index.vue index eef300908..e4cb90568 100644 --- a/yudao-ui-admin/src/views/bpm/form/index.vue +++ b/yudao-ui-admin/src/views/bpm/form/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/bpm/group/index.vue b/yudao-ui-admin/src/views/bpm/group/index.vue index cf41aa8bd..b13241cf8 100644 --- a/yudao-ui-admin/src/views/bpm/group/index.vue +++ b/yudao-ui-admin/src/views/bpm/group/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/bpm/model/index.vue b/yudao-ui-admin/src/views/bpm/model/index.vue index 029ad9f60..35ae26f35 100644 --- a/yudao-ui-admin/src/views/bpm/model/index.vue +++ b/yudao-ui-admin/src/views/bpm/model/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/bpm/oa/leave/index.vue b/yudao-ui-admin/src/views/bpm/oa/leave/index.vue index 9dc99762e..83b3f786e 100644 --- a/yudao-ui-admin/src/views/bpm/oa/leave/index.vue +++ b/yudao-ui-admin/src/views/bpm/oa/leave/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/bpm/processInstance/index.vue b/yudao-ui-admin/src/views/bpm/processInstance/index.vue index 3cb4e2cbc..fa1250760 100644 --- a/yudao-ui-admin/src/views/bpm/processInstance/index.vue +++ b/yudao-ui-admin/src/views/bpm/processInstance/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/bpm/task/done.vue b/yudao-ui-admin/src/views/bpm/task/done.vue index 926260b2f..bc1a8dd03 100644 --- a/yudao-ui-admin/src/views/bpm/task/done.vue +++ b/yudao-ui-admin/src/views/bpm/task/done.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> @@ -24,7 +25,7 @@ <el-table-column label="流程发起人" align="center" prop="processInstance.startUserNickname" width="120" /> <el-table-column label="结果" align="center" prop="result"> <template slot-scope="scope"> - <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.result"/> + <dict-tag :type="DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT" :value="scope.row.result"/> </template> </el-table-column> <el-table-column label="审批意见" align="center" prop="comment" width="200" /> diff --git a/yudao-ui-admin/src/views/bpm/task/todo.vue b/yudao-ui-admin/src/views/bpm/task/todo.vue index f5d82b35b..db3324dd8 100644 --- a/yudao-ui-admin/src/views/bpm/task/todo.vue +++ b/yudao-ui-admin/src/views/bpm/task/todo.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="工作流" url="https://doc.iocoder.cn/bpm" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> diff --git a/yudao-ui-admin/src/views/infra/build/index.vue b/yudao-ui-admin/src/views/infra/build/index.vue index 067e3f7ea..f3995396a 100644 --- a/yudao-ui-admin/src/views/infra/build/index.vue +++ b/yudao-ui-admin/src/views/infra/build/index.vue @@ -44,9 +44,9 @@ <div class="center-board"> <div class="action-bar"> - <el-button icon="el-icon-video-play" type="text" @click="run"> - 运行 - </el-button> +<!-- <el-button icon="el-icon-video-play" type="text" @click="run">--> +<!-- 运行--> +<!-- </el-button>--> <el-button icon="el-icon-view" type="text" @click="showJson"> 查看json </el-button> diff --git a/yudao-ui-admin/src/views/infra/codegen/index.vue b/yudao-ui-admin/src/views/infra/codegen/index.vue index 292f3bc84..7ecc88349 100644 --- a/yudao-ui-admin/src/views/infra/codegen/index.vue +++ b/yudao-ui-admin/src/views/infra/codegen/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="代码生成" url="https://doc.iocoder.cn/new-feature/" /> <!-- 操作工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="表名称" prop="tableName"> diff --git a/yudao-ui-admin/src/views/infra/file/index.vue b/yudao-ui-admin/src/views/infra/file/index.vue index 4b41401d9..0ce63df69 100644 --- a/yudao-ui-admin/src/views/infra/file/index.vue +++ b/yudao-ui-admin/src/views/infra/file/index.vue @@ -1,16 +1,11 @@ <template> <div class="app-container"> - + <doc-alert title="上传下载" url="https://doc.iocoder.cn/file/" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="文件路径" prop="path"> <el-input v-model="queryParams.path" placeholder="请输入文件路径" clearable size="small" @keyup.enter.native="handleQuery"/> </el-form-item> - <el-form-item label="文件类型" prop="type"> - <el-select v-model="queryParams.type" placeholder="请选择文件类型" clearable size="small"> - <el-option label="请选择字典生成" value="" /> - </el-select> - </el-form-item> <el-form-item label="创建时间"> <el-date-picker v-model="dateRangeCreateTime" size="small" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" /> diff --git a/yudao-ui-admin/src/views/infra/fileConfig/index.vue b/yudao-ui-admin/src/views/infra/fileConfig/index.vue index 1643dd638..92af468dc 100755 --- a/yudao-ui-admin/src/views/infra/fileConfig/index.vue +++ b/yudao-ui-admin/src/views/infra/fileConfig/index.vue @@ -1,6 +1,6 @@ <template> <div class="app-container"> - + <doc-alert title="上传下载" url="https://doc.iocoder.cn/file/" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="配置名" prop="name"> @@ -51,7 +51,7 @@ <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="240"> <template slot-scope="scope"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['infra:file-config:update']">修改</el-button> @@ -109,9 +109,6 @@ <el-form-item v-if="form.storage === 20" label="节点地址" prop="config.endpoint"> <el-input v-model="form.config.endpoint" placeholder="请输入节点地址" /> </el-form-item> - <el-form-item v-if="form.storage === 20" label="区域" prop="config.region"> - <el-input v-model="form.config.region" placeholder="请输入区域" /> - </el-form-item> <el-form-item v-if="form.storage === 20" label="存储 bucket" prop="config.bucket"> <el-input v-model="form.config.bucket" placeholder="请输入 bucket" /> </el-form-item> @@ -190,7 +187,6 @@ export default { password: [{ required: true, message: "密码不能为空", trigger: "blur" }], mode: [{ required: true, message: "连接模式不能为空", trigger: "change" }], endpoint: [{ required: true, message: "节点地址不能为空", trigger: "blur" }], - region: [{ required: true, message: "区域名不能为空", trigger: "blur" }], bucket: [{ required: true, message: "存储 bucket 不能为空", trigger: "blur" }], accessKey: [{ required: true, message: "accessKey 不能为空", trigger: "blur" }], accessSecret: [{ required: true, message: "accessSecret 不能为空", trigger: "blur" }], diff --git a/yudao-ui-admin/src/views/login.vue b/yudao-ui-admin/src/views/login.vue index 1031d9dc3..5c892ce0e 100644 --- a/yudao-ui-admin/src/views/login.vue +++ b/yudao-ui-admin/src/views/login.vue @@ -87,7 +87,7 @@ export default { // debugger getTenantIdByName(value).then(res => { const tenantId = res.data; - if (tenantId >= 0) { + if (tenantId && tenantId >= 0) { // 设置租户 Cookies.set("tenantId", tenantId); callback(); diff --git a/yudao-ui-admin/src/views/system/menu/index.vue b/yudao-ui-admin/src/views/system/menu/index.vue index db5a9184d..460a5df18 100644 --- a/yudao-ui-admin/src/views/system/menu/index.vue +++ b/yudao-ui-admin/src/views/system/menu/index.vue @@ -1,5 +1,6 @@ <template> <div class="app-container"> + <doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" /> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch"> <el-form-item label="菜单名称" prop="name"> <el-input v-model="queryParams.name" placeholder="请输入菜单名称" clearable size="small" @keyup.enter.native="handleQuery"/> diff --git a/yudao-ui-admin/src/views/system/role/index.vue b/yudao-ui-admin/src/views/system/role/index.vue index 57adc1d01..a56349d3b 100644 --- a/yudao-ui-admin/src/views/system/role/index.vue +++ b/yudao-ui-admin/src/views/system/role/index.vue @@ -1,5 +1,7 @@ <template> <div class="app-container"> + <doc-alert title="功能权限" url="https://doc.iocoder.cn/resource-permission" /> + <doc-alert title="数据权限" url="https://doc.iocoder.cn/data-permission" /> <el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true"> <el-form-item label="角色名称" prop="name"> <el-input v-model="queryParams.name" placeholder="请输入角色名称" clearable size="small" style="width: 240px" diff --git a/yudao-ui-admin/src/views/system/tenant/index.vue b/yudao-ui-admin/src/views/system/tenant/index.vue index 71c8492d7..453e7bf03 100755 --- a/yudao-ui-admin/src/views/system/tenant/index.vue +++ b/yudao-ui-admin/src/views/system/tenant/index.vue @@ -1,6 +1,6 @@ <template> <div class="app-container"> - + <doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="租户名" prop="name"> diff --git a/yudao-ui-admin/src/views/system/tenantPackage/index.vue b/yudao-ui-admin/src/views/system/tenantPackage/index.vue index f697d461b..eecc52e1c 100755 --- a/yudao-ui-admin/src/views/system/tenantPackage/index.vue +++ b/yudao-ui-admin/src/views/system/tenantPackage/index.vue @@ -1,6 +1,6 @@ <template> <div class="app-container"> - + <doc-alert title="SaaS 多租户" url="https://doc.iocoder.cn/saas-tenant/" /> <!-- 搜索工作栏 --> <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="套餐名" prop="name">