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); /** * 查询据库列表 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; } /** 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">