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