From b4ded9548cb7045712e71917c8f21f7a98ff73b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com>
Date: Mon, 1 Mar 2021 12:58:31 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91v1.3?=
=?UTF-8?q?=E7=89=88=E6=9C=AC=EF=BC=9A=E4=BB=A3=E7=A0=81=E7=94=9F=E6=88=90?=
=?UTF-8?q?=E5=A2=9E=E5=BC=BA=EF=BC=8C=E9=85=8D=E7=BD=AE=E6=AF=8F=E4=B8=AA?=
=?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=9A=84=E4=BD=9C=E7=94=A8=E5=9F=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_sql/xiaonuo-vue-pub-oracle.sql | 142 ++++++++-
_sql/xiaonuo-vue-pub.sql | 97 +++++-
.../gen/sysCodeGenerateConfigManage.js | 29 ++
.../components/GlobalFooter/GlobalFooter.vue | 2 +-
_web/src/layouts/UserLayout.vue | 2 +-
_web/src/utils/filter.js | 10 +
_web/src/views/gen/codeGenerate/index.vue | 173 ++++++----
.../views/gen/codeGenerate/indexConfig.vue | 230 ++++++++++++++
.../xiaonuo/generate/core/config/Config.java | 16 +-
.../core/context/XnVelocityContext.java | 26 +-
.../generate/core/enums/QueryTypeEnum.java | 56 ++++
.../generate/core/param/XnCodeGenParam.java | 5 +-
.../generate/core/tool/JavaEffTool.java | 30 ++
.../generate/core/tool/JavaSqlTool.java | 2 +-
.../controller/CodeGenerateController.java | 16 +-
.../SysCodeGenerateConfigController.java | 93 ++++++
.../modular/entity/SysCodeGenerateConfig.java | 136 ++++++++
.../SysCodeGenerateConfigExceptionEnum.java | 64 ++++
.../modular/mapper/CodeGenerateMapper.java | 3 +-
.../mapper/SysCodeGenerateConfigMapper.java | 37 +++
.../mapping/SysCodeGenerateConfigMapper.xml | 5 +
.../modular/param/CodeGenerateParam.java | 1 -
.../param/SysCodeGenerateConfigParam.java | 138 ++++++++
.../modular/service/CodeGenerateService.java | 1 -
.../service/SysCodeGenerateConfigService.java | 91 ++++++
.../service/impl/CodeGenerateServiceImpl.java | 65 ++--
.../SysCodeGenerateConfigServiceImpl.java | 160 ++++++++++
.../resources/template/Controller.java.vm | 6 +-
.../src/main/resources/template/Param.java.vm | 24 +-
.../resources/template/ServiceImpl.java.vm | 40 +--
.../main/resources/template/XnMysql.sql.vm | 34 ++
.../main/resources/template/addForm.vue.vm | 118 ++++++-
.../main/resources/template/editForm.vue.vm | 174 +++++++++-
.../main/resources/template/entity.java.vm | 17 +-
.../src/main/resources/template/index.vue.vm | 300 +++++++++++++++---
35 files changed, 2108 insertions(+), 235 deletions(-)
create mode 100644 _web/src/api/modular/gen/sysCodeGenerateConfigManage.js
create mode 100644 _web/src/views/gen/codeGenerate/indexConfig.vue
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/enums/QueryTypeEnum.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaEffTool.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/SysCodeGenerateConfigController.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/entity/SysCodeGenerateConfig.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/enums/SysCodeGenerateConfigExceptionEnum.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/SysCodeGenerateConfigMapper.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/mapping/SysCodeGenerateConfigMapper.xml
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/SysCodeGenerateConfigParam.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/SysCodeGenerateConfigService.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/impl/SysCodeGenerateConfigServiceImpl.java
create mode 100644 xiaonuo-base/xiaonuo-gen/src/main/resources/template/XnMysql.sql.vm
diff --git a/_sql/xiaonuo-vue-pub-oracle.sql b/_sql/xiaonuo-vue-pub-oracle.sql
index 4bfaaab9..33aca39e 100644
--- a/_sql/xiaonuo-vue-pub-oracle.sql
+++ b/_sql/xiaonuo-vue-pub-oracle.sql
@@ -11,7 +11,7 @@
Target Server Version : 110200
File Encoding : 65001
- Date: 09/01/2021 18:52:37
+ Date: 01/03/2021 12:47:20
*/
@@ -83,6 +83,81 @@ COMMENT ON COLUMN "SYS_CODE_GENERATE"."UPDATE_USER" IS '更新人';
COMMENT ON COLUMN "SYS_CODE_GENERATE"."UPDATE_TIME" IS '更新时间';
COMMENT ON TABLE "SYS_CODE_GENERATE" IS '代码生成基础配置';
+-- ----------------------------
+-- Records of sys_code_generate
+-- ----------------------------
+INSERT INTO "SYS_CODE_GENERATE" VALUES ('1362310959781744641', 'yubaoshan、xuyuxiang、dongxiayu', 'CodeGenTest', 'Y', '2', 'xn_code_gen_test', 'com.cn.xiaonuo', 'codegentest', '测试', '1265476890672672808', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), NULL, NULL);
+COMMIT;
+
+-- ----------------------------
+-- Table structure for sys_code_generate_config
+-- ----------------------------
+CREATE TABLE "SYS_CODE_GENERATE_CONFIG" (
+ "ID" NUMBER(20) NOT NULL ,
+ "CODE_GEN_ID" NUMBER(20) ,
+ "COLUMN_NAME" VARCHAR2(255) ,
+ "JAVA_NAME" VARCHAR2(255) ,
+ "DATA_TYPE" VARCHAR2(255) ,
+ "COLUMN_COMMENT" NVARCHAR2(255) ,
+ "JAVA_TYPE" VARCHAR2(255) ,
+ "EFFECT_TYPE" VARCHAR2(255) ,
+ "DICT_TYPE_CODE" VARCHAR2(255) ,
+ "WHETHER_TABLE" VARCHAR2(255) ,
+ "WHETHER_ADD_UPDATE" VARCHAR2(255) ,
+ "WHETHER_RETRACT" VARCHAR2(255) ,
+ "WHETHER_REQUIRED" VARCHAR2(255) ,
+ "QUERY_WHETHER" VARCHAR2(255) ,
+ "QUERY_TYPE" VARCHAR2(255) ,
+ "COLUMN_KEY" VARCHAR2(255) ,
+ "COLUMN_KEY_NAME" VARCHAR2(255) ,
+ "WHETHER_COMMON" VARCHAR2(255) ,
+ "CREATE_TIME" DATE ,
+ "CREATE_USER" NUMBER(20) ,
+ "UPDATE_TIME" DATE ,
+ "UPDATE_USER" NUMBER(20)
+)
+;
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."ID" IS '主键';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."CODE_GEN_ID" IS '代码生成主表ID';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."COLUMN_NAME" IS '数据库字段名';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."JAVA_NAME" IS 'java类字段名';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."DATA_TYPE" IS '物理类型';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."COLUMN_COMMENT" IS '字段描述';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."JAVA_TYPE" IS 'java类型';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."EFFECT_TYPE" IS '作用类型(字典)';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."DICT_TYPE_CODE" IS '字典code';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."WHETHER_TABLE" IS '列表展示';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."WHETHER_ADD_UPDATE" IS '增改';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."WHETHER_RETRACT" IS '列表是否缩进(字典)';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."WHETHER_REQUIRED" IS '是否必填(字典)';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."QUERY_WHETHER" IS '是否是查询条件';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."QUERY_TYPE" IS '查询方式';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."COLUMN_KEY" IS '主键';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."COLUMN_KEY_NAME" IS '主外键名称';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."WHETHER_COMMON" IS '是否是通用字段';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."CREATE_TIME" IS '创建时间';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."CREATE_USER" IS '创建人';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."UPDATE_TIME" IS '修改时间';
+COMMENT ON COLUMN "SYS_CODE_GENERATE_CONFIG"."UPDATE_USER" IS '修改人';
+COMMENT ON TABLE "SYS_CODE_GENERATE_CONFIG" IS '代码生成详细配置';
+
+-- ----------------------------
+-- Records of sys_code_generate_config
+-- ----------------------------
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310959903379458', '1362310959781744641', 'id', 'id', 'bigint', '主键', 'Long', 'input', NULL, 'N', 'N', 'N', 'N', 'N', 'eq', 'PRI', 'Id', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310959941128193', '1362310959781744641', 'name', 'name', 'varchar', '姓名', 'String', 'input', NULL, 'Y', 'Y', 'N', 'Y', 'Y', 'like', '', 'Name', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310959978876929', '1362310959781744641', 'age', 'age', 'int', '年龄', 'Integer', 'input', NULL, 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Age', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960008237058', '1362310959781744641', 'interest', 'interest', 'varchar', '兴趣', 'String', 'checkbox', 'sex', 'Y', 'Y', 'N', 'Y', 'N', 'eq', '', 'Interest', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960033402881', '1362310959781744641', 'switchTest', 'switchtest', 'varchar', '开关', 'String', 'radio', 'yes_or_no', 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Switchtest', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960062763009', '1362310959781744641', 'birthday', 'birthday', 'date', '日期', 'Date', 'datepicker', NULL, 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Birthday', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960096317442', '1362310959781744641', 'whether', 'whether', 'varchar', '是否已婚', 'String', 'select', 'yes_or_no', 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Whether', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960121483266', '1362310959781744641', 'explainTest', 'explaintest', 'varchar', '简介', 'String', 'textarea', NULL, 'N', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Explain', 'N', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960150843393', '1362310959781744641', 'create_time', 'createTime', 'datetime', '创建时间', 'Date', 'datepicker', NULL, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'CreateTime', 'Y', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960176009218', '1362310959781744641', 'create_user', 'createUser', 'bigint', '', 'Long', 'input', NULL, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'CreateUser', 'Y', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960201175041', '1362310959781744641', 'update_time', 'updateTime', 'datetime', '', 'Date', 'datepicker', NULL, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'UpdateTime', 'Y', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_CODE_GENERATE_CONFIG" VALUES ('1362310960234729473', '1362310959781744641', 'update_user', 'updateUser', 'bigint', '', 'Long', 'input', NULL, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'UpdateUser', 'Y', TO_DATE('2021-02-18 16:00:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-18 16:02:31', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+COMMIT;
+
-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
@@ -253,6 +328,29 @@ INSERT INTO "SYS_DICT_DATA" VALUES ('1291390260160299009', '1291390159941599233'
INSERT INTO "SYS_DICT_DATA" VALUES ('1291390315437031426', '1291390159941599233', '否', 'false', '100', '否', '2', TO_DATE('2020-08-06 23:06:59', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
INSERT INTO "SYS_DICT_DATA" VALUES ('1342446007168466945', '1342445962104864770', '下载压缩包', '1', '100', '下载压缩包', '0', TO_DATE('2020-12-25 20:24:04', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
INSERT INTO "SYS_DICT_DATA" VALUES ('1342446035433881601', '1342445962104864770', '生成到本项目', '2', '100', '生成到本项目', '0', TO_DATE('2020-12-25 20:24:11', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358094655567454210', '1358094419419750401', '输入框', 'input', '100', '输入框', '0', TO_DATE('2021-02-07 00:46:13', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-08 01:01:28', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358094740510498817', '1358094419419750401', '时间选择', 'datepicker', '100', '时间选择', '0', TO_DATE('2021-02-07 00:46:33', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-08 01:04:07', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358094793149014017', '1358094419419750401', '下拉框', 'select', '100', '下拉框', '0', TO_DATE('2021-02-07 00:46:46', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358095496009506817', '1358094419419750401', '单选框', 'radio', '100', '单选框', '0', TO_DATE('2021-02-07 00:49:33', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358095673084633090', '1358094419419750401', '开关', 'switch', '100', '开关', '2', TO_DATE('2021-02-07 00:50:15', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-11 19:07:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358458689433190402', '1358457818733428737', '等于', 'eq', '1', '等于', '0', TO_DATE('2021-02-08 00:52:45', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:35:36', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358458785168179202', '1358457818733428737', '模糊', 'like', '2', '模糊', '0', TO_DATE('2021-02-08 00:53:08', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:35:46', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358460475682406401', '1358094419419750401', '多选框', 'checkbox', '100', '多选框', '0', TO_DATE('2021-02-08 00:59:51', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358460819019743233', '1358094419419750401', '数字输入框', 'inputnumber', '100', '数字输入框', '0', TO_DATE('2021-02-08 01:01:13', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358470210267725826', '1358470065111252994', 'Long', 'Long', '100', 'Long', '0', TO_DATE('2021-02-08 01:38:32', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358470239351029762', '1358470065111252994', 'String', 'String', '100', 'String', '0', TO_DATE('2021-02-08 01:38:39', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358470265640927233', '1358470065111252994', 'Date', 'Date', '100', 'Date', '0', TO_DATE('2021-02-08 01:38:45', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358470300168437761', '1358470065111252994', 'Integer', 'Integer', '100', 'Integer', '0', TO_DATE('2021-02-08 01:38:53', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358470697377415169', '1358470065111252994', 'boolean', 'boolean', '100', 'boolean', '0', TO_DATE('2021-02-08 01:40:28', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-08 01:40:47', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358471133434036226', '1358470065111252994', 'int', 'int', '100', 'int', '0', TO_DATE('2021-02-08 01:42:12', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358471188291338241', '1358470065111252994', 'double', 'double', '100', 'double', '0', TO_DATE('2021-02-08 01:42:25', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358756511688761346', '1358457818733428737', '大于', 'gt', '3', '大于', '0', TO_DATE('2021-02-08 20:36:12', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:24', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358756547159990274', '1358457818733428737', '小于', 'lt', '4', '大于', '0', TO_DATE('2021-02-08 20:36:20', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:29', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358756609990664193', '1358457818733428737', '不等于', 'ne', '7', '不等于', '0', TO_DATE('2021-02-08 20:36:35', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:46', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358756685030957057', '1358457818733428737', '大于等于', 'ge', '5', '大于等于', '0', TO_DATE('2021-02-08 20:36:53', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:35', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1358756800525312001', '1358457818733428737', '小于等于', 'le', '6', '小于等于', '0', TO_DATE('2021-02-08 20:37:20', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:40', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_DATA" VALUES ('1360529773814083586', '1358094419419750401', '文本域', 'textarea', '100', '文本域', '0', TO_DATE('2021-02-13 18:02:30', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_DATA" VALUES ('1360606105914732545', '1358457818733428737', '不为空', 'isNotNull', '8', '不为空', '0', TO_DATE('2021-02-13 23:05:49', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-13 23:45:50', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
COMMIT;
-- ----------------------------
@@ -304,6 +402,9 @@ INSERT INTO "SYS_DICT_TYPE" VALUES ('1278911800547147777', '通知公告类型',
INSERT INTO "SYS_DICT_TYPE" VALUES ('1278911952657776642', '通知公告状态', 'notice_status', '100', '通知公告状态', '0', TO_DATE('2020-07-03 12:42:25', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
INSERT INTO "SYS_DICT_TYPE" VALUES ('1291390159941599233', '是否boolean', 'yes_true_false', '100', '是否boolean', '2', TO_DATE('2020-08-06 23:06:22', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
INSERT INTO "SYS_DICT_TYPE" VALUES ('1342445962104864770', '代码生成方式', 'code_gen_create_type', '100', '代码生成方式', '0', TO_DATE('2020-12-25 20:23:53', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_TYPE" VALUES ('1358094419419750401', '代码生成作用类型', 'code_gen_effect_type', '100', '代码生成作用类型', '0', TO_DATE('2021-02-07 00:45:16', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', TO_DATE('2021-02-08 00:47:48', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808');
+INSERT INTO "SYS_DICT_TYPE" VALUES ('1358457818733428737', '代码生成查询类型', 'code_gen_query_type', '100', '代码生成查询类型', '0', TO_DATE('2021-02-08 00:49:18', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
+INSERT INTO "SYS_DICT_TYPE" VALUES ('1358470065111252994', '代码生成java类型', 'code_gen_java_type', '100', '代码生成java类型', '0', TO_DATE('2021-02-08 01:37:57', 'SYYYY-MM-DD HH24:MI:SS'), '1265476890672672808', NULL, NULL);
COMMIT;
-- ----------------------------
@@ -1270,6 +1371,35 @@ COMMENT ON COLUMN "SYS_VIS_LOG"."VIS_TIME" IS '访问时间';
COMMENT ON COLUMN "SYS_VIS_LOG"."ACCOUNT" IS '访问账号';
COMMENT ON TABLE "SYS_VIS_LOG" IS '系统访问日志表';
+-- ----------------------------
+-- Table structure for xn_code_gen_test
+-- ----------------------------
+CREATE TABLE "XN_CODE_GEN_TEST" (
+ "ID" NUMBER(20) NOT NULL ,
+ "NAME" NVARCHAR2(255) ,
+ "AGE" NUMBER(11) ,
+ "INTEREST" NVARCHAR2(255) ,
+ "SWITCHTEST" NVARCHAR2(255) ,
+ "BIRTHDAY" DATE ,
+ "WHETHER" NVARCHAR2(255) ,
+ "EXPLAIN_TEST" NVARCHAR2(255) ,
+ "CREATE_TIME" DATE ,
+ "CREATE_USER" NUMBER(20) ,
+ "UPDATE_TIME" DATE ,
+ "UPDATE_USER" NUMBER(20)
+)
+;
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."ID" IS '主键';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."NAME" IS '姓名';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."AGE" IS '年龄';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."INTEREST" IS '兴趣';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."SWITCHTEST" IS '开关';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."BIRTHDAY" IS '日期';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."WHETHER" IS '是否已婚';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."EXPLAIN_TEST" IS '简介';
+COMMENT ON COLUMN "XN_CODE_GEN_TEST"."CREATE_TIME" IS '创建时间';
+COMMENT ON TABLE "XN_CODE_GEN_TEST" IS '测试';
+
-- ----------------------------
-- Primary Key structure for table sys_app
-- ----------------------------
@@ -1280,6 +1410,11 @@ ALTER TABLE "SYS_APP" ADD PRIMARY KEY ("ID");
-- ----------------------------
ALTER TABLE "SYS_CODE_GENERATE" ADD PRIMARY KEY ("ID");
+-- ----------------------------
+-- Primary Key structure for table sys_code_generate_config
+-- ----------------------------
+ALTER TABLE "SYS_CODE_GENERATE_CONFIG" ADD PRIMARY KEY ("ID");
+
-- ----------------------------
-- Primary Key structure for table sys_config
-- ----------------------------
@@ -1400,3 +1535,8 @@ ALTER TABLE "SYS_USER_ROLE" ADD PRIMARY KEY ("ID");
-- Primary Key structure for table sys_vis_log
-- ----------------------------
ALTER TABLE "SYS_VIS_LOG" ADD PRIMARY KEY ("ID");
+
+-- ----------------------------
+-- Primary Key structure for table xn_code_gen_test
+-- ----------------------------
+ALTER TABLE "XN_CODE_GEN_TEST" ADD PRIMARY KEY ("ID");
diff --git a/_sql/xiaonuo-vue-pub.sql b/_sql/xiaonuo-vue-pub.sql
index 19cc7fa2..ca6cd4e8 100644
--- a/_sql/xiaonuo-vue-pub.sql
+++ b/_sql/xiaonuo-vue-pub.sql
@@ -1,7 +1,7 @@
/*
Navicat MySQL Data Transfer
-Source Server : ybs
+Source Server : yubaoshan
Source Server Version : 50710
Source Host : localhost:3306
Source Database : xiaonuo-vue-pub
@@ -10,7 +10,7 @@ Target Server Type : MYSQL
Target Server Version : 50710
File Encoding : 65001
-Date: 2020-12-25 20:25:05
+Date: 2021-03-01 12:24:12
*/
SET FOREIGN_KEY_CHECKS=0;
@@ -63,6 +63,53 @@ CREATE TABLE `sys_code_generate` (
-- ----------------------------
-- Records of sys_code_generate
-- ----------------------------
+INSERT INTO `sys_code_generate` VALUES ('1362310959781744641', 'yubaoshan、xuyuxiang、dongxiayu', 'CodeGenTest', 'Y', '2', 'xn_code_gen_test', 'com.cn.xiaonuo', 'codegentest', '测试', '1265476890672672808', '2021-02-18 16:00:18', null, null);
+
+-- ----------------------------
+-- Table structure for `sys_code_generate_config`
+-- ----------------------------
+DROP TABLE IF EXISTS `sys_code_generate_config`;
+CREATE TABLE `sys_code_generate_config` (
+ `id` bigint(20) NOT NULL COMMENT '主键',
+ `code_gen_id` bigint(20) DEFAULT NULL COMMENT '代码生成主表ID',
+ `column_name` varchar(255) DEFAULT NULL COMMENT '数据库字段名',
+ `java_name` varchar(255) DEFAULT NULL COMMENT 'java类字段名',
+ `data_type` varchar(255) DEFAULT NULL COMMENT '物理类型',
+ `column_comment` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT '字段描述',
+ `java_type` varchar(255) DEFAULT NULL COMMENT 'java类型',
+ `effect_type` varchar(255) DEFAULT NULL COMMENT '作用类型(字典)',
+ `dict_type_code` varchar(255) DEFAULT NULL COMMENT '字典code',
+ `whether_table` varchar(255) DEFAULT NULL COMMENT '列表展示',
+ `whether_add_update` varchar(255) DEFAULT NULL COMMENT '增改',
+ `whether_retract` varchar(255) DEFAULT NULL COMMENT '列表是否缩进(字典)',
+ `whether_required` varchar(255) DEFAULT NULL COMMENT '是否必填(字典)',
+ `query_whether` varchar(255) DEFAULT NULL COMMENT '是否是查询条件',
+ `query_type` varchar(255) DEFAULT NULL COMMENT '查询方式',
+ `column_key` varchar(255) DEFAULT NULL COMMENT '主键',
+ `column_key_name` varchar(255) DEFAULT NULL COMMENT '主外键名称',
+ `whether_common` varchar(255) DEFAULT NULL COMMENT '是否是通用字段',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `create_user` bigint(255) DEFAULT NULL COMMENT '创建人',
+ `update_time` datetime DEFAULT NULL COMMENT '修改时间',
+ `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='代码生成详细配置';
+
+-- ----------------------------
+-- Records of sys_code_generate_config
+-- ----------------------------
+INSERT INTO `sys_code_generate_config` VALUES ('1362310959903379458', '1362310959781744641', 'id', 'id', 'bigint', '主键', 'Long', 'input', null, 'N', 'N', 'N', 'N', 'N', 'eq', 'PRI', 'Id', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310959941128193', '1362310959781744641', 'name', 'name', 'varchar', '姓名', 'String', 'input', null, 'Y', 'Y', 'N', 'Y', 'Y', 'like', '', 'Name', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310959978876929', '1362310959781744641', 'age', 'age', 'int', '年龄', 'Integer', 'input', null, 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Age', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960008237058', '1362310959781744641', 'interest', 'interest', 'varchar', '兴趣', 'String', 'checkbox', 'sex', 'Y', 'Y', 'N', 'Y', 'N', 'eq', '', 'Interest', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960033402881', '1362310959781744641', 'switchTest', 'switchtest', 'varchar', '开关', 'String', 'radio', 'yes_or_no', 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Switchtest', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960062763009', '1362310959781744641', 'birthday', 'birthday', 'date', '日期', 'Date', 'datepicker', null, 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Birthday', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960096317442', '1362310959781744641', 'whether', 'whether', 'varchar', '是否已婚', 'String', 'select', 'yes_or_no', 'Y', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Whether', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960121483266', '1362310959781744641', 'explainTest', 'explaintest', 'varchar', '简介', 'String', 'textarea', null, 'N', 'Y', 'N', 'Y', 'Y', 'eq', '', 'Explain', 'N', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960150843393', '1362310959781744641', 'create_time', 'createTime', 'datetime', '创建时间', 'Date', 'datepicker', null, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'CreateTime', 'Y', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960176009218', '1362310959781744641', 'create_user', 'createUser', 'bigint', '', 'Long', 'input', null, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'CreateUser', 'Y', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960201175041', '1362310959781744641', 'update_time', 'updateTime', 'datetime', '', 'Date', 'datepicker', null, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'UpdateTime', 'Y', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
+INSERT INTO `sys_code_generate_config` VALUES ('1362310960234729473', '1362310959781744641', 'update_user', 'updateUser', 'bigint', '', 'Long', 'input', null, 'N', 'N', 'N', 'N', 'N', 'eq', '', 'UpdateUser', 'Y', '2021-02-18 16:00:18', '1265476890672672808', '2021-02-18 16:02:31', '1265476890672672808');
-- ----------------------------
-- Table structure for `sys_config`
@@ -210,6 +257,29 @@ INSERT INTO `sys_dict_data` VALUES ('1291390260160299009', '1291390159941599233'
INSERT INTO `sys_dict_data` VALUES ('1291390315437031426', '1291390159941599233', '否', 'false', '100', '否', '2', '2020-08-06 23:06:59', '1265476890672672808', null, null);
INSERT INTO `sys_dict_data` VALUES ('1342446007168466945', '1342445962104864770', '下载压缩包', '1', '100', '下载压缩包', '0', '2020-12-25 20:24:04', '1265476890672672808', null, null);
INSERT INTO `sys_dict_data` VALUES ('1342446035433881601', '1342445962104864770', '生成到本项目', '2', '100', '生成到本项目', '0', '2020-12-25 20:24:11', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358094655567454210', '1358094419419750401', '输入框', 'input', '100', '输入框', '0', '2021-02-07 00:46:13', '1265476890672672808', '2021-02-08 01:01:28', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358094740510498817', '1358094419419750401', '时间选择', 'datepicker', '100', '时间选择', '0', '2021-02-07 00:46:33', '1265476890672672808', '2021-02-08 01:04:07', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358094793149014017', '1358094419419750401', '下拉框', 'select', '100', '下拉框', '0', '2021-02-07 00:46:46', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358095496009506817', '1358094419419750401', '单选框', 'radio', '100', '单选框', '0', '2021-02-07 00:49:33', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358095673084633090', '1358094419419750401', '开关', 'switch', '100', '开关', '2', '2021-02-07 00:50:15', '1265476890672672808', '2021-02-11 19:07:18', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358458689433190402', '1358457818733428737', '等于', 'eq', '1', '等于', '0', '2021-02-08 00:52:45', '1265476890672672808', '2021-02-13 23:35:36', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358458785168179202', '1358457818733428737', '模糊', 'like', '2', '模糊', '0', '2021-02-08 00:53:08', '1265476890672672808', '2021-02-13 23:35:46', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358460475682406401', '1358094419419750401', '多选框', 'checkbox', '100', '多选框', '0', '2021-02-08 00:59:51', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358460819019743233', '1358094419419750401', '数字输入框', 'inputnumber', '100', '数字输入框', '0', '2021-02-08 01:01:13', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358470210267725826', '1358470065111252994', 'Long', 'Long', '100', 'Long', '0', '2021-02-08 01:38:32', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358470239351029762', '1358470065111252994', 'String', 'String', '100', 'String', '0', '2021-02-08 01:38:39', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358470265640927233', '1358470065111252994', 'Date', 'Date', '100', 'Date', '0', '2021-02-08 01:38:45', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358470300168437761', '1358470065111252994', 'Integer', 'Integer', '100', 'Integer', '0', '2021-02-08 01:38:53', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358470697377415169', '1358470065111252994', 'boolean', 'boolean', '100', 'boolean', '0', '2021-02-08 01:40:28', '1265476890672672808', '2021-02-08 01:40:47', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358471133434036226', '1358470065111252994', 'int', 'int', '100', 'int', '0', '2021-02-08 01:42:12', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358471188291338241', '1358470065111252994', 'double', 'double', '100', 'double', '0', '2021-02-08 01:42:25', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1358756511688761346', '1358457818733428737', '大于', 'gt', '3', '大于', '0', '2021-02-08 20:36:12', '1265476890672672808', '2021-02-13 23:45:24', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358756547159990274', '1358457818733428737', '小于', 'lt', '4', '大于', '0', '2021-02-08 20:36:20', '1265476890672672808', '2021-02-13 23:45:29', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358756609990664193', '1358457818733428737', '不等于', 'ne', '7', '不等于', '0', '2021-02-08 20:36:35', '1265476890672672808', '2021-02-13 23:45:46', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358756685030957057', '1358457818733428737', '大于等于', 'ge', '5', '大于等于', '0', '2021-02-08 20:36:53', '1265476890672672808', '2021-02-13 23:45:35', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1358756800525312001', '1358457818733428737', '小于等于', 'le', '6', '小于等于', '0', '2021-02-08 20:37:20', '1265476890672672808', '2021-02-13 23:45:40', '1265476890672672808');
+INSERT INTO `sys_dict_data` VALUES ('1360529773814083586', '1358094419419750401', '文本域', 'textarea', '100', '文本域', '0', '2021-02-13 18:02:30', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_data` VALUES ('1360606105914732545', '1358457818733428737', '不为空', 'isNotNull', '8', '不为空', '0', '2021-02-13 23:05:49', '1265476890672672808', '2021-02-13 23:45:50', '1265476890672672808');
-- ----------------------------
-- Table structure for `sys_dict_type`
@@ -250,6 +320,9 @@ INSERT INTO `sys_dict_type` VALUES ('1278911800547147777', '通知公告类型',
INSERT INTO `sys_dict_type` VALUES ('1278911952657776642', '通知公告状态', 'notice_status', '100', '通知公告状态', '0', '2020-07-03 12:42:25', '1265476890672672808', null, null);
INSERT INTO `sys_dict_type` VALUES ('1291390159941599233', '是否boolean', 'yes_true_false', '100', '是否boolean', '2', '2020-08-06 23:06:22', '1265476890672672808', null, null);
INSERT INTO `sys_dict_type` VALUES ('1342445962104864770', '代码生成方式', 'code_gen_create_type', '100', '代码生成方式', '0', '2020-12-25 20:23:53', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_type` VALUES ('1358094419419750401', '代码生成作用类型', 'code_gen_effect_type', '100', '代码生成作用类型', '0', '2021-02-07 00:45:16', '1265476890672672808', '2021-02-08 00:47:48', '1265476890672672808');
+INSERT INTO `sys_dict_type` VALUES ('1358457818733428737', '代码生成查询类型', 'code_gen_query_type', '100', '代码生成查询类型', '0', '2021-02-08 00:49:18', '1265476890672672808', null, null);
+INSERT INTO `sys_dict_type` VALUES ('1358470065111252994', '代码生成java类型', 'code_gen_java_type', '100', '代码生成java类型', '0', '2021-02-08 01:37:57', '1265476890672672808', null, null);
-- ----------------------------
-- Table structure for `sys_emp`
@@ -1028,3 +1101,23 @@ CREATE TABLE `sys_vis_log` (
-- ----------------------------
-- Records of sys_vis_log
-- ----------------------------
+
+-- ----------------------------
+-- Table structure for `xn_code_gen_test`
+-- ----------------------------
+DROP TABLE IF EXISTS `xn_code_gen_test`;
+CREATE TABLE `xn_code_gen_test` (
+ `id` bigint(20) NOT NULL COMMENT '主键',
+ `name` varchar(255) DEFAULT NULL COMMENT '姓名',
+ `age` int(11) DEFAULT NULL COMMENT '年龄',
+ `interest` varchar(255) DEFAULT NULL COMMENT '兴趣',
+ `switchTest` varchar(255) DEFAULT NULL COMMENT '开关',
+ `birthday` date DEFAULT NULL COMMENT '日期',
+ `whether` varchar(255) DEFAULT NULL COMMENT '是否已婚',
+ `explain_test` varchar(255) DEFAULT NULL COMMENT '简介',
+ `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+ `create_user` bigint(20) DEFAULT NULL,
+ `update_time` datetime DEFAULT NULL,
+ `update_user` bigint(20) DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='测试';
diff --git a/_web/src/api/modular/gen/sysCodeGenerateConfigManage.js b/_web/src/api/modular/gen/sysCodeGenerateConfigManage.js
new file mode 100644
index 00000000..e61944c3
--- /dev/null
+++ b/_web/src/api/modular/gen/sysCodeGenerateConfigManage.js
@@ -0,0 +1,29 @@
+import { axios } from '@/utils/request'
+
+/**
+ * 代码生成详细配置列表
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+export function sysCodeGenerateConfigList (parameter) {
+ return axios({
+ url: '/sysCodeGenerateConfig/list',
+ method: 'get',
+ params: parameter
+ })
+}
+
+/**
+ * 编辑代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+export function sysCodeGenerateConfigEdit (parameter) {
+ return axios({
+ url: '/sysCodeGenerateConfig/edit',
+ method: 'post',
+ data: parameter
+ })
+}
diff --git a/_web/src/components/GlobalFooter/GlobalFooter.vue b/_web/src/components/GlobalFooter/GlobalFooter.vue
index 0784f4b9..a8fe6a70 100644
--- a/_web/src/components/GlobalFooter/GlobalFooter.vue
+++ b/_web/src/components/GlobalFooter/GlobalFooter.vue
@@ -3,7 +3,7 @@
- Copyright © 2020
XiaoNuo All rights reserved. xiaonuo-vue 1.2.0
+ Copyright © 2020
XiaoNuo All rights reserved. xiaonuo-vue 1.3
diff --git a/_web/src/layouts/UserLayout.vue b/_web/src/layouts/UserLayout.vue
index 25f63181..efa15e07 100644
--- a/_web/src/layouts/UserLayout.vue
+++ b/_web/src/layouts/UserLayout.vue
@@ -22,7 +22,7 @@
条款
- Copyright © 2020
XiaoNuo All rights reserved. xiaonuo-vue 1.2.0
+ Copyright © 2020
XiaoNuo All rights reserved. xiaonuo-vue 1.3
diff --git a/_web/src/utils/filter.js b/_web/src/utils/filter.js
index 09b629f6..5f103221 100644
--- a/_web/src/utils/filter.js
+++ b/_web/src/utils/filter.js
@@ -89,3 +89,13 @@ Vue.filter('dictData', function (code) {
}
return tree
})
+
+/**
+ * 获取所有字典数组
+ *
+ * @author yubaoshan
+ * @date 2021-2-8 01:13
+ */
+Vue.filter('dictDataAll', function () {
+ return Vue.ls.get(DICT_TYPE_TREE_DATA)
+})
diff --git a/_web/src/views/gen/codeGenerate/index.vue b/_web/src/views/gen/codeGenerate/index.vue
index 3381e645..1c8dcdef 100644
--- a/_web/src/views/gen/codeGenerate/index.vue
+++ b/_web/src/views/gen/codeGenerate/index.vue
@@ -1,75 +1,95 @@
-
-
-
-
-
-
-
-
-
-
-
- 查询
- queryParam = {}">重置
-
-
-
-
-
-
-
- {{ text }}
-
-
- {{ text }}
-
-
- {{ 'yes_or_no' | dictType(text) }}
-
-
- {{ 'code_gen_create_type' | dictType(text) }}
-
-
-
- 开始生成
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ queryParam = {}">重置
+
+
+
+
+
+
+
+
+
+
+
+ {{ text }}
-
- runLocalCodeGenerate(record)">
- 开始生成
+
+ {{ text }}
+
+
+ {{ text }}
+
+
+ {{ text }}
+
+
+ {{ text }}
+
+
+ {{ 'yes_or_no' | dictType(text) }}
+
+
+ {{ 'code_gen_create_type' | dictType(text) }}
+
+
+
+ 开始生成
+
+
+ runLocalCodeGenerate(record)">
+ 开始生成
+
+
+
+ 配置
+
+ 编辑
+
+ codeGenerateDelete(record)">
+ 删除
-
- 编辑
-
- codeGenerateDelete(record)">
- 删除
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/config/Config.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/config/Config.java
index d5600756..4337e1c7 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/config/Config.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/config/Config.java
@@ -19,7 +19,7 @@ public class Config {
/**
* 存放vm模板位置
*/
- public static String templatePath = "template/";
+ public static String templatePath = "template" + FILE_SEP;
/**
* 主键标识
@@ -44,12 +44,17 @@ public class Config {
/**
* java文件夹
*/
- public static String BASE_JAVA_PAHT = "\\src\\main\\java\\";
+ public static String BASE_JAVA_PAHT = FILE_SEP + "src" + FILE_SEP + "main" + FILE_SEP + "java" + FILE_SEP;
/**
* vue文件夹
*/
- public static String BASE_VUE_PAHT = "\\_web\\src\\";
+ public static String BASE_VUE_PAHT = FILE_SEP + "_web" + FILE_SEP + "src" + FILE_SEP;
+
+ /**
+ * sql文件夹
+ */
+ public static String BASE_SQL_PAHT = FILE_SEP + "_sql" + FILE_SEP;
/**
* 代码生成路径
@@ -66,6 +71,7 @@ public class Config {
public static String vueIndexPath;
public static String vueAddFromPath;
public static String vueEditFromPath;
+ public static String sqlPath;
/**
* 各个代码存放路径文件夹
@@ -84,8 +90,9 @@ public class Config {
vueIndexPath = BASE_VUE_PAHT + FILE_SEP + "views" + FILE_SEP + "main" + FILE_SEP + busName + FILE_SEP;
vueAddFromPath = BASE_VUE_PAHT + FILE_SEP + "views" + FILE_SEP + "main" + FILE_SEP + busName + FILE_SEP;
vueEditFromPath = BASE_VUE_PAHT + FILE_SEP + "views" + FILE_SEP + "main" + FILE_SEP + busName + FILE_SEP;
+ sqlPath = BASE_SQL_PAHT;
return new String[] {
- controllerPath, entityPath, enumsPath, mapperPath, mappingPath, paramPath, servicePath, serviceImplPath, manageJsPath, vueIndexPath, vueAddFromPath, vueEditFromPath
+ controllerPath, entityPath, enumsPath, mapperPath, mappingPath, paramPath, servicePath, serviceImplPath, manageJsPath, vueIndexPath, vueAddFromPath, vueEditFromPath, sqlPath
};
}
@@ -105,6 +112,7 @@ public class Config {
"index.vue.vm",
"addForm.vue.vm",
"editForm.vue.vm",
+ "XnMysql.sql.vm",
};
/**
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/context/XnVelocityContext.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/context/XnVelocityContext.java
index 377a8a14..afa52ea3 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/context/XnVelocityContext.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/context/XnVelocityContext.java
@@ -1,8 +1,16 @@
package com.cn.xiaonuo.generate.core.context;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.cn.xiaonuo.core.enums.YesOrNotEnum;
import com.cn.xiaonuo.generate.core.param.XnCodeGenParam;
+import com.cn.xiaonuo.generate.modular.entity.SysCodeGenerateConfig;
+import com.cn.xiaonuo.sys.config.MybatisConfig;
import org.apache.velocity.VelocityContext;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
/**
* 设置上下文缓存
*
@@ -45,7 +53,23 @@ public class XnVelocityContext {
// 数据库表名
velocityContext.put("tableName", xnCodeGenParam.getTableName());
// 数据库字段
- velocityContext.put("tableField", xnCodeGenParam.getTableField());
+ velocityContext.put("tableField", xnCodeGenParam.getConfigList());
+
+ // 前端查询所有
+ List codeGenerateConfigList = new ArrayList<>();
+ xnCodeGenParam.getConfigList().forEach(item -> {
+ if (item.getQueryWhether().equals(YesOrNotEnum.Y.getCode())) {
+ codeGenerateConfigList.add(item);
+ }
+ });
+ velocityContext.put("queryWhetherList", codeGenerateConfigList);
+
+ // sql中id的创建
+ List idList = new ArrayList<>();
+ for (int a = 0; a <= 6; a++) {
+ idList.add(Math.abs(UUID.randomUUID().getLeastSignificantBits()));
+ }
+ velocityContext.put("sqlMenuId", idList);
return velocityContext;
}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/enums/QueryTypeEnum.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/enums/QueryTypeEnum.java
new file mode 100644
index 00000000..ad406e4c
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/enums/QueryTypeEnum.java
@@ -0,0 +1,56 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuo/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuo/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.core.enums;
+
+import lombok.Getter;
+
+/**
+ * 查询类型的枚举
+ *
+ * @author yubaoshan
+ * @date 2021/2/8 20:31
+ */
+@Getter
+public enum QueryTypeEnum {
+
+ eq("eq", "等于"),
+ like("like", "模糊"),
+ gt("gt", "大于"),
+ lt("lt", "小于"),
+ ne("ne", "不等于"),
+ ge("ge", "大于等于"),
+ le("le", "小于等于"),
+ isNotNull("isNotNull", "不为空");
+
+ private final String code;
+
+ private final String message;
+
+ QueryTypeEnum(String code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/param/XnCodeGenParam.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/param/XnCodeGenParam.java
index 789e0d7a..4c9d3d68 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/param/XnCodeGenParam.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/param/XnCodeGenParam.java
@@ -25,8 +25,9 @@ XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注
package com.cn.xiaonuo.generate.core.param;
import com.cn.xiaonuo.generate.core.config.Config;
+import com.cn.xiaonuo.generate.modular.entity.SysCodeGenerateConfig;
+import com.cn.xiaonuo.generate.modular.param.SysCodeGenerateConfigParam;
import lombok.Data;
-
import java.util.List;
@Data
@@ -80,7 +81,7 @@ public class XnCodeGenParam {
/**
* 数据库表中字段集合
*/
- private List tableField;
+ private List configList;
/**
* 模块名
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaEffTool.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaEffTool.java
new file mode 100644
index 00000000..b13681f8
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaEffTool.java
@@ -0,0 +1,30 @@
+package com.cn.xiaonuo.generate.core.tool;
+
+/**
+ * java与effect工具类
+ *
+ * @author yubaoshan
+ * @date 2021-2-8 02:30
+ */
+public class JavaEffTool {
+
+ /**
+ * java转显示类型
+ *
+ * @author yubaoshan
+ * @date 2021-2-8 02:30
+ */
+ public static String javaToEff (String javaType) {
+ if( javaType == null || javaType.trim().length() == 0 ) return javaType;
+ switch(javaType){
+ case "String":return "input";
+ case "Integer":return "input";
+ case "Long":return "input";
+ case "Date":return "datepicker";
+ default:
+ System.out.println(">>> 转化失败:未发现的类型" + javaType);
+ break;
+ }
+ return javaType;
+ }
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaSqlTool.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaSqlTool.java
index 14ae71c0..01e6d340 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaSqlTool.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/core/tool/JavaSqlTool.java
@@ -47,7 +47,7 @@ public class JavaSqlTool {
case "smallmoney":return "Double";
case "image":return "byte[]";
default:
- System.out.println("-----------------》转化失败:未发现的类型" + sqlType);
+ System.out.println(">>> 转化失败:未发现的类型" + sqlType);
break;
}
return sqlType;
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/CodeGenerateController.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/CodeGenerateController.java
index 9a4e0a4a..2a28ba85 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/CodeGenerateController.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/CodeGenerateController.java
@@ -26,19 +26,13 @@ package com.cn.xiaonuo.generate.modular.controller;
import com.cn.xiaonuo.core.annotion.BusinessLog;
import com.cn.xiaonuo.core.annotion.Permission;
-import com.cn.xiaonuo.core.context.constant.ConstantContextHolder;
import com.cn.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
-import com.cn.xiaonuo.core.exception.DemoException;
import com.cn.xiaonuo.core.pojo.response.ResponseData;
import com.cn.xiaonuo.core.pojo.response.SuccessResponseData;
import com.cn.xiaonuo.generate.modular.param.CodeGenerateParam;
import com.cn.xiaonuo.generate.modular.service.CodeGenerateService;
import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-
+import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@@ -133,10 +127,6 @@ public class CodeGenerateController {
@PostMapping("/codeGenerate/runLocal")
@BusinessLog(title = "代码生成_本地项目", opType = LogAnnotionOpTypeEnum.OTHER)
public ResponseData runLocal(@RequestBody @Validated(CodeGenerateParam.detail.class) CodeGenerateParam codeGenerateParam) {
- // 演示环境开启,则不允许操作
- if (ConstantContextHolder.getDemoEnvFlag()) {
- throw new DemoException();
- }
this.codeGenerateService.runLocal(codeGenerateParam);
return new SuccessResponseData();
}
@@ -151,10 +141,6 @@ public class CodeGenerateController {
@GetMapping("/codeGenerate/runDown")
@BusinessLog(title = "代码生成_下载方式", opType = LogAnnotionOpTypeEnum.OTHER)
public void runDown(@Validated(CodeGenerateParam.detail.class) CodeGenerateParam codeGenerateParam, HttpServletResponse response) {
- // 演示环境开启,则不允许操作
- if (ConstantContextHolder.getDemoEnvFlag()) {
- throw new DemoException();
- }
this.codeGenerateService.runDown(codeGenerateParam, response);
}
}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/SysCodeGenerateConfigController.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/SysCodeGenerateConfigController.java
new file mode 100644
index 00000000..a7bbfdb6
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/controller/SysCodeGenerateConfigController.java
@@ -0,0 +1,93 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.controller;
+
+import com.cn.xiaonuo.core.annotion.BusinessLog;
+import com.cn.xiaonuo.core.annotion.Permission;
+import com.cn.xiaonuo.core.enums.LogAnnotionOpTypeEnum;
+import com.cn.xiaonuo.core.pojo.response.ResponseData;
+import com.cn.xiaonuo.core.pojo.response.SuccessResponseData;
+import com.cn.xiaonuo.generate.modular.param.SysCodeGenerateConfigParam;
+import com.cn.xiaonuo.generate.modular.service.SysCodeGenerateConfigService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+
+/**
+ * 代码生成详细配置控制器
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+@RestController
+public class SysCodeGenerateConfigController {
+
+ @Resource
+ private SysCodeGenerateConfigService sysCodeGenerateConfigService;
+
+ /**
+ * 编辑代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ @Permission
+ @PostMapping("/sysCodeGenerateConfig/edit")
+ @BusinessLog(title = "代码生成详细配置_编辑", opType = LogAnnotionOpTypeEnum.EDIT)
+ public ResponseData edit(@RequestBody @Validated(SysCodeGenerateConfigParam.edit.class) SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ sysCodeGenerateConfigService.edit(sysCodeGenerateConfigParam.getSysCodeGenerateConfigParamList());
+ return new SuccessResponseData();
+ }
+
+ /**
+ * 查看代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ @Permission
+ @GetMapping("/sysCodeGenerateConfig/detail")
+ @BusinessLog(title = "代码生成详细配置_查看", opType = LogAnnotionOpTypeEnum.DETAIL)
+ public ResponseData detail(@Validated(SysCodeGenerateConfigParam.detail.class) SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ return new SuccessResponseData(sysCodeGenerateConfigService.detail(sysCodeGenerateConfigParam));
+ }
+
+ /**
+ * 代码生成详细配置列表
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ @Permission
+ @GetMapping("/sysCodeGenerateConfig/list")
+ @BusinessLog(title = "代码生成详细配置_列表", opType = LogAnnotionOpTypeEnum.QUERY)
+ public ResponseData list(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ return new SuccessResponseData(sysCodeGenerateConfigService.list(sysCodeGenerateConfigParam));
+ }
+
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/entity/SysCodeGenerateConfig.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/entity/SysCodeGenerateConfig.java
new file mode 100644
index 00000000..76343afa
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/entity/SysCodeGenerateConfig.java
@@ -0,0 +1,136 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.cn.xiaonuo.core.pojo.base.entity.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+@TableName("sys_code_generate_config")
+public class SysCodeGenerateConfig extends BaseEntity {
+
+ /**
+ * 主键
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+
+ /**
+ * 代码生成主表ID
+ */
+ private Long codeGenId;
+
+ /**
+ * 数据库字段名
+ */
+ private String columnName;
+
+ /**
+ * java类字段名
+ */
+ private String javaName;
+
+ /**
+ * 字段描述
+ */
+ private String columnComment;
+
+ /**
+ * java类型
+ */
+ private String javaType;
+
+ /**
+ * 作用类型(字典)
+ */
+ private String effectType;
+
+ /**
+ * 字典code
+ */
+ private String dictTypeCode;
+
+ /**
+ * 列表是否缩进(字典)
+ */
+ private String whetherRetract;
+
+ /**
+ * 是否必填(字典)
+ */
+ private String whetherRequired;
+
+ /**
+ * 是否是查询条件
+ */
+ private String queryWhether;
+
+ /**
+ * 查询方式
+ */
+ private String queryType;
+
+ /**
+ * 列表显示
+ */
+ private String whetherTable;
+
+ /**
+ * 增改
+ */
+ private String whetherAddUpdate;
+
+ /**
+ * 主外键
+ */
+ public String columnKey;
+
+ /**
+ * 首字母大写名称(用于代码生成get set方法)
+ */
+ public String columnKeyName;
+
+ /**
+ * 数据库中类型(物理类型)
+ */
+ public String dataType;
+
+ /**
+ * 是否是通用字段
+ */
+ public String whetherCommon;
+
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/enums/SysCodeGenerateConfigExceptionEnum.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/enums/SysCodeGenerateConfigExceptionEnum.java
new file mode 100644
index 00000000..aa2a40dc
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/enums/SysCodeGenerateConfigExceptionEnum.java
@@ -0,0 +1,64 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.enums;
+
+import com.cn.xiaonuo.core.annotion.ExpEnumType;
+import com.cn.xiaonuo.core.exception.enums.abs.AbstractBaseExceptionEnum;
+import com.cn.xiaonuo.core.factory.ExpEnumCodeFactory;
+import com.cn.xiaonuo.sys.core.consts.SysExpEnumConstant;
+
+/**
+ * 代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+@ExpEnumType(module = SysExpEnumConstant.XIAONUO_SYS_MODULE_EXP_CODE, kind = SysExpEnumConstant.SYS_POS_EXCEPTION_ENUM)
+public enum SysCodeGenerateConfigExceptionEnum implements AbstractBaseExceptionEnum {
+
+ /**
+ * 数据不存在
+ */
+ NOT_EXIST(1, "此数据不存在");
+
+ private final Integer code;
+
+ private final String message;
+ SysCodeGenerateConfigExceptionEnum(Integer code, String message) {
+ this.code = code;
+ this.message = message;
+ }
+
+ @Override
+ public Integer getCode() {
+ return ExpEnumCodeFactory.getExpEnumCode(this.getClass(), code);
+ }
+
+ @Override
+ public String getMessage() {
+ return message;
+ }
+
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/CodeGenerateMapper.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/CodeGenerateMapper.java
index ed818824..0745fc23 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/CodeGenerateMapper.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/CodeGenerateMapper.java
@@ -24,12 +24,11 @@ XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注
*/
package com.cn.xiaonuo.generate.modular.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cn.xiaonuo.generate.modular.entity.CodeGenerate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cn.xiaonuo.generate.modular.result.InforMationColumnsResult;
import com.cn.xiaonuo.generate.modular.result.InformationResult;
import org.apache.ibatis.annotations.Param;
-
import java.util.List;
/**
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/SysCodeGenerateConfigMapper.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/SysCodeGenerateConfigMapper.java
new file mode 100644
index 00000000..7cff1b91
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/SysCodeGenerateConfigMapper.java
@@ -0,0 +1,37 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.cn.xiaonuo.generate.modular.entity.SysCodeGenerateConfig;
+
+/**
+ * 代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+public interface SysCodeGenerateConfigMapper extends BaseMapper {
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/mapping/SysCodeGenerateConfigMapper.xml b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/mapping/SysCodeGenerateConfigMapper.xml
new file mode 100644
index 00000000..9c6e96b2
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/mapper/mapping/SysCodeGenerateConfigMapper.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/CodeGenerateParam.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/CodeGenerateParam.java
index 6630c855..6c214007 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/CodeGenerateParam.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/CodeGenerateParam.java
@@ -28,7 +28,6 @@ import com.cn.xiaonuo.core.pojo.base.param.BaseParam;
import com.cn.xiaonuo.core.validation.flag.FlagValue;
import lombok.Data;
import lombok.EqualsAndHashCode;
-
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/SysCodeGenerateConfigParam.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/SysCodeGenerateConfigParam.java
new file mode 100644
index 00000000..0035b7a3
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/param/SysCodeGenerateConfigParam.java
@@ -0,0 +1,138 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.param;
+
+import com.cn.xiaonuo.core.pojo.base.param.BaseParam;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+* 代码生成详细配置参数类
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+*/
+@Data
+public class SysCodeGenerateConfigParam extends BaseParam {
+
+ /**
+ * 主键
+ */
+ private Long id;
+
+ /**
+ * 代码生成主表ID
+ */
+ private Long codeGenId;
+
+ /**
+ * 数据库字段名
+ */
+ private String columnName;
+
+ /**
+ * java类字段名
+ */
+ private String javaName;
+
+ /**
+ * 字段描述
+ */
+ private String columnComment;
+
+ /**
+ * java类型
+ */
+ private String javaType;
+
+ /**
+ * 作用类型(字典)
+ */
+ private String effectType;
+
+ /**
+ * 字典code
+ */
+ private String dictTypeCode;
+
+ /**
+ * 列表是否缩进(字典)
+ */
+ private String whetherRetract;
+
+ /**
+ * 是否必填(字典)
+ */
+ private String whetherRequired;
+
+ /**
+ * 是否是查询条件
+ */
+ private String queryWhether;
+
+ /**
+ * 查询方式
+ */
+ private String queryType;
+
+ /**
+ * 列表展示
+ */
+ private String whetherTable;
+
+ /**
+ * 增改
+ */
+ private String whetherAddUpdate;
+
+ /**
+ * 主外键
+ */
+ public String columnKey;
+
+ /**
+ * 主外键名称
+ */
+ public String columnKeyName;
+
+ /**
+ * 数据库中类型(物理类型)
+ */
+ public String dataType;
+
+ /**
+ * 是否是通用字段
+ */
+ public String whetherCommon;
+
+ /**
+ * 代码生成配置列表
+ */
+ @NotEmpty(message = "代码生成配置列表,请检查sysCodeGenerateConfigParamList参数", groups = {edit.class})
+ private List sysCodeGenerateConfigParamList;
+
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/CodeGenerateService.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/CodeGenerateService.java
index 70dea98c..365d7fda 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/CodeGenerateService.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/CodeGenerateService.java
@@ -29,7 +29,6 @@ import com.cn.xiaonuo.core.pojo.page.PageResult;
import com.cn.xiaonuo.generate.modular.entity.CodeGenerate;
import com.cn.xiaonuo.generate.modular.param.CodeGenerateParam;
import com.cn.xiaonuo.generate.modular.result.InformationResult;
-
import javax.servlet.http.HttpServletResponse;
import java.util.List;
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/SysCodeGenerateConfigService.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/SysCodeGenerateConfigService.java
new file mode 100644
index 00000000..d34d2162
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/SysCodeGenerateConfigService.java
@@ -0,0 +1,91 @@
+/*
+Copyright [2020] [https://www.xiaonuo.vip]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+XiaoNuo采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+
+1.请不要删除和修改根目录下的LICENSE文件。
+2.请不要删除和修改XiaoNuo源码头部的版权声明。
+3.请保留源码和相关描述文件的项目出处,作者声明等。
+4.分发源码时候,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/xiaonuobase/xiaonuo-vue
+6.若您的项目无法满足以上几点,可申请商业授权,获取XiaoNuo商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package com.cn.xiaonuo.generate.modular.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cn.xiaonuo.core.pojo.page.PageResult;
+import com.cn.xiaonuo.generate.modular.entity.CodeGenerate;
+import com.cn.xiaonuo.generate.modular.entity.SysCodeGenerateConfig;
+import com.cn.xiaonuo.generate.modular.param.SysCodeGenerateConfigParam;
+import com.cn.xiaonuo.generate.modular.result.InforMationColumnsResult;
+
+import java.util.List;
+
+/**
+ * 代码生成详细配置service接口
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+public interface SysCodeGenerateConfigService extends IService {
+
+ /**
+ * 代码生成详细配置列表
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ List list(SysCodeGenerateConfigParam sysCodeGenerateConfigParam);
+
+ /**
+ * 添加代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ void add(SysCodeGenerateConfigParam sysCodeGenerateConfigParam);
+
+ /**
+ * 添加代码生成详细配置列表
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ void addList(List inforMationColumnsResultList, CodeGenerate codeGenerate);
+
+ /**
+ * 删除代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ void delete(SysCodeGenerateConfigParam sysCodeGenerateConfigParam);
+
+ /**
+ * 编辑代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ void edit(List sysCodeGenerateConfigParamList);
+
+ /**
+ * 查看代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ SysCodeGenerateConfig detail(SysCodeGenerateConfigParam sysCodeGenerateConfigParam);
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/impl/CodeGenerateServiceImpl.java b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/impl/CodeGenerateServiceImpl.java
index f70d150e..986c1d0c 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/impl/CodeGenerateServiceImpl.java
+++ b/xiaonuo-base/xiaonuo-gen/src/main/java/com/cn/xiaonuo/generate/modular/service/impl/CodeGenerateServiceImpl.java
@@ -30,25 +30,31 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cn.xiaonuo.core.consts.CommonConstant;
import com.cn.xiaonuo.core.context.constant.ConstantContext;
+import com.cn.xiaonuo.core.enums.YesOrNotEnum;
import com.cn.xiaonuo.core.exception.ServiceException;
import com.cn.xiaonuo.core.factory.PageFactory;
import com.cn.xiaonuo.core.pojo.page.PageResult;
-import com.cn.xiaonuo.generate.core.config.Config;
import com.cn.xiaonuo.generate.core.context.XnVelocityContext;
-import com.cn.xiaonuo.generate.core.enums.TableFilteredFieldsEnum;
import com.cn.xiaonuo.generate.core.param.TableField;
import com.cn.xiaonuo.generate.core.param.XnCodeGenParam;
import com.cn.xiaonuo.generate.core.tool.JavaSqlTool;
import com.cn.xiaonuo.generate.core.tool.NamingConTool;
import com.cn.xiaonuo.generate.core.tool.StringDateTool;
+import com.cn.xiaonuo.generate.core.config.Config;
+import com.cn.xiaonuo.generate.core.enums.TableFilteredFieldsEnum;
import com.cn.xiaonuo.generate.core.util.Util;
import com.cn.xiaonuo.generate.modular.entity.CodeGenerate;
+import com.cn.xiaonuo.generate.modular.entity.SysCodeGenerateConfig;
import com.cn.xiaonuo.generate.modular.enums.CodeGenerateExceptionEnum;
import com.cn.xiaonuo.generate.modular.mapper.CodeGenerateMapper;
import com.cn.xiaonuo.generate.modular.param.CodeGenerateParam;
+import com.cn.xiaonuo.generate.modular.param.SysCodeGenerateConfigParam;
import com.cn.xiaonuo.generate.modular.result.InforMationColumnsResult;
import com.cn.xiaonuo.generate.modular.result.InformationResult;
import com.cn.xiaonuo.generate.modular.service.CodeGenerateService;
+import com.cn.xiaonuo.generate.modular.service.SysCodeGenerateConfigService;
+import com.cn.xiaonuo.sys.modular.menu.entity.SysMenu;
+import com.cn.xiaonuo.sys.modular.menu.mapper.SysMenuMapper;
import org.apache.commons.io.IOUtils;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
@@ -56,6 +62,7 @@ import org.apache.velocity.app.Velocity;
import org.apache.velocity.app.VelocityEngine;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.ArrayList;
@@ -91,9 +98,12 @@ public class CodeGenerateServiceImpl extends ServiceImpl page(CodeGenerateParam codeGenerateParam) {
@@ -115,12 +125,19 @@ public class CodeGenerateServiceImpl extends ServiceImpl codeGenerateParamList) {
codeGenerateParamList.forEach(codeGenerateParam -> {
this.removeById(codeGenerateParam.getId());
+ SysCodeGenerateConfigParam sysCodeGenerateConfigParam = new SysCodeGenerateConfigParam();
+ sysCodeGenerateConfigParam.setCodeGenId(codeGenerateParam.getId());
+ this.sysCodeGenerateConfigService.delete(sysCodeGenerateConfigParam);
});
}
@@ -210,45 +227,28 @@ public class CodeGenerateServiceImpl extends ServiceImpl getInforMationColumnsResultList (CodeGenerateParam codeGenerateParam) {
CodeGenerate codeGenerate = this.queryCodeGenerate(codeGenerateParam);
String databaseUrl = ConstantContext.me().getStr(CommonConstant.DATABASE_URL_NAME);
String dbName = databaseUrl.substring(Util.getIndex(databaseUrl, 3, "/") + 1, databaseUrl.indexOf("?"));
- List inforMationColumnsResultList = this.baseMapper.selectInformationColumns(dbName, codeGenerate.getTableName());
+ return this.baseMapper.selectInformationColumns(dbName, codeGenerate.getTableName());
+ }
+ private XnCodeGenParam copyParams (CodeGenerateParam codeGenerateParam) {
+ CodeGenerate codeGenerate = this.queryCodeGenerate(codeGenerateParam);
+ SysCodeGenerateConfigParam sysCodeGenerateConfigParam = new SysCodeGenerateConfigParam();
+ sysCodeGenerateConfigParam.setCodeGenId(codeGenerateParam.getId());
+ List configList = this.sysCodeGenerateConfigService.list(sysCodeGenerateConfigParam);
XnCodeGenParam param = new XnCodeGenParam();
- List tableFieldList = new ArrayList();
- inforMationColumnsResultList.forEach(item -> {
- TableField tableField = new TableField();
- BeanUtil.copyProperties(item, tableField);
- if (tableField.getColumnKey().equals(Config.DB_TABLE_COM_KRY)) {
- tableField.setPrimaryKeyFlag(true);
- }
-
- // 加入后端查询参数get set参数
- String columnName = NamingConTool.UnderlineToHump(item.getColumnName(),"");
- tableField.setColumnKeyName(columnName.substring(0,1).toUpperCase() + columnName.substring(1,columnName.length()));
-
- // 字段类型转换Java类型
- tableField.setJavaType(JavaSqlTool.sqlToJava(item.getDataType()));
-
- // 字段名称转换
- tableField.setColumnName(NamingConTool.UnderlineToHump(item.getColumnName(), codeGenerate.getTablePrefix()));
-
- // 过滤掉通用字段
- if (!TableFilteredFieldsEnum.contains(item.getColumnName())) {
- tableFieldList.add(tableField);
- }
- });
BeanUtil.copyProperties(codeGenerate, param);
// 功能名
param.setFunctionName(codeGenerate.getTableComment());
- param.setTableField(tableFieldList);
+ param.setConfigList(configList);
param.setCreateTimeString(StringDateTool.getStringDate());
return param;
}
@@ -274,9 +274,10 @@ public class CodeGenerateServiceImpl extends ServiceImpl implements SysCodeGenerateConfigService {
+
+ @Override
+ public List list(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ if (ObjectUtil.isNotNull(sysCodeGenerateConfigParam)) {
+
+ // 根据代码生成主表ID 模糊查询
+ if (ObjectUtil.isNotEmpty(sysCodeGenerateConfigParam.getCodeGenId())) {
+ queryWrapper.eq(SysCodeGenerateConfig::getCodeGenId, sysCodeGenerateConfigParam.getCodeGenId());
+ }
+ }
+ return this.list(queryWrapper);
+ }
+
+ @Override
+ public void add(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ SysCodeGenerateConfig sysCodeGenerateConfig = new SysCodeGenerateConfig();
+ BeanUtil.copyProperties(sysCodeGenerateConfigParam, sysCodeGenerateConfig);
+ this.save(sysCodeGenerateConfig);
+ }
+
+ @Override
+ public void addList(List inforMationColumnsResultList, CodeGenerate codeGenerate) {
+ for (InforMationColumnsResult inforMationColumnsResult : inforMationColumnsResultList) {
+ SysCodeGenerateConfig sysCodeGenerateConfig = new SysCodeGenerateConfig();
+
+ String YesOrNo = YesOrNotEnum.Y.getCode();
+ if (inforMationColumnsResult.getColumnKey().equals(Config.DB_TABLE_COM_KRY) ||
+ TableFilteredFieldsEnum.contains(inforMationColumnsResult.getColumnName())) {
+ YesOrNo = YesOrNotEnum.N.getCode();
+ }
+ if (TableFilteredFieldsEnum.contains(inforMationColumnsResult.getColumnName())) {
+ sysCodeGenerateConfig.setWhetherCommon(YesOrNotEnum.Y.getCode());
+ } else {
+ sysCodeGenerateConfig.setWhetherCommon(YesOrNotEnum.N.getCode());
+ }
+
+ sysCodeGenerateConfig.setCodeGenId(codeGenerate.getId());
+ sysCodeGenerateConfig.setColumnName(inforMationColumnsResult.getColumnName());
+ sysCodeGenerateConfig.setColumnComment(inforMationColumnsResult.getColumnComment());
+ sysCodeGenerateConfig.setJavaName(NamingConTool.UnderlineToHump(inforMationColumnsResult.getColumnName(), codeGenerate.getTablePrefix()));
+ sysCodeGenerateConfig.setJavaType(JavaSqlTool.sqlToJava(inforMationColumnsResult.getDataType()));
+ sysCodeGenerateConfig.setWhetherRetract(YesOrNotEnum.N.getCode());
+
+ sysCodeGenerateConfig.setWhetherRequired(YesOrNo);
+ sysCodeGenerateConfig.setQueryWhether(YesOrNo);
+ sysCodeGenerateConfig.setWhetherAddUpdate(YesOrNo);
+ sysCodeGenerateConfig.setWhetherTable(YesOrNo);
+
+ sysCodeGenerateConfig.setColumnKey(inforMationColumnsResult.getColumnKey());
+
+ // 设置get set方法使用的名称
+ String columnName = NamingConTool.UnderlineToHump(sysCodeGenerateConfig.getColumnName(),"");
+ sysCodeGenerateConfig.setColumnKeyName(columnName.substring(0,1).toUpperCase() + columnName.substring(1,columnName.length()));
+
+ sysCodeGenerateConfig.setDataType(inforMationColumnsResult.getDataType());
+ sysCodeGenerateConfig.setEffectType(JavaEffTool.javaToEff(sysCodeGenerateConfig.getJavaType()));
+ sysCodeGenerateConfig.setQueryType(QueryTypeEnum.eq.getCode());
+
+ this.save(sysCodeGenerateConfig);
+ }
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void delete(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(SysCodeGenerateConfig::getCodeGenId, sysCodeGenerateConfigParam.getCodeGenId());
+ this.remove(queryWrapper);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void edit(List sysCodeGenerateConfigParamList) {
+ for (SysCodeGenerateConfigParam sysCodeGenerateConfigParam : sysCodeGenerateConfigParamList) {
+ SysCodeGenerateConfig sysCodeGenerateConfig = this.querySysCodeGenerateConfig(sysCodeGenerateConfigParam);
+ BeanUtil.copyProperties(sysCodeGenerateConfigParam, sysCodeGenerateConfig);
+ this.updateById(sysCodeGenerateConfig);
+ }
+ }
+
+ @Override
+ public SysCodeGenerateConfig detail(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ return this.querySysCodeGenerateConfig(sysCodeGenerateConfigParam);
+ }
+
+ /**
+ * 获取代码生成详细配置
+ *
+ * @author yubaoshan
+ * @date 2021-02-06 20:19:49
+ */
+ private SysCodeGenerateConfig querySysCodeGenerateConfig(SysCodeGenerateConfigParam sysCodeGenerateConfigParam) {
+ SysCodeGenerateConfig sysCodeGenerateConfig = this.getById(sysCodeGenerateConfigParam.getId());
+ if (ObjectUtil.isNull(sysCodeGenerateConfig)) {
+ throw new ServiceException(SysCodeGenerateConfigExceptionEnum.NOT_EXIST);
+ }
+ return sysCodeGenerateConfig;
+ }
+}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Controller.java.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Controller.java.vm
index 9c6d3cdd..ca0fe50c 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Controller.java.vm
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Controller.java.vm
@@ -73,7 +73,7 @@ public class ${ClassName}Controller {
@PostMapping("/${className}/add")
@BusinessLog(title = "${functionName}_增加", opType = LogAnnotionOpTypeEnum.ADD)
public ResponseData add(@RequestBody @Validated(${ClassName}Param.add.class) ${ClassName}Param ${className}Param) {
- ${className}Service.add(${className}Param);
+ ${className}Service.add(${className}Param);
return new SuccessResponseData();
}
@@ -87,7 +87,7 @@ public class ${ClassName}Controller {
@PostMapping("/${className}/delete")
@BusinessLog(title = "${functionName}_删除", opType = LogAnnotionOpTypeEnum.DELETE)
public ResponseData delete(@RequestBody @Validated(${ClassName}Param.delete.class) ${ClassName}Param ${className}Param) {
- ${className}Service.delete(${className}Param);
+ ${className}Service.delete(${className}Param);
return new SuccessResponseData();
}
@@ -101,7 +101,7 @@ public class ${ClassName}Controller {
@PostMapping("/${className}/edit")
@BusinessLog(title = "${functionName}_编辑", opType = LogAnnotionOpTypeEnum.EDIT)
public ResponseData edit(@RequestBody @Validated(${ClassName}Param.edit.class) ${ClassName}Param ${className}Param) {
- ${className}Service.edit(${className}Param);
+ ${className}Service.edit(${className}Param);
return new SuccessResponseData();
}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Param.java.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Param.java.vm
index c1db0a14..1dad2a14 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Param.java.vm
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/Param.java.vm
@@ -26,6 +26,8 @@ package ${packageName}.${modularName}.${busName}.param;
import com.cn.xiaonuo.core.pojo.base.param.BaseParam;
import lombok.Data;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.NotBlank;
import java.util.*;
#foreach ($column in $tableField)
#if (${column.javaType} == 'BigDecimal')
@@ -42,11 +44,31 @@ import java.math.BigDecimal;
@Data
public class ${ClassName}Param extends BaseParam {
#foreach ($column in $tableField)
+#if (${column.columnKey} == "PRI")
/**
* ${column.columnComment}
*/
- private ${column.javaType} ${column.columnName};
+ @NotNull(message = "${column.columnComment}不能为空,请检查${column.javaName}参数", groups = {edit.class, delete.class, detail.class})
+ private ${column.javaType} ${column.javaName};
+#elseif (${column.whetherCommon} == 'N')
+ /**
+ * ${column.columnComment}
+ */
+#if (${column.whetherRequired} == "Y")
+#if (${column.javaType} == "String")
+ @NotBlank(message = "${column.columnComment}不能为空,请检查${column.javaName}参数", groups = {add.class, edit.class})
+#else
+ @NotNull(message = "${column.columnComment}不能为空,请检查${column.javaName}参数", groups = {add.class, edit.class})
#end
+#end
+#if(${column.javaType} == "Date")
+ private String ${column.javaName};
+#else
+ private ${column.javaType} ${column.javaName};
+#end
+#end
+#end
+
}
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/ServiceImpl.java.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/ServiceImpl.java.vm
index 9abd49b7..5c1182f3 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/ServiceImpl.java.vm
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/ServiceImpl.java.vm
@@ -60,18 +60,11 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
if (ObjectUtil.isNotNull(${className}Param)) {
#foreach ($column in $tableField)
-#if (${column.primaryKeyFlag})
+#if (${column.queryWhether} == "Y")
// 根据${column.columnComment} 查询
if (ObjectUtil.isNotEmpty(${className}Param.get${column.columnKeyName}())) {
- queryWrapper.lambda().eq(${ClassName}::get${column.columnKeyName}, ${className}Param.get${column.columnKeyName}());
+ queryWrapper.lambda().${column.queryType}(${ClassName}::get${column.columnKeyName}, ${className}Param.get${column.columnKeyName}());
}
-
-#else
- // 根据${column.columnComment} 模糊查询
- if (ObjectUtil.isNotEmpty(${className}Param.get${column.columnKeyName}())) {
- queryWrapper.lambda().like(${ClassName}::get${column.columnKeyName}, ${className}Param.get${column.columnKeyName}());
- }
-
#end
#end
}
@@ -80,26 +73,7 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
@Override
public List<${ClassName}> list(${ClassName}Param ${className}Param) {
- LambdaQueryWrapper<${ClassName}> queryWrapper = new LambdaQueryWrapper<>();
- if (ObjectUtil.isNotNull(${className}Param)) {
-
-#foreach ($column in $tableField)
-#if (${column.primaryKeyFlag})
- // 根据${column.columnComment} 查询
- if (ObjectUtil.isNotEmpty(${className}Param.get${column.columnKeyName}())) {
- queryWrapper.eq(${ClassName}::get${column.columnKeyName}, ${className}Param.get${column.columnKeyName}());
- }
-
-#else
- // 根据${column.columnComment} 模糊查询
- if (ObjectUtil.isNotEmpty(${className}Param.get${column.columnKeyName}())) {
- queryWrapper.like(${ClassName}::get${column.columnKeyName}, ${className}Param.get${column.columnKeyName}());
- }
-
-#end
-#end
- }
- return this.list(queryWrapper);
+ return this.list();
}
@Override
@@ -113,9 +87,9 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
@Override
public void delete(${ClassName}Param ${className}Param) {
#foreach ($column in $tableField)
- #if (${column.primaryKeyFlag})
+#if (${column.columnKey} == "PRI")
this.removeById(${className}Param.get${column.columnKeyName}());
- #end
+#end
#end
}
@@ -140,9 +114,9 @@ public class ${ClassName}ServiceImpl extends ServiceImpl<${ClassName}Mapper, ${C
*/
private ${ClassName} query${ClassName}(${ClassName}Param ${className}Param) {
#foreach ($column in $tableField)
- #if (${column.primaryKeyFlag})
+#if (${column.columnKey} == "PRI")
${ClassName} ${className} = this.getById(${className}Param.get${column.columnKeyName}());
- #end
+#end
#end
if (ObjectUtil.isNull(${className})) {
throw new ServiceException(${ClassName}ExceptionEnum.NOT_EXIST);
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/XnMysql.sql.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/XnMysql.sql.vm
new file mode 100644
index 00000000..5e7d3580
--- /dev/null
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/XnMysql.sql.vm
@@ -0,0 +1,34 @@
+-- ----------------------------
+-- Records of sys_menu
+-- ----------------------------
+#foreach ($id in $sqlMenuId)
+#if($foreach.count == 1)
+INSERT INTO `sys_menu` VALUES
+('$id', '0', '[0],', '${functionName}', '${busName}_index', '1', null, '/${className}', 'main/${busName}/index', null, 'system_tool', '1', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+#set ($pid=$id)
+
+#elseif($foreach.count == 2)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}查询', '${busName}_index_page', '2', null, null, null, '${className}:page', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+
+#elseif($foreach.count == 3)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}新增', '${busName}_index_add', '2', null, null, null, '${className}:add', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+
+#elseif($foreach.count == 4)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}编辑', '${busName}_index_edit', '2', null, null, null, '${className}:edit', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+
+#elseif($foreach.count == 5)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}删除', '${busName}_index_delete', '2', null, null, null, '${className}:delete', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+
+#elseif($foreach.count == 6)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}查看', '${busName}_index_detail', '2', null, null, null, '${className}:detail', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+
+#elseif($foreach.count == 7)
+INSERT INTO `sys_menu` VALUES
+('$id', '$pid', '[0],[$pid],', '${functionName}列表', '${busName}_index_list', '2', null, null, null, '${className}:list', 'system_tool', '0', 'Y', null, null, '1', '100', null, '0', null, null, null, null);
+#end
+#end
\ No newline at end of file
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/addForm.vue.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/addForm.vue.vm
index cfdb416c..9b609848 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/addForm.vue.vm
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/addForm.vue.vm
@@ -10,18 +10,87 @@
#foreach ($column in $tableField)
-#if (!${column.primaryKeyFlag})
+#if (${column.columnKey} != "PRI")
+#if (${column.whetherAddUpdate} == "Y")
+#if (${column.effectType} == 'select' || ${column.effectType} == 'radio' || ${column.effectType} == 'checkbox')
+
+#else
-
+#end
+#if (${column.effectType} == "input")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "textarea")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "inputnumber")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "select")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "radio")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "checkbox")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "datepicker")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
#end
#end
-
+#end
@@ -40,6 +109,18 @@
xs: { span: 24 },
sm: { span: 15 }
},
+#foreach ($column in $tableField)
+#if (${column.whetherAddUpdate} == "Y")
+#if (${column.dictTypeCode})
+#if(${column.effectType} == 'select' || ${column.effectType} == 'radio' || ${column.effectType} == 'checkbox')
+ ${column.javaName}Data: [],
+#end
+#end
+#if (${column.effectType} == "datepicker")
+ ${column.javaName}DateString: '',
+#end
+#end
+#end
visible: false,
confirmLoading: false,
form: this.$form.createForm(this)
@@ -49,6 +130,14 @@
// 初始化方法
add (record) {
this.visible = true
+#foreach ($column in $tableField)
+#if (${column.dictTypeCode})
+#if(${column.effectType} == 'select' || ${column.effectType} == 'radio' || ${column.effectType} == 'checkbox')
+ const ${column.javaName}Option = this.$options
+ this.${column.javaName}Data = ${column.javaName}Option.filters['dictData']('${column.dictTypeCode}')
+#end
+#end
+#end
},
/**
* 提交表单
@@ -58,7 +147,19 @@
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
- ${className}Add(values).then((res) => {
+ for (const key in values) {
+ if (typeof (values[key]) === 'object') {
+ values[key] = JSON.stringify(values[key])
+ }
+ }
+#foreach ($column in $tableField)
+#if (${column.whetherAddUpdate} == "Y")
+#if (${column.effectType} == "datepicker")
+ values.${column.javaName} = this.${column.javaName}DateString
+#end
+#end
+#end
+ ${className}Add(values).then((res) => {
if (res.success) {
this.$message.success('新增成功')
this.confirmLoading = false
@@ -75,6 +176,15 @@
}
})
},
+#foreach ($column in $tableField)
+#if (${column.whetherAddUpdate} == "Y")
+#if (${column.effectType} == "datepicker")
+ onChange${column.javaName}(date, dateString) {
+ this.${column.javaName}DateString = dateString
+ },
+#end
+#end
+#end
handleCancel () {
this.form.resetFields()
this.visible = false
diff --git a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/editForm.vue.vm b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/editForm.vue.vm
index 634c3a7d..15c3c93b 100644
--- a/xiaonuo-base/xiaonuo-gen/src/main/resources/template/editForm.vue.vm
+++ b/xiaonuo-base/xiaonuo-gen/src/main/resources/template/editForm.vue.vm
@@ -10,10 +10,16 @@
#foreach ($column in $tableField)
-#if (${column.primaryKeyFlag})
-
-
-
+#if(${column.columnKey} == "PRI")
+
+#else
+#if (${column.whetherAddUpdate} == "Y")
+#if (${column.effectType} == 'select' || ${column.effectType} == 'radio' || ${column.effectType} == 'checkbox')
+
#else
-
+#end
+#if (${column.effectType} == "input")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "textarea")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "inputnumber")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
+#if (${column.effectType} == "select")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "radio")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "checkbox")
+#if (${column.whetherRequired} == "Y")
+
+ {{ item.name }}
+
+#else
+
+ {{ item.name }}
+
+#end
+#end
+#if (${column.effectType} == "datepicker")
+#if (${column.whetherRequired} == "Y")
+
+#else
+
+#end
+#end
#end
#end
-
+#end