完善关联表业务表
This commit is contained in:
parent
7d2629075d
commit
292b10e6ee
@ -2,8 +2,10 @@ package com.ruoyi.generator.controller;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -83,19 +85,17 @@ public class GenController extends BaseController {
|
|||||||
genJoinTable.setTableId(tableId);
|
genJoinTable.setTableId(tableId);
|
||||||
List<GenJoinTable> selectGenJoinTableList = genJoinTableService.selectGenJoinTableList(genJoinTable);
|
List<GenJoinTable> selectGenJoinTableList = genJoinTableService.selectGenJoinTableList(genJoinTable);
|
||||||
genTableVo.setJoins(selectGenJoinTableList);
|
genTableVo.setJoins(selectGenJoinTableList);
|
||||||
List<GenTable> joinTables = new ArrayList<>();
|
Map<Long, GenTable> joinTableMap = new HashMap<Long, GenTable>();
|
||||||
|
joinTableMap.put(tableId, table);
|
||||||
selectGenJoinTableList.forEach(i -> {
|
selectGenJoinTableList.forEach(i -> {
|
||||||
GenTable joinTable = genTableService.selectGenTableById(i.getJoinTableId());
|
if(Objects.isNull(joinTableMap.get(i.getLeftTableId()))) {
|
||||||
joinTables.add(joinTable);
|
joinTableMap.put(i.getLeftTableId(), genTableService.selectGenTableById(i.getLeftTableId()));
|
||||||
|
}
|
||||||
|
if(Objects.isNull(joinTableMap.get(i.getRightTableId()))) {
|
||||||
|
joinTableMap.put(i.getRightTableId(), genTableService.selectGenTableById(i.getRightTableId()));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
genTableVo.setJoinTables(joinTables);
|
genTableVo.setJoinTables(joinTableMap.values());
|
||||||
// List<GenTable> tables = genTableService.selectGenTableAll();
|
|
||||||
// List<GenTableColumn> list =
|
|
||||||
// genTableColumnService.selectGenTableColumnListByTableId(tableId);
|
|
||||||
// Map<String, Object> map = new HashMap<String, Object>();
|
|
||||||
// map.put("info", table);
|
|
||||||
// map.put("rows", list);
|
|
||||||
// map.put("tables", tables);
|
|
||||||
return success(genTableVo);
|
return success(genTableVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,21 +12,24 @@ public class GenJoinTable extends BaseEntity {
|
|||||||
/** 表编号 */
|
/** 表编号 */
|
||||||
private Long tableId;
|
private Long tableId;
|
||||||
|
|
||||||
private Long mainTableId;
|
private Long leftTableId;
|
||||||
|
|
||||||
/** 关联表编号 */
|
/** 关联表编号 */
|
||||||
private Long joinTableId;
|
private Long rightTableId;
|
||||||
|
|
||||||
/** 主表别名 */
|
/** 主表别名 */
|
||||||
private String mainTableAlias;
|
private String leftTableAlias;
|
||||||
|
|
||||||
/** 关联表别名 */
|
/** 关联表别名 */
|
||||||
private String joinTableAlias;
|
private String rightTableAlias;
|
||||||
|
|
||||||
/** 主表外键 */
|
/** 主表外键 */
|
||||||
private String mainTableFk;
|
private Long leftTableFk;
|
||||||
|
|
||||||
/** 关联表外键 */
|
/** 关联表外键 */
|
||||||
private String joinTableFk;
|
private Long rightTableFk;
|
||||||
|
|
||||||
|
/** 连接类型 */
|
||||||
|
private String joinType;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -13,12 +13,12 @@ public class GenJoinTableColumn extends BaseEntity {
|
|||||||
private Long tableId;
|
private Long tableId;
|
||||||
|
|
||||||
/** 关联表编号 */
|
/** 关联表编号 */
|
||||||
private Long joinTableId;
|
private Long rightTableId;
|
||||||
|
|
||||||
/** 编号 */
|
/** 编号 */
|
||||||
private Long columnId;
|
private Long columnId;
|
||||||
|
|
||||||
/** 关联表别名 */
|
/** 关联表别名 */
|
||||||
private String joinTableAlias;
|
private String rightTableAlias;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.generator.domain.vo;
|
package com.ruoyi.generator.domain.vo;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
@ -30,7 +31,7 @@ public class GenTableVo extends BaseEntity {
|
|||||||
private List<GenJoinTable> joins;
|
private List<GenJoinTable> joins;
|
||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
private List<GenTable> joinTables;
|
private Collection<GenTable> joinTables;
|
||||||
|
|
||||||
@Valid
|
@Valid
|
||||||
private List<GenTableColumn> joinColumns;
|
private List<GenTableColumn> joinColumns;
|
||||||
|
@ -6,12 +6,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<resultMap type="GenJoinTable" id="GenJoinTableResult">
|
<resultMap type="GenJoinTable" id="GenJoinTableResult">
|
||||||
<result property="tableId" column="table_id" />
|
<result property="tableId" column="table_id" />
|
||||||
<result property="mainTableId" column="main_table_id" />
|
<result property="leftTableId" column="left_table_id" />
|
||||||
<result property="joinTableId" column="join_table_id" />
|
<result property="rightTableId" column="right_table_id" />
|
||||||
<result property="mainTableAlias" column="main_table_alias" />
|
<result property="leftTableAlias" column="left_table_alias" />
|
||||||
<result property="joinTableAlias" column="join_table_alias" />
|
<result property="rightTableAlias" column="right_table_alias" />
|
||||||
<result property="mainTableFk" column="main_table_fk" />
|
<result property="leftTableFk" column="left_table_fk" />
|
||||||
<result property="joinTableFk" column="join_table_fk" />
|
<result property="rightTableFk" column="right_table_fk" />
|
||||||
|
<result property="joinType" column="join_type" />
|
||||||
<result property="createBy" column="create_by" />
|
<result property="createBy" column="create_by" />
|
||||||
<result property="createTime" column="create_time" />
|
<result property="createTime" column="create_time" />
|
||||||
<result property="updateBy" column="update_by" />
|
<result property="updateBy" column="update_by" />
|
||||||
@ -19,19 +20,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectGenJoinTableVo">
|
<sql id="selectGenJoinTableVo">
|
||||||
select table_id, main_table_id, join_table_id, main_table_alias, join_table_alias, main_table_fk,join_table_fk,create_by, create_time, update_by, update_time from gen_join_table
|
select table_id, left_table_id, right_table_id, left_table_alias, right_table_alias, left_table_fk,right_table_fk, join_type, create_by, create_time, update_by, update_time from gen_join_table
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectGenJoinTableList" parameterType="GenJoinTable" resultMap="GenJoinTableResult">
|
<select id="selectGenJoinTableList" parameterType="GenJoinTable" resultMap="GenJoinTableResult">
|
||||||
<include refid="selectGenJoinTableVo"/>
|
<include refid="selectGenJoinTableVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="tableId != null"> and table_id = #{tableId}</if>
|
<if test="tableId != null"> and table_id = #{tableId}</if>
|
||||||
<if test="mainTableId != null"> and main_table_id = #{mainTableId}</if>
|
<if test="leftTableId != null"> and left_table_id = #{leftTableId}</if>
|
||||||
<if test="joinTableId != null"> and join_table_id = #{joinTableId}</if>
|
<if test="rightTableId != null"> and right_table_id = #{rightTableId}</if>
|
||||||
<if test="mainTableFk != null"> and main_table_fk = #{mainTableFk}</if>
|
<if test="leftTableFk != null"> and left_table_fk = #{leftTableFk}</if>
|
||||||
<if test="joinTableFk != null"> and join_table_fk = #{joinTableFk}</if>
|
<if test="rightTableFk != null"> and right_table_fk = #{rightTableFk}</if>
|
||||||
<if test="mainTableAlias != null and mainTableAlias != ''"> and main_table_alias = #{mainTableAlias}</if>
|
<if test="leftTableAlias != null and leftTableAlias != ''"> and left_table_alias = #{leftTableAlias}</if>
|
||||||
<if test="joinTableAlias != null and joinTableAlias != ''"> and join_table_alias = #{joinTableAlias}</if>
|
<if test="rightTableAlias != null and rightTableAlias != ''"> and right_table_alias = #{rightTableAlias}</if>
|
||||||
|
<if test="joinType != null and joinType != ''"> and join_type = #{joinType}</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -39,12 +41,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
insert into gen_join_table
|
insert into gen_join_table
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="tableId != null">table_id,</if>
|
<if test="tableId != null">table_id,</if>
|
||||||
<if test="mainTableId != null">main_table_id,</if>
|
<if test="leftTableId != null">left_table_id,</if>
|
||||||
<if test="joinTableId != null">join_table_id,</if>
|
<if test="rightTableId != null">right_table_id,</if>
|
||||||
<if test="mainTableAlias != null and mainTableAlias != ''">main_table_alias,</if>
|
<if test="leftTableAlias != null and leftTableAlias != ''">left_table_alias,</if>
|
||||||
<if test="joinTableAlias != null and joinTableAlias != ''">join_table_alias,</if>
|
<if test="rightTableAlias != null and rightTableAlias != ''">right_table_alias,</if>
|
||||||
<if test="mainTableFk != null"> main_table_fk,</if>
|
<if test="leftTableFk != null"> left_table_fk,</if>
|
||||||
<if test="joinTableFk != null"> join_table_fk,</if>
|
<if test="rightTableFk != null"> right_table_fk,</if>
|
||||||
|
<if test="joinType != null">join_type,</if>
|
||||||
<if test="createBy != null">create_by,</if>
|
<if test="createBy != null">create_by,</if>
|
||||||
<if test="createTime != null">create_time,</if>
|
<if test="createTime != null">create_time,</if>
|
||||||
<if test="updateBy != null">update_by,</if>
|
<if test="updateBy != null">update_by,</if>
|
||||||
@ -52,12 +55,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="tableId != null">#{tableId},</if>
|
<if test="tableId != null">#{tableId},</if>
|
||||||
<if test="mainTableId != null">#{mainTableId},</if>
|
<if test="leftTableId != null">#{leftTableId},</if>
|
||||||
<if test="joinTableId != null">#{joinTableId},</if>
|
<if test="rightTableId != null">#{rightTableId},</if>
|
||||||
<if test="mainTableAlias != null and mainTableAlias != ''">#{mainTableAlias},</if>
|
<if test="leftTableAlias != null and leftTableAlias != ''">#{leftTableAlias},</if>
|
||||||
<if test="joinTableAlias != null and joinTableAlias != ''">#{joinTableAlias},</if>
|
<if test="rightTableAlias != null and rightTableAlias != ''">#{rightTableAlias},</if>
|
||||||
<if test="mainTableFk != null">#{mainTableFk},</if>
|
<if test="leftTableFk != null">#{leftTableFk},</if>
|
||||||
<if test="joinTableFk != null">#{joinTableFk},</if>
|
<if test="rightTableFk != null">#{rightTableFk},</if>
|
||||||
|
<if test="joinType != null">#{joinType},</if>
|
||||||
<if test="createBy != null">#{createBy},</if>
|
<if test="createBy != null">#{createBy},</if>
|
||||||
<if test="createTime != null">#{createTime},</if>
|
<if test="createTime != null">#{createTime},</if>
|
||||||
<if test="updateBy != null">#{updateBy},</if>
|
<if test="updateBy != null">#{updateBy},</if>
|
||||||
@ -68,18 +72,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<update id="updateGenJoinTable" parameterType="GenJoinTable">
|
<update id="updateGenJoinTable" parameterType="GenJoinTable">
|
||||||
update gen_join_table
|
update gen_join_table
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="mainTableId != null">main_table_id = #{mainTableId},</if>
|
<if test="leftTableId != null">left_table_id = #{leftTableId},</if>
|
||||||
<if test="joinTableId != null">join_table_id = #{joinTableId},</if>
|
<if test="rightTableId != null">right_table_id = #{rightTableId},</if>
|
||||||
<if test="mainTableAlias != null and mainTableAlias != ''">main_table_alias = #{mainTableAlias},</if>
|
<if test="leftTableAlias != null and leftTableAlias != ''">left_table_alias = #{leftTableAlias},</if>
|
||||||
<if test="joinTableAlias != null and joinTableAlias != ''">join_table_alias = #{joinTableAlias},</if>
|
<if test="rightTableAlias != null and rightTableAlias != ''">right_table_alias = #{rightTableAlias},</if>
|
||||||
<if test="mainTableFk != null"> main_table_fk = #{mainTableFk},</if>
|
<if test="leftTableFk != null"> left_table_fk = #{leftTableFk},</if>
|
||||||
<if test="joinTableFk != null"> join_table_fk = #{joinTableFk},</if>
|
<if test="rightTableFk != null"> right_table_fk = #{rightTableFk},</if>
|
||||||
|
<if test="joinType != null">join_type = #{joinType},</if>
|
||||||
<if test="createBy != null">create_by = #{createBy},</if>
|
<if test="createBy != null">create_by = #{createBy},</if>
|
||||||
<if test="createTime != null">create_time = #{createTime},</if>
|
<if test="createTime != null">create_time = #{createTime},</if>
|
||||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where gen_join_table.table_id = #{tableId} and gen_join_table.join_table_id = #{joinTableId}
|
where gen_join_table.table_id = #{tableId} and gen_join_table.right_table_id = #{rightTableId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- deleteGenJoinTableByTableId -->
|
<!-- deleteGenJoinTableByTableId -->
|
||||||
|
@ -6,6 +6,7 @@ DROP TABLE IF EXISTS `gen_table`;
|
|||||||
CREATE TABLE `gen_table` (
|
CREATE TABLE `gen_table` (
|
||||||
`table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
`table_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
|
||||||
`table_name` varchar(200) DEFAULT '' COMMENT '表名称',
|
`table_name` varchar(200) DEFAULT '' COMMENT '表名称',
|
||||||
|
`table_alias` varchar(200) DEFAULT '' COMMENT '表名称',
|
||||||
`table_comment` varchar(500) DEFAULT '' COMMENT '表描述',
|
`table_comment` varchar(500) DEFAULT '' COMMENT '表描述',
|
||||||
`have_sub_column` char(1) DEFAULT '0' COMMENT '是否含有关联字段',
|
`have_sub_column` char(1) DEFAULT '0' COMMENT '是否含有关联字段',
|
||||||
`sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名',
|
`sub_table_name` varchar(64) DEFAULT NULL COMMENT '关联子表的表名',
|
||||||
@ -70,17 +71,18 @@ CREATE TABLE `gen_table_column` (
|
|||||||
DROP TABLE IF EXISTS `gen_join_table`;
|
DROP TABLE IF EXISTS `gen_join_table`;
|
||||||
CREATE TABLE `gen_join_table` (
|
CREATE TABLE `gen_join_table` (
|
||||||
`table_id` bigint NOT NULL COMMENT '表编号',
|
`table_id` bigint NOT NULL COMMENT '表编号',
|
||||||
`main_table_id` bigint NOT NULL COMMENT '主表名称',
|
`left_table_id` bigint NOT NULL COMMENT '主表名称',
|
||||||
`join_table_id` bigint NOT NULL COMMENT '关联表编号',
|
`right_table_id` bigint NOT NULL COMMENT '关联表编号',
|
||||||
`main_table_alias` varchar(200) NOT NULL COMMENT '主表别名',
|
`left_table_alias` varchar(200) NOT NULL COMMENT '主表别名',
|
||||||
`join_table_alias` varchar(200) NOT NULL COMMENT '关联表别名',
|
`right_table_alias` varchar(200) NOT NULL COMMENT '关联表别名',
|
||||||
`main_table_fk` varchar(200) NOT NULL COMMENT '主表别名',
|
`left_table_fk` varchar(200) NOT NULL COMMENT '主表别名',
|
||||||
`join_table_fk` varchar(200) NOT NULL COMMENT '关联表别名',
|
`right_table_fk` varchar(200) NOT NULL COMMENT '关联表别名',
|
||||||
|
`join_type` varchar(200) NOT NULL COMMENT '关联类型',
|
||||||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||||
PRIMARY KEY (`table_id`,`join_table_id`,`main_table_id`)
|
PRIMARY KEY (`table_id`,`right_table_id`,`left_table_id`)
|
||||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '代码生成关联表字段';
|
) ENGINE = InnoDB AUTO_INCREMENT = 1 COMMENT = '代码生成关联表字段';
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user