Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
查尔斯-BUG万象集
Continew Admin
提交
2d0e1f42
Continew Admin
项目概览
查尔斯-BUG万象集
/
Continew Admin
9 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
分析
仓库
DevOps
项目成员
Pages
Continew Admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2d0e1f42
编写于
8月 10, 2023
作者:
查尔斯-BUG万象集
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: 优化代码生成配置相关表名、 API 地址及相关描述
1、列映射表重命名为字段配置表
上级
241a9cf8
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
132 addition
and
140 deletion
+132
-140
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/mapper/FieldConfigMapper.java
.../top/charles7c/cnadmin/tool/mapper/FieldConfigMapper.java
+19
-3
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/entity/FieldConfigDO.java
...op/charles7c/cnadmin/tool/model/entity/FieldConfigDO.java
+7
-7
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/request/GenConfigRequest.java
...harles7c/cnadmin/tool/model/request/GenConfigRequest.java
+8
-8
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/GeneratorService.java
.../top/charles7c/cnadmin/tool/service/GeneratorService.java
+4
-4
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
...les7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
+35
-37
continew-admin-ui/src/api/tool/generator.ts
continew-admin-ui/src/api/tool/generator.ts
+6
-6
continew-admin-ui/src/views/tool/generator/index.vue
continew-admin-ui/src/views/tool/generator/index.vue
+40
-62
continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/tool/GeneratorController.java
...c/cnadmin/webapi/controller/tool/GeneratorController.java
+10
-10
continew-admin-webapi/src/main/resources/application.yml
continew-admin-webapi/src/main/resources/application.yml
+1
-1
continew-admin-webapi/src/main/resources/db/changelog/v1.1.0/continew-admin_table.sql
...in/resources/db/changelog/v1.1.0/continew-admin_table.sql
+2
-2
未找到文件。
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/mapper/
ColumnMappin
gMapper.java
→
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/mapper/
FieldConfi
gMapper.java
浏览文件 @
2d0e1f42
...
...
@@ -16,13 +16,29 @@
package
top.charles7c.cnadmin.tool.mapper
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Select
;
import
top.charles7c.cnadmin.common.base.BaseMapper
;
import
top.charles7c.cnadmin.tool.model.entity.
ColumnMappin
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.
FieldConfi
gDO
;
/**
*
列映射
Mapper
*
字段配置
Mapper
*
* @author Charles7c
* @since 2023/4/12 23:56
*/
public
interface
ColumnMappingMapper
extends
BaseMapper
<
ColumnMappingDO
>
{}
public
interface
FieldConfigMapper
extends
BaseMapper
<
FieldConfigDO
>
{
/**
* 根据表名称查询
*
* @param tableName
* 表名称
* @return 字段配置信息
*/
@Select
(
"SELECT * FROM `gen_field_config` WHERE `table_name` = #{tableName}"
)
List
<
FieldConfigDO
>
selectListByTableName
(
@Param
(
"tableName"
)
String
tableName
);
}
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/entity/
ColumnMappin
gDO.java
→
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/entity/
FieldConfi
gDO.java
浏览文件 @
2d0e1f42
...
...
@@ -42,17 +42,17 @@ import top.charles7c.cnadmin.common.enums.QueryTypeEnum;
import
top.charles7c.cnadmin.tool.enums.FormTypeEnum
;
/**
*
列映射
实体
*
字段配置
实体
*
* @author Charles7c
* @since 2023/4/12 20:21
*/
@Data
@TableName
(
"gen_
column_mappin
g"
)
@TableName
(
"gen_
field_confi
g"
)
@NoArgsConstructor
@Accessors
(
chain
=
true
)
@Schema
(
description
=
"
列映射
信息"
)
public
class
ColumnMappin
gDO
implements
Serializable
{
@Schema
(
description
=
"
字段配置
信息"
)
public
class
FieldConfi
gDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
@@ -140,7 +140,7 @@ public class ColumnMappingDO implements Serializable {
@TableField
(
fill
=
FieldFill
.
INSERT
)
private
LocalDateTime
createTime
;
public
ColumnMappin
gDO
(
@NonNull
Column
column
)
{
public
FieldConfi
gDO
(
@NonNull
Column
column
)
{
String
columnType
=
StrUtil
.
splitToArray
(
column
.
getTypeName
(),
StringConsts
.
SPACE
)[
0
].
toLowerCase
();
boolean
isRequired
=
!
column
.
isPk
()
&&
!
column
.
isNullable
();
this
.
tableName
=
column
.
getTableName
();
...
...
@@ -150,13 +150,13 @@ public class ColumnMappingDO implements Serializable {
this
.
setQueryType
(
"String"
.
equals
(
this
.
getFieldType
())
?
QueryTypeEnum
.
INNER_LIKE
:
QueryTypeEnum
.
EQUAL
);
}
public
ColumnMappin
gDO
setColumnName
(
String
columnName
)
{
public
FieldConfi
gDO
setColumnName
(
String
columnName
)
{
this
.
columnName
=
columnName
;
this
.
fieldName
=
StrUtil
.
toCamelCase
(
this
.
columnName
);
return
this
;
}
public
ColumnMappin
gDO
setColumnType
(
String
columnType
)
{
public
FieldConfi
gDO
setColumnType
(
String
columnType
)
{
this
.
columnType
=
columnType
;
Props
generatorProp
=
PropsUtil
.
get
(
"generator"
);
this
.
fieldType
=
generatorProp
.
getStr
(
columnType
);
...
...
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/model/request/GenConfigRequest.java
浏览文件 @
2d0e1f42
...
...
@@ -27,7 +27,7 @@ import lombok.Data;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
top.charles7c.cnadmin.tool.model.entity.
ColumnMappin
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.
FieldConfi
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.GenConfigDO
;
/**
...
...
@@ -43,16 +43,16 @@ public class GenConfigRequest implements Serializable {
private
static
final
long
serialVersionUID
=
1L
;
/**
*
列映射信息列表
*
字段配置
*/
@Schema
(
description
=
"
列映射信息列表
"
)
@NotEmpty
(
message
=
"
列映射信息
不能为空"
)
private
List
<
ColumnMappingDO
>
columnMappin
gs
=
new
ArrayList
<>();
@Schema
(
description
=
"
字段配置
"
)
@NotEmpty
(
message
=
"
字段配置
不能为空"
)
private
List
<
FieldConfigDO
>
fieldConfi
gs
=
new
ArrayList
<>();
/**
* 生成配置
信息
* 生成配置
*/
@Schema
(
description
=
"生成配置
信息
"
)
@NotNull
(
message
=
"生成配置
信息
不能为空"
)
@Schema
(
description
=
"生成配置"
)
@NotNull
(
message
=
"生成配置不能为空"
)
private
GenConfigDO
genConfig
;
}
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/GeneratorService.java
浏览文件 @
2d0e1f42
...
...
@@ -21,7 +21,7 @@ import java.util.List;
import
top.charles7c.cnadmin.common.model.query.PageQuery
;
import
top.charles7c.cnadmin.common.model.vo.PageDataVO
;
import
top.charles7c.cnadmin.tool.model.entity.
ColumnMappin
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.
FieldConfi
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.GenConfigDO
;
import
top.charles7c.cnadmin.tool.model.query.TableQuery
;
import
top.charles7c.cnadmin.tool.model.request.GenConfigRequest
;
...
...
@@ -60,15 +60,15 @@ public interface GeneratorService {
GenConfigDO
getGenConfig
(
String
tableName
)
throws
SQLException
;
/**
* 查询
列映射信息
列表
* 查询
字段配置
列表
*
* @param tableName
* 表名称
* @param requireSync
* 是否需要同步
* @return
列映射信息
列表
* @return
字段配置
列表
*/
List
<
ColumnMappingDO
>
listColumnMappin
g
(
String
tableName
,
Boolean
requireSync
);
List
<
FieldConfigDO
>
listFieldConfi
g
(
String
tableName
,
Boolean
requireSync
);
/**
* 保存代码生成配置信息
...
...
continew-admin-tool/src/main/java/top/charles7c/cnadmin/tool/service/impl/GeneratorServiceImpl.java
浏览文件 @
2d0e1f42
...
...
@@ -44,9 +44,9 @@ import top.charles7c.cnadmin.common.model.query.PageQuery;
import
top.charles7c.cnadmin.common.model.vo.PageDataVO
;
import
top.charles7c.cnadmin.common.util.validate.CheckUtils
;
import
top.charles7c.cnadmin.tool.config.properties.GeneratorProperties
;
import
top.charles7c.cnadmin.tool.mapper.
ColumnMappin
gMapper
;
import
top.charles7c.cnadmin.tool.mapper.
FieldConfi
gMapper
;
import
top.charles7c.cnadmin.tool.mapper.GenConfigMapper
;
import
top.charles7c.cnadmin.tool.model.entity.
ColumnMappin
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.
FieldConfi
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.GenConfigDO
;
import
top.charles7c.cnadmin.tool.model.query.TableQuery
;
import
top.charles7c.cnadmin.tool.model.request.GenConfigRequest
;
...
...
@@ -68,7 +68,7 @@ public class GeneratorServiceImpl implements GeneratorService {
private
final
DataSource
dataSource
;
private
final
GeneratorProperties
generatorProperties
;
private
final
ColumnMappingMapper
columnMappin
gMapper
;
private
final
FieldConfigMapper
fieldConfi
gMapper
;
private
final
GenConfigMapper
genConfigMapper
;
@Override
...
...
@@ -113,67 +113,65 @@ public class GeneratorServiceImpl implements GeneratorService {
}
@Override
public
List
<
ColumnMappingDO
>
listColumnMapping
(
String
tableName
,
Boolean
requireSync
)
{
List
<
ColumnMappingDO
>
columnMappingList
=
columnMappingMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
ColumnMappingDO
.
class
).
eq
(
ColumnMappingDO:
:
getTableName
,
tableName
));
if
(
CollUtil
.
isEmpty
(
columnMappingList
))
{
public
List
<
FieldConfigDO
>
listFieldConfig
(
String
tableName
,
Boolean
requireSync
)
{
List
<
FieldConfigDO
>
fieldConfigList
=
fieldConfigMapper
.
selectListByTableName
(
tableName
);
if
(
CollUtil
.
isEmpty
(
fieldConfigList
))
{
Collection
<
Column
>
columnList
=
MetaUtils
.
getColumns
(
dataSource
,
tableName
);
return
columnList
.
stream
().
map
(
ColumnMappin
gDO:
:
new
).
collect
(
Collectors
.
toList
());
return
columnList
.
stream
().
map
(
FieldConfi
gDO:
:
new
).
collect
(
Collectors
.
toList
());
}
// 同步最新数据表列信息
if
(
requireSync
)
{
Collection
<
Column
>
columnList
=
MetaUtils
.
getColumns
(
dataSource
,
tableName
);
// 移除已不存在的
列映射信息
// 移除已不存在的
字段配置
List
<
String
>
columnNameList
=
columnList
.
stream
().
map
(
Column:
:
getName
).
collect
(
Collectors
.
toList
());
columnMappin
gList
.
removeIf
(
column
->
!
columnNameList
.
contains
(
column
.
getColumnName
()));
// 新增或更新
列映射信息
Map
<
String
,
ColumnMappingDO
>
columnMappingMap
=
columnMappin
gList
.
stream
()
.
collect
(
Collectors
.
toMap
(
ColumnMappin
gDO:
:
getColumnName
,
Function
.
identity
(),
(
key1
,
key2
)
->
key2
));
fieldConfi
gList
.
removeIf
(
column
->
!
columnNameList
.
contains
(
column
.
getColumnName
()));
// 新增或更新
字段配置
Map
<
String
,
FieldConfigDO
>
fieldConfigMap
=
fieldConfi
gList
.
stream
()
.
collect
(
Collectors
.
toMap
(
FieldConfi
gDO:
:
getColumnName
,
Function
.
identity
(),
(
key1
,
key2
)
->
key2
));
for
(
Column
column
:
columnList
)
{
ColumnMappingDO
columnMapping
=
columnMappin
gMap
.
get
(
column
.
getName
());
if
(
null
!=
columnMappin
g
)
{
// 更新已有
列映射信息
FieldConfigDO
fieldConfig
=
fieldConfi
gMap
.
get
(
column
.
getName
());
if
(
null
!=
fieldConfi
g
)
{
// 更新已有
字段配置
String
columnType
=
StrUtil
.
splitToArray
(
column
.
getTypeName
(),
StringConsts
.
SPACE
)[
0
].
toLowerCase
();
columnMappin
g
.
setColumnType
(
columnType
).
setComment
(
column
.
getComment
());
fieldConfi
g
.
setColumnType
(
columnType
).
setComment
(
column
.
getComment
());
}
else
{
// 新增
列映射信息
columnMapping
=
new
ColumnMappin
gDO
(
column
);
columnMappingList
.
add
(
columnMappin
g
);
// 新增
字段配置
fieldConfig
=
new
FieldConfi
gDO
(
column
);
fieldConfigList
.
add
(
fieldConfi
g
);
}
}
}
return
columnMappin
gList
;
return
fieldConfi
gList
;
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveConfig
(
GenConfigRequest
request
,
String
tableName
)
{
// 保存列映射信息
columnMappingMapper
.
delete
(
Wrappers
.
lambdaQuery
(
ColumnMappingDO
.
class
).
eq
(
ColumnMappingDO:
:
getTableName
,
tableName
));
List
<
ColumnMappingDO
>
columnMappingList
=
request
.
getColumnMappings
();
for
(
ColumnMappingDO
columnMapping
:
columnMappingList
)
{
if
(
columnMapping
.
getShowInForm
())
{
CheckUtils
.
throwIfNull
(
columnMapping
.
getFormType
(),
"字段 [{}] 的表单类型不能为空"
,
columnMapping
.
getFieldName
());
// 保存字段配置
fieldConfigMapper
.
delete
(
Wrappers
.
lambdaQuery
(
FieldConfigDO
.
class
).
eq
(
FieldConfigDO:
:
getTableName
,
tableName
));
List
<
FieldConfigDO
>
fieldConfigList
=
request
.
getFieldConfigs
();
for
(
FieldConfigDO
fieldConfig
:
fieldConfigList
)
{
if
(
fieldConfig
.
getShowInForm
())
{
CheckUtils
.
throwIfNull
(
fieldConfig
.
getFormType
(),
"字段 [{}] 的表单类型不能为空"
,
fieldConfig
.
getFieldName
());
}
else
{
// 在表单中不显示,不需要设置必填
columnMappin
g
.
setIsRequired
(
false
);
fieldConfi
g
.
setIsRequired
(
false
);
}
if
(
columnMappin
g
.
getShowInQuery
())
{
CheckUtils
.
throwIfNull
(
columnMapping
.
getFormType
(),
"字段 [{}] 的表单类型不能为空"
,
columnMappin
g
.
getFieldName
());
CheckUtils
.
throwIfNull
(
columnMapping
.
getQueryType
(),
"字段 [{}] 的查询方式不能为空"
,
columnMappin
g
.
getFieldName
());
if
(
fieldConfi
g
.
getShowInQuery
())
{
CheckUtils
.
throwIfNull
(
fieldConfig
.
getFormType
(),
"字段 [{}] 的表单类型不能为空"
,
fieldConfi
g
.
getFieldName
());
CheckUtils
.
throwIfNull
(
fieldConfig
.
getQueryType
(),
"字段 [{}] 的查询方式不能为空"
,
fieldConfi
g
.
getFieldName
());
}
else
{
// 在查询中不显示,不需要设置查询方式
columnMappin
g
.
setQueryType
(
null
);
fieldConfi
g
.
setQueryType
(
null
);
}
// 既不在表单也不在查询中显示,不需要设置表单类型
if
(!
columnMapping
.
getShowInForm
()
&&
!
columnMappin
g
.
getShowInQuery
())
{
columnMappin
g
.
setFormType
(
null
);
if
(!
fieldConfig
.
getShowInForm
()
&&
!
fieldConfi
g
.
getShowInQuery
())
{
fieldConfi
g
.
setFormType
(
null
);
}
columnMappin
g
.
setTableName
(
tableName
);
fieldConfi
g
.
setTableName
(
tableName
);
}
columnMappingMapper
.
insertBatch
(
columnMappin
gList
);
fieldConfigMapper
.
insertBatch
(
fieldConfi
gList
);
// 保存或更新生成配置信息
GenConfigDO
newGenConfig
=
request
.
getGenConfig
();
...
...
continew-admin-ui/src/api/tool/generator.ts
浏览文件 @
2d0e1f42
...
...
@@ -29,7 +29,7 @@ export function listTable(params: TableParam) {
});
}
export
interface
ColumnMappin
gRecord
{
export
interface
FieldConfi
gRecord
{
tableName
:
string
;
columnName
:
string
;
columnType
:
string
;
...
...
@@ -45,8 +45,8 @@ export interface ColumnMappingRecord {
createTime
?:
string
;
}
export
function
list
ColumnMappin
g
(
tableName
:
string
,
requireSync
:
boolean
)
{
return
axios
.
get
<
ColumnMappingRecord
[]
>
(
`
${
BASE_URL
}
/column
/
${
tableName
}
?requireSync=
${
requireSync
}
`
);
export
function
list
FieldConfi
g
(
tableName
:
string
,
requireSync
:
boolean
)
{
return
axios
.
get
<
FieldConfigRecord
[]
>
(
`
${
BASE_URL
}
/field
/
${
tableName
}
?requireSync=
${
requireSync
}
`
);
}
export
interface
GenConfigRecord
{
...
...
@@ -63,14 +63,14 @@ export interface GenConfigRecord {
}
export
function
getGenConfig
(
tableName
:
string
)
{
return
axios
.
get
<
GenConfigRecord
>
(
`
${
BASE_URL
}
/
table
/
${
tableName
}
`
);
return
axios
.
get
<
GenConfigRecord
>
(
`
${
BASE_URL
}
/
config
/
${
tableName
}
`
);
}
export
interface
GeneratorConfigRecord
{
genConfig
:
GenConfigRecord
;
columnMappings
:
ColumnMappin
gRecord
[];
fieldConfigs
:
FieldConfi
gRecord
[];
}
export
function
saveConfig
(
tableName
:
string
,
req
:
GeneratorConfigRecord
)
{
return
axios
.
post
(
`
${
BASE_URL
}
/
table
/
${
tableName
}
`
,
req
);
return
axios
.
post
(
`
${
BASE_URL
}
/
config
/
${
tableName
}
`
,
req
);
}
continew-admin-ui/src/views/tool/generator/index.vue
浏览文件 @
2d0e1f42
...
...
@@ -28,24 +28,6 @@
</a-form-item>
</a-form>
</div>
<!-- 操作栏 -->
<div
class=
"header-operation"
>
<a-row>
<a-col
:span=
"12"
>
<a-space>
<a-button
type=
"primary"
@
click=
"toGenerate(ids[0])"
>
<
template
#icon
><icon-robot-add
/></
template
>
代码生成
</a-button>
</a-space>
</a-col>
<a-col
:span=
"12"
>
<right-toolbar
v-model:show-query=
"showQuery"
@
refresh=
"getList"
/>
</a-col>
</a-row>
</div>
</div>
<!-- 列表区域 -->
...
...
@@ -54,11 +36,6 @@
row-key=
"tableName"
:data=
"tableList"
:loading=
"loading"
:row-selection=
"{
type: 'checkbox',
showCheckedAll: true,
onlyCurrent: false,
}"
:pagination=
"{
showTotal: true,
showPageSize: true,
...
...
@@ -71,7 +48,6 @@
size=
"large"
@
page-change=
"handlePageChange"
@
page-size-change=
"handlePageSizeChange"
@
selection-change=
"handleSelectionChange"
>
<
template
#columns
>
<a-table-column
title=
"序号"
>
...
...
@@ -103,13 +79,20 @@
type=
"text"
size=
"small"
title=
"生成"
@
click=
"
to
Generate(record.tableName)"
@
click=
"
handle
Generate(record.tableName)"
>
<
template
#icon
><icon-robot-add
/></
template
>
生成
</a-button>
</template>
</a-table-column>
</template>
<
template
#pagination-left
>
<a-tooltip
content=
"刷新"
>
<div
class=
"action-icon"
@
click=
"handleQuery"
>
<icon-refresh
size=
"18"
/>
</div>
</a-tooltip>
</
template
>
</a-table>
<!-- 表单区域 -->
...
...
@@ -138,8 +121,8 @@
size=
"small"
title=
"同步"
:disabled=
"
columnMappin
gList.length !== 0 &&
columnMappin
gList[0].createTime === null
fieldConfi
gList.length !== 0 &&
fieldConfi
gList[0].createTime === null
"
>
<template
#icon
><icon-sync
/></
template
>
同步
...
...
@@ -148,9 +131,9 @@
</a-popconfirm>
</template>
<a-table
ref=
"
columnMappin
gRef"
:data=
"
columnMappin
gList"
:loading=
"
columnMappin
gLoading"
ref=
"
fieldConfi
gRef"
:data=
"
fieldConfi
gList"
:loading=
"
fieldConfi
gLoading"
:pagination=
"false"
:bordered=
"false"
size=
"large"
...
...
@@ -307,10 +290,10 @@
import
{
TableRecord
,
TableParam
,
ColumnMappin
gRecord
,
FieldConfi
gRecord
,
GenConfigRecord
,
listTable
,
list
ColumnMappin
g
,
list
FieldConfi
g
,
getGenConfig
,
GeneratorConfigRecord
,
saveConfig
,
...
...
@@ -323,16 +306,13 @@
);
const
tableList
=
ref
<
TableRecord
[]
>
([]);
const
columnMappingList
=
ref
<
ColumnMappin
gRecord
[]
>
([]);
const
fieldConfigList
=
ref
<
FieldConfi
gRecord
[]
>
([]);
const
total
=
ref
(
0
);
const
ids
=
ref
<
Array
<
string
>>
([]);
const
title
=
ref
(
''
);
const
single
=
ref
(
true
);
const
multiple
=
ref
(
true
);
const
showQuery
=
ref
(
true
);
const
loading
=
ref
(
false
);
const
visible
=
ref
(
false
);
const
columnMappin
gLoading
=
ref
(
false
);
const
fieldConfi
gLoading
=
ref
(
false
);
const
data
=
reactive
({
// 查询参数
...
...
@@ -344,6 +324,7 @@
},
// 表单数据
form
:
{}
as
GenConfigRecord
,
// 代码生成配置数据
config
:
{}
as
GeneratorConfigRecord
,
// 表单验证规则
rules
:
{
...
...
@@ -385,8 +366,8 @@
tableComment
=
tableComment
?
`(
${
tableComment
}
)`
:
'
'
;
title
.
value
=
`
${
tableName
}${
tableComment
}
配置`
;
visible
.
value
=
true
;
// 查询
列映射信息
get
ColumnMappingList
(
tableName
,
false
);
// 查询
字段配置
get
FieldConfig
(
tableName
,
false
);
// 查询生成配置
getGenConfig
(
tableName
).
then
((
res
)
=>
{
form
.
value
=
res
.
data
;
...
...
@@ -400,24 +381,23 @@
* @param tableName 表名称
*/
const
handleRefresh
=
(
tableName
:
string
)
=>
{
get
ColumnMappingList
(
tableName
,
true
);
get
FieldConfig
(
tableName
,
true
);
};
/**
* 查询
列映射信息
* 查询
字段配置
*
* @param tableName 表名称
* @param requireSync 是否需要同步
*/
const
getColumnMappingList
=
(
tableName
:
string
,
requireSync
:
boolean
)
=>
{
// 查询列映射信息
columnMappingLoading
.
value
=
true
;
listColumnMapping
(
tableName
,
requireSync
)
const
getFieldConfig
=
(
tableName
:
string
,
requireSync
:
boolean
)
=>
{
fieldConfigLoading
.
value
=
true
;
listFieldConfig
(
tableName
,
requireSync
)
.
then
((
res
)
=>
{
columnMappin
gList
.
value
=
res
.
data
;
fieldConfi
gList
.
value
=
res
.
data
;
})
.
finally
(()
=>
{
columnMappin
gLoading
.
value
=
false
;
fieldConfi
gLoading
.
value
=
false
;
});
};
...
...
@@ -427,7 +407,7 @@
const
handleOk
=
()
=>
{
proxy
.
$refs
.
formRef
.
validate
((
valid
:
any
)
=>
{
if
(
!
valid
)
{
config
.
value
.
columnMappings
=
columnMappin
gList
.
value
;
config
.
value
.
fieldConfigs
=
fieldConfi
gList
.
value
;
config
.
value
.
genConfig
=
form
.
value
;
saveConfig
(
form
.
value
.
tableName
,
config
.
value
).
then
((
res
)
=>
{
handleCancel
();
...
...
@@ -444,29 +424,18 @@
const
handleCancel
=
()
=>
{
visible
.
value
=
false
;
proxy
.
$refs
.
formRef
?.
resetFields
();
columnMappin
gList
.
value
=
[];
fieldConfi
gList
.
value
=
[];
};
/**
*
代码生成
*
生成代码
*
* @param tableName 表名称
*/
const
to
Generate
=
(
tableName
:
string
)
=>
{
const
handle
Generate
=
(
tableName
:
string
)
=>
{
proxy
.
$message
.
info
(
'
功能尚在开发中
'
);
};
/**
* 已选择的数据行发生改变时触发
*
* @param rowKeys ID 列表
*/
const
handleSelectionChange
=
(
rowKeys
:
Array
<
any
>
)
=>
{
ids
.
value
=
rowKeys
;
single
.
value
=
rowKeys
.
length
!==
1
;
multiple
.
value
=
!
rowKeys
.
length
;
};
/**
* 查询
*/
...
...
@@ -517,4 +486,13 @@
:deep(.gen-config.arco-form) {
width: 50%;
}
.action-icon {
cursor: pointer;
margin-right: 10px;
}
.action-icon:hover {
color: #0960bd;
}
</
style
>
continew-admin-webapi/src/main/java/top/charles7c/cnadmin/webapi/controller/tool/GeneratorController.java
浏览文件 @
2d0e1f42
...
...
@@ -30,7 +30,7 @@ import org.springframework.web.bind.annotation.*;
import
top.charles7c.cnadmin.common.model.query.PageQuery
;
import
top.charles7c.cnadmin.common.model.vo.PageDataVO
;
import
top.charles7c.cnadmin.common.model.vo.R
;
import
top.charles7c.cnadmin.tool.model.entity.
ColumnMappin
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.
FieldConfi
gDO
;
import
top.charles7c.cnadmin.tool.model.entity.GenConfigDO
;
import
top.charles7c.cnadmin.tool.model.query.TableQuery
;
import
top.charles7c.cnadmin.tool.model.request.GenConfigRequest
;
...
...
@@ -58,21 +58,21 @@ public class GeneratorController {
return
R
.
ok
(
generatorService
.
pageTable
(
query
,
pageQuery
));
}
@Operation
(
summary
=
"查询字段配置列表"
,
description
=
"查询字段配置列表"
)
@GetMapping
(
"/field/{tableName}"
)
public
R
<
List
<
FieldConfigDO
>>
listFieldConfig
(
@PathVariable
String
tableName
,
@RequestParam
(
required
=
false
,
defaultValue
=
"false"
)
Boolean
requireSync
)
{
return
R
.
ok
(
generatorService
.
listFieldConfig
(
tableName
,
requireSync
));
}
@Operation
(
summary
=
"查询生成配置信息"
,
description
=
"查询生成配置信息"
)
@GetMapping
(
"/
table
/{tableName}"
)
@GetMapping
(
"/
config
/{tableName}"
)
public
R
<
GenConfigDO
>
getGenConfig
(
@PathVariable
String
tableName
)
throws
SQLException
{
return
R
.
ok
(
generatorService
.
getGenConfig
(
tableName
));
}
@Operation
(
summary
=
"查询列映射信息列表"
,
description
=
"查询列映射信息列表"
)
@GetMapping
(
"/column/{tableName}"
)
public
R
<
List
<
ColumnMappingDO
>>
listColumnMapping
(
@PathVariable
String
tableName
,
@RequestParam
(
required
=
false
,
defaultValue
=
"false"
)
Boolean
requireSync
)
{
return
R
.
ok
(
generatorService
.
listColumnMapping
(
tableName
,
requireSync
));
}
@Operation
(
summary
=
"保存配置信息"
,
description
=
"保存配置信息"
)
@PostMapping
(
"/
table
/{tableName}"
)
@PostMapping
(
"/
config
/{tableName}"
)
public
R
saveConfig
(
@Validated
@RequestBody
GenConfigRequest
request
,
@PathVariable
String
tableName
)
{
generatorService
.
saveConfig
(
request
,
tableName
);
return
R
.
ok
(
"保存成功"
);
...
...
continew-admin-webapi/src/main/resources/application.yml
浏览文件 @
2d0e1f42
...
...
@@ -52,7 +52,7 @@ generator:
-
DATABASECHANGELOG
-
DATABASECHANGELOGLOCK
-
gen_config
-
gen_
column_mappin
g
-
gen_
field_confi
g
---
### 接口文档配置
springdoc
:
...
...
continew-admin-webapi/src/main/resources/db/changelog/v1.1.0/continew-admin_table.sql
浏览文件 @
2d0e1f42
...
...
@@ -15,7 +15,7 @@ CREATE TABLE IF NOT EXISTS `gen_config` (
PRIMARY
KEY
(
`table_name`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'生成配置表'
;
CREATE
TABLE
IF
NOT
EXISTS
`gen_
column_mappin
g`
(
CREATE
TABLE
IF
NOT
EXISTS
`gen_
field_confi
g`
(
`table_name`
varchar
(
64
)
NOT
NULL
COMMENT
'表名称'
,
`column_name`
varchar
(
64
)
NOT
NULL
COMMENT
'列名称'
,
`column_type`
varchar
(
25
)
NOT
NULL
COMMENT
'列类型'
,
...
...
@@ -30,4 +30,4 @@ CREATE TABLE IF NOT EXISTS `gen_column_mapping` (
`query_type`
tinyint
(
1
)
UNSIGNED
DEFAULT
NULL
COMMENT
'查询方式'
,
`create_time`
datetime
NOT
NULL
COMMENT
'创建时间'
,
INDEX
`idx_table_name`
(
`table_name`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'列映射表'
;
\ No newline at end of file
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
COMMENT
=
'字段配置表'
;
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录