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