From db5d448623606a45175cbe1fcbf6b5c4f3568751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Tue, 27 Dec 2022 16:11:57 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=96=B0=E5=A2=9E=20=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=E9=80=82=E9=85=8D=20=E5=A4=9A?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8F=AF=E5=88=87=E6=8D=A2=E7=94=9F?= =?UTF-8?q?=E6=88=90=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/gen/domain/GenTable.java | 2 +- .../com/ruoyi/gen/domain/GenTableColumn.java | 8 +- .../com/ruoyi/gen/mapper/GenTableMapper.java | 11 +- .../gen/service/GenTableServiceImpl.java | 42 +- .../ruoyi/gen/service/IGenTableService.java | 16 - .../java/com/ruoyi/gen/util/GenUtils.java | 13 +- .../com/ruoyi/gen/util/VelocityUtils.java | 15 +- .../mapper/generator/GenTableColumnMapper.xml | 67 +- .../mapper/generator/GenTableMapper.xml | 145 ++++- .../src/main/resources/vm/sql/oracle/sql.vm | 19 + .../src/main/resources/vm/sql/postgres/sql.vm | 20 + ruoyi-ui/src/api/tool/gen.js | 161 ++--- ruoyi-ui/src/plugins/download.js | 5 +- ruoyi-ui/src/views/tool/gen/genInfoForm.vue | 598 +++++++++--------- ruoyi-ui/src/views/tool/gen/index.vue | 15 +- 15 files changed, 656 insertions(+), 481 deletions(-) create mode 100644 ruoyi-modules/ruoyi-gen/src/main/resources/vm/sql/oracle/sql.vm create mode 100644 ruoyi-modules/ruoyi-gen/src/main/resources/vm/sql/postgres/sql.vm diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTable.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTable.java index a981cf7f..5bd6b748 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTable.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTable.java @@ -202,7 +202,7 @@ public class GenTable extends BaseEntity { public static boolean isSuperColumn(String tplCategory, String javaField) { if (isTree(tplCategory)) { return StringUtils.equalsAnyIgnoreCase(javaField, - ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); + ArrayUtils.addAll(GenConstants.TREE_ENTITY, GenConstants.BASE_ENTITY)); } return StringUtils.equalsAnyIgnoreCase(javaField, GenConstants.BASE_ENTITY); } diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTableColumn.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTableColumn.java index dad8fc50..06226dbc 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTableColumn.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTableColumn.java @@ -189,10 +189,10 @@ public class GenTableColumn extends BaseEntity { public static boolean isSuperColumn(String javaField) { return StringUtils.equalsAnyIgnoreCase(javaField, - // BaseEntity - "createBy", "createTime", "updateBy", "updateTime", - // TreeEntity - "parentName", "parentId"); + // BaseEntity + "createBy", "createTime", "updateBy", "updateTime", + // TreeEntity + "parentName", "parentId"); } public boolean isUsableColumn() { diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/mapper/GenTableMapper.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/mapper/GenTableMapper.java index cc4abf14..9500d878 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/mapper/GenTableMapper.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/mapper/GenTableMapper.java @@ -18,16 +18,7 @@ import java.util.List; @InterceptorIgnore(dataPermission = "true") public interface GenTableMapper extends BaseMapperPlus { - Page selectPageDbTableList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper); - - /** - * 查询据库列表 - * - * @param queryWrapper 查询条件 - * @return 数据库表集合 - */ - List selectDbTableList(@Param(Constants.WRAPPER) Wrapper queryWrapper); - + Page selectPageDbTableList(@Param("page") Page page, @Param("genTable") GenTable genTable); /** * 查询据库列表 diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java index 3405454e..0e1026a6 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/GenTableServiceImpl.java @@ -6,7 +6,7 @@ import cn.hutool.core.lang.Dict; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -50,6 +50,7 @@ import java.util.zip.ZipOutputStream; * * @author ruoyi */ +@DS("#header.datasource") @Slf4j @RequiredArgsConstructor @Service @@ -90,17 +91,6 @@ public class GenTableServiceImpl implements IGenTableService { return TableDataInfo.build(page); } - /** - * 查询业务列表 - * - * @param genTable 业务信息 - * @return 业务集合 - */ - @Override - public List selectGenTableList(GenTable genTable) { - return baseMapper.selectList(this.buildGenTableQueryWrapper(genTable)); - } - private QueryWrapper buildGenTableQueryWrapper(GenTable genTable) { Map params = genTable.getParams(); QueryWrapper wrapper = Wrappers.query(); @@ -114,36 +104,10 @@ public class GenTableServiceImpl implements IGenTableService { @Override public TableDataInfo selectPageDbTableList(GenTable genTable, PageQuery pageQuery) { - Page page = baseMapper.selectPageDbTableList(pageQuery.build(), this.buildDbTableQueryWrapper(genTable)); + Page page = baseMapper.selectPageDbTableList(pageQuery.build(), genTable); return TableDataInfo.build(page); } - /** - * 查询据库列表 - * - * @param genTable 业务信息 - * @return 数据库表集合 - */ - @Override - public List selectDbTableList(GenTable genTable) { - return baseMapper.selectDbTableList(this.buildDbTableQueryWrapper(genTable)); - } - - private Wrapper buildDbTableQueryWrapper(GenTable genTable) { - Map params = genTable.getParams(); - QueryWrapper wrapper = Wrappers.query(); - wrapper.apply("table_schema = (select database())") - .notLike("table_name", "xxl_job_") - .notLike("table_name", "gen_") - .notInSql("table_name", "select table_name from gen_table") - .like(StringUtils.isNotBlank(genTable.getTableName()), "lower(table_name)", StringUtils.lowerCase(genTable.getTableName())) - .like(StringUtils.isNotBlank(genTable.getTableComment()), "lower(table_comment)", StringUtils.lowerCase(genTable.getTableComment())) - .between(params.get("beginTime") != null && params.get("endTime") != null, - "create_time", params.get("beginTime"), params.get("endTime")) - .orderByDesc("create_time"); - return wrapper; - } - /** * 查询据库列表 * diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/IGenTableService.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/IGenTableService.java index 3457e6ca..a6d012e7 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/IGenTableService.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/service/IGenTableService.java @@ -27,22 +27,6 @@ public interface IGenTableService { TableDataInfo selectPageDbTableList(GenTable genTable, PageQuery pageQuery); - /** - * 查询业务列表 - * - * @param genTable 业务信息 - * @return 业务集合 - */ - List selectGenTableList(GenTable genTable); - - /** - * 查询据库列表 - * - * @param genTable 业务信息 - * @return 数据库表集合 - */ - List selectDbTableList(GenTable genTable); - /** * 查询据库列表 * diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java index 08fb7c3d..b3120473 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java @@ -92,11 +92,6 @@ public class GenUtils { column.setIsQuery(GenConstants.REQUIRE); } - // 查询字段 - if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk()) { - column.setIsQuery(GenConstants.REQUIRE); - } - // 查询字段类型 if (StringUtils.endsWithIgnoreCase(columnName, "name")) { column.setQueryType(GenConstants.QUERY_LIKE); @@ -107,7 +102,7 @@ public class GenUtils { } // 类型&性别字段设置下拉框 else if (StringUtils.endsWithIgnoreCase(columnName, "type") - || StringUtils.endsWithIgnoreCase(columnName, "sex")) { + || StringUtils.endsWithIgnoreCase(columnName, "sex")) { column.setHtmlType(GenConstants.HTML_SELECT); } // 图片字段设置图片上传控件 @@ -154,9 +149,11 @@ public class GenUtils { * @return 业务名 */ public static String getBusinessName(String tableName) { - int lastIndex = tableName.lastIndexOf("_"); + int firstIndex = tableName.indexOf("_"); int nameLength = tableName.length(); - return StringUtils.substring(tableName, lastIndex + 1, nameLength); + String businessName = StringUtils.substring(tableName, firstIndex + 1, nameLength); + businessName = StringUtils.toCamelCase(businessName); + return businessName; } /** diff --git a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java index 1353e68d..8a23cf15 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java +++ b/ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/VelocityUtils.java @@ -8,6 +8,7 @@ import com.ruoyi.common.core.constant.GenConstants; import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.JsonUtils; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.mybatis.helper.DataBaseHelper; import com.ruoyi.gen.domain.GenTable; import com.ruoyi.gen.domain.GenTableColumn; import lombok.AccessLevel; @@ -138,7 +139,13 @@ public class VelocityUtils { templates.add("vm/java/serviceImpl.java.vm"); templates.add("vm/java/controller.java.vm"); templates.add("vm/xml/mapper.xml.vm"); - templates.add("vm/sql/sql.vm"); + if (DataBaseHelper.isOracle()) { + templates.add("vm/sql/oracle/sql.vm"); + } else if (DataBaseHelper.isPostgerSql()) { + templates.add("vm/sql/postgres/sql.vm"); + } else { + templates.add("vm/sql/sql.vm"); + } templates.add("vm/js/api.js.vm"); if (GenConstants.TPL_CRUD.equals(tplCategory)) { templates.add("vm/vue/index.vue.vm"); @@ -263,8 +270,8 @@ public class VelocityUtils { public static void addDicts(Set dicts, List columns) { for (GenTableColumn column : columns) { if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( - column.getHtmlType(), - new String[]{GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX})) { + column.getHtmlType(), + new String[] { GenConstants.HTML_SELECT, GenConstants.HTML_RADIO, GenConstants.HTML_CHECKBOX })) { dicts.add("'" + column.getDictType() + "'"); } } @@ -289,7 +296,7 @@ public class VelocityUtils { */ public static String getParentMenuId(Dict paramsObj) { if (CollUtil.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.PARENT_MENU_ID) - && StringUtils.isNotEmpty(paramsObj.getStr(GenConstants.PARENT_MENU_ID))) { + && StringUtils.isNotEmpty(paramsObj.getStr(GenConstants.PARENT_MENU_ID))) { return paramsObj.getStr(GenConstants.PARENT_MENU_ID); } return DEFAULT_PARENT_MENU_ID; diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml b/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml index c0c76bd4..9a9129cd 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableColumnMapper.xml @@ -30,9 +30,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableMapper.xml index 0725e0ac..ddbdd1db 100644 --- a/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableMapper.xml +++ b/ruoyi-modules/ruoyi-gen/src/main/resources/mapper/generator/GenTableMapper.xml @@ -54,30 +54,139 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - -