From f1bf549e0f5a088c1d3b0855e1e6fb6aba597448 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 04 三月 2022 13:12:20 +0800
Subject: [PATCH] update 简化查询代码生成列表功能
---
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java | 47 ++++++++++++---
ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml | 69 ++---------------------
ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java | 19 +----
3 files changed, 49 insertions(+), 86 deletions(-)
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
index cbb92fd..37119a5 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
@@ -1,6 +1,8 @@
package com.ruoyi.generator.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.generator.domain.GenTable;
@@ -16,26 +18,15 @@
@InterceptorIgnore(dataPermission = "true")
public interface GenTableMapper extends BaseMapperPlus<GenTableMapper, GenTable, GenTable> {
-
- Page<GenTable> selectPageGenTableList(@Param("page") Page<GenTable> page, @Param("genTable") GenTable genTable);
-
- Page<GenTable> selectPageDbTableList(@Param("page") Page<GenTable> page, @Param("genTable") GenTable genTable);
-
- /**
- * 鏌ヨ涓氬姟鍒楄〃
- *
- * @param genTable 涓氬姟淇℃伅
- * @return 涓氬姟闆嗗悎
- */
- List<GenTable> selectGenTableList(GenTable genTable);
+ Page<GenTable> selectPageDbTableList(@Param("page") Page<GenTable> page, @Param(Constants.WRAPPER) Wrapper<Object> queryWrapper);
/**
* 鏌ヨ鎹簱鍒楄〃
*
- * @param genTable 涓氬姟淇℃伅
+ * @param queryWrapper 鏌ヨ鏉′欢
* @return 鏁版嵁搴撹〃闆嗗悎
*/
- List<GenTable> selectDbTableList(GenTable genTable);
+ List<GenTable> selectDbTableList(@Param(Constants.WRAPPER) Wrapper<Object> queryWrapper);
/**
* 鏌ヨ鎹簱鍒楄〃
diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
index 154f026..80b1c96 100644
--- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
+++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
@@ -4,7 +4,10 @@
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.GenConstants;
@@ -69,13 +72,7 @@
@Override
public TableDataInfo<GenTable> selectPageGenTableList(GenTable genTable, PageQuery pageQuery) {
- Page<GenTable> page = baseMapper.selectPageGenTableList(pageQuery.build(), genTable);
- return TableDataInfo.build(page);
- }
-
- @Override
- public TableDataInfo<GenTable> selectPageDbTableList(GenTable genTable, PageQuery pageQuery) {
- Page<GenTable> page = baseMapper.selectPageDbTableList(pageQuery.build(), genTable);
+ Page<GenTable> page = baseMapper.selectPage(pageQuery.build(), this.buildGenTableQueryWrapper(genTable));
return TableDataInfo.build(page);
}
@@ -87,7 +84,24 @@
*/
@Override
public List<GenTable> selectGenTableList(GenTable genTable) {
- return baseMapper.selectGenTableList(genTable);
+ return baseMapper.selectList(this.buildGenTableQueryWrapper(genTable));
+ }
+
+ private QueryWrapper<GenTable> buildGenTableQueryWrapper(GenTable genTable) {
+ Map<String, Object> params = genTable.getParams();
+ QueryWrapper<GenTable> wrapper = Wrappers.query();
+ wrapper.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"));
+ return wrapper;
+ }
+
+
+ @Override
+ public TableDataInfo<GenTable> selectPageDbTableList(GenTable genTable, PageQuery pageQuery) {
+ Page<GenTable> page = baseMapper.selectPageDbTableList(pageQuery.build(), this.buildDbTableQueryWrapper(genTable));
+ return TableDataInfo.build(page);
}
/**
@@ -98,7 +112,22 @@
*/
@Override
public List<GenTable> selectDbTableList(GenTable genTable) {
- return baseMapper.selectDbTableList(genTable);
+ return baseMapper.selectDbTableList(this.buildDbTableQueryWrapper(genTable));
+ }
+
+ private Wrapper<Object> buildDbTableQueryWrapper(GenTable genTable) {
+ Map<String, Object> params = genTable.getParams();
+ QueryWrapper<Object> 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-generator/src/main/resources/mapper/generator/GenTableMapper.xml b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
index a7f2ce8..9b72d95 100644
--- a/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
+++ b/ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
@@ -53,73 +53,16 @@
<result property="updateTime" column="update_time" />
</resultMap>
- <sql id="selectGenTableVo">
- select table_id, table_name, table_comment, sub_table_name, sub_table_fk_name, class_name, tpl_category, package_name, module_name, business_name, function_name, function_author, gen_type, gen_path, options, create_by, create_time, update_by, update_time, remark from gen_table
- </sql>
-
- <select id="selectPageGenTableList" parameterType="GenTable" resultMap="GenTableResult">
- <include refid="selectGenTableVo"/>
- <where>
- <if test="genTable.tableName != null and genTable.tableName != ''">
- AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%'))
- </if>
- <if test="genTable.tableComment != null and genTable.tableComment != ''">
- AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%'))
- </if>
- <if test="genTable.params.beginTime != null and genTable.params.endTime != null">
- AND create_time between #{genTable.params.beginTime} and #{genTable.params.endTime}
- </if>
- </where>
- </select>
-
<select id="selectPageDbTableList" parameterType="GenTable" resultMap="GenTableResult">
- select table_name, table_comment, create_time, update_time from information_schema.tables
- where table_schema = (select database())
- AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
- AND table_name NOT IN (select table_name from gen_table)
- <if test="genTable.tableName != null and genTable.tableName != ''">
- AND lower(table_name) like lower(concat('%', #{genTable.tableName}, '%'))
- </if>
- <if test="genTable.tableComment != null and genTable.tableComment != ''">
- AND lower(table_comment) like lower(concat('%', #{genTable.tableComment}, '%'))
- </if>
- <if test="genTable.params.beginTime != null and genTable.params.endTime != null">
- AND create_time between #{genTable.params.beginTime} and #{genTable.params.endTime}
- </if>
- order by create_time desc
- </select>
-
-
- <select id="selectGenTableList" parameterType="GenTable" resultMap="GenTableResult">
- <include refid="selectGenTableVo"/>
- <where>
- <if test="tableName != null and tableName != ''">
- AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
- </if>
- <if test="tableComment != null and tableComment != ''">
- AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
- </if>
- <if test="params.beginTime != null and params.endTime != null">
- AND create_time between #{params.beginTime} and #{params.endTime}
- </if>
- </where>
+ select table_name, table_comment, create_time, update_time
+ from information_schema.tables
+ ${ew.getCustomSqlSegment}
</select>
<select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult">
- select table_name, table_comment, create_time, update_time from information_schema.tables
- where table_schema = (select database())
- AND table_name NOT LIKE 'xxl_job_%' AND table_name NOT LIKE 'gen_%'
- AND table_name NOT IN (select table_name from gen_table)
- <if test="tableName != null and tableName != ''">
- AND lower(table_name) like lower(concat('%', #{tableName}, '%'))
- </if>
- <if test="tableComment != null and tableComment != ''">
- AND lower(table_comment) like lower(concat('%', #{tableComment}, '%'))
- </if>
- <if test="params.beginTime != null and params.endTime != null">
- AND create_time between #{params.beginTime} and #{params.endTime}
- </if>
- order by create_time desc
+ select table_name, table_comment, create_time, update_time
+ from information_schema.tables
+ ${ew.getCustomSqlSegment}
</select>
<select id="selectDbTableListByNames" resultMap="GenTableResult">
--
Gitblit v1.9.3