feat: 完成"生成详情"接口

This commit is contained in:
geeknonerd
2023-03-28 08:14:57 +08:00
parent 6c19dc9a92
commit 42d98ea046
5 changed files with 124 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ func regGen(rg *gin.RouterGroup, group *core.GroupBase) error {
return group.Reg(func(handle *genHandler) {
rg.GET("/db", handle.dbTables)
rg.GET("/list", handle.List)
rg.GET("/detail", handle.Detail)
})
}
@@ -55,3 +56,13 @@ func (gh genHandler) List(c *gin.Context) {
res, err := gh.srv.List(page, listReq)
response.CheckAndRespWithData(c, res, err)
}
//Detail 生成详情
func (gh genHandler) Detail(c *gin.Context) {
var detailReq req.DetailTableReq
if response.IsFailWithResp(c, util.VerifyUtil.VerifyQuery(c, &detailReq)) {
return
}
res, err := gh.srv.Detail(detailReq.ID)
response.CheckAndRespWithData(c, res, err)
}

View File

@@ -15,3 +15,8 @@ type ListTableReq struct {
StartTime time.Time `form:"startTime" time_format:"2006-01-02"` // 开始时间
EndTime time.Time `form:"endTime" time_format:"2006-01-02"` // 结束时间
}
//DetailTableReq 生成详情参数
type DetailTableReq struct {
ID uint `form:"id" binding:"required,gt=0"` // 主键
}

View File

@@ -21,3 +21,57 @@ type GenTableResp struct {
CreateTime core.TsTime `json:"createTime" structs:"createTime"` // 创建时间
UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间
}
//GenTableBaseResp 生成表基本返回信息
type GenTableBaseResp struct {
ID uint `json:"id" structs:"id"` // 主键
TableName string `json:"tableName" structs:"tableName"` // 表的名称
TableComment string `json:"tableComment" structs:"tableComment"` // 表的描述
EntityName string `json:"entityName" structs:"entityName"` // 实体名称
AuthorName string `json:"authorName" structs:"authorName"` // 作者名称
Remark string `json:"remark" structs:"remark"` // 备注信息
CreateTime core.TsTime `json:"createTime" structs:"createTime"` // 创建时间
UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间
}
//GenTableGenResp 生成表生成返回信息
type GenTableGenResp struct {
GenTpl string `json:"genTpl" structs:"genTpl"` // 生成模板方式: [crud=单表, tree=树表]
GenType int `json:"genType" structs:"genType"` // 生成代码方式: [0=zip压缩包, 1=自定义路径]
GenPath string `json:"genPath" structs:"genPath"` // 生成代码路径: [不填默认项目路径]
ModuleName string `json:"moduleName" structs:"moduleName"` // 生成模块名
FunctionName string `json:"functionName" structs:"functionName"` // 生成功能名
TreePrimary string `json:"treePrimary" structs:"treePrimary"` // 树主键字段
TreeParent string `json:"treeParent" structs:"treeParent"` // 树父级字段
TreeName string `json:"treeName" structs:"treeName"` // 树显示字段
SubTableName string `json:"subTableName" structs:"subTableName"` // 关联表名称
SubTableFk string `json:"subTableFk" structs:"subTableFk"` // 关联表外键
}
//GenColumnResp 生成列返回信息
type GenColumnResp struct {
ID uint `json:"id" structs:"id"` // 字段主键
ColumnName string `json:"columnName" structs:"columnName"` // 字段名称
ColumnComment string `json:"columnComment" structs:"columnComment"` // 字段描述
ColumnLength int `json:"columnLength" structs:"columnLength"` // 字段长度
ColumnType string `json:"columnType" structs:"columnType"` // 字段类型
JavaType string `json:"goType" structs:"goType"` // Go类型
JavaField string `json:"goField" structs:"goField"` // Go字段
IsRequired uint8 `json:"isRequired" structs:"isRequired"` // 是否必填
IsInsert uint8 `json:"isInsert" structs:"isInsert"` // 是否为插入字段
IsEdit uint8 `json:"isEdit" structs:"isEdit"` // 是否编辑字段
IsList uint8 `json:"isList" structs:"isList"` // 是否列表字段
IsQuery uint8 `json:"isQuery" structs:"isQuery"` // 是否查询字段
QueryType string `json:"queryType" structs:"queryType"` // 查询方式: [等于、不等于、大于、小于、范围]
HtmlType string `json:"htmlType" structs:"htmlType"` // 显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]
DictType string `json:"dictType" structs:"dictType"` // 字典类型
CreateTime core.TsTime `json:"createTime" structs:"createTime"` // 创建时间
UpdateTime core.TsTime `json:"updateTime" structs:"updateTime"` // 更新时间
}
//GenTableDetailResp 生成表详情返回信息
type GenTableDetailResp struct {
Base GenTableBaseResp `json:"base" structs:"base"` // 基本信息
Gen GenTableGenResp `json:"gen" structs:"gen"` // 生成信息
Columns []GenColumnResp `json:"columns" structs:"columns"` // 字段列表
}

View File

@@ -13,7 +13,7 @@ import (
type IGenerateService interface {
DbTables(page request.PageReq, req req.DbTablesReq) (res response.PageResp, e error)
List(page request.PageReq, listReq req.ListTableReq) (res response.PageResp, e error)
//Detail
Detail(id uint) (res resp.GenTableDetailResp, e error)
//ImportTable
//SyncTable
//EditTable
@@ -97,3 +97,31 @@ func (genSrv generateService) List(page request.PageReq, listReq req.ListTableRe
Lists: genResp,
}, nil
}
//Detail 生成详情
func (genSrv generateService) Detail(id uint) (res resp.GenTableDetailResp, e error) {
var genTb gen.GenTable
err := genSrv.db.Where("id = ?", id).Limit(1).First(&genTb).Error
if e = response.CheckErrDBNotRecord(err, "查询的数据不存在!"); e != nil {
return
}
if e = response.CheckErr(err, "Detail Find err"); e != nil {
return
}
var columns []gen.GenTableColumn
err = genSrv.db.Where("table_id = ?", id).Order("sort").Find(&columns).Error
if e = response.CheckErr(err, "Detail Find err"); e != nil {
return
}
var base resp.GenTableBaseResp
response.Copy(&base, genTb)
var gen resp.GenTableGenResp
response.Copy(&gen, genTb)
var colResp []resp.GenColumnResp
response.Copy(&colResp, columns)
return resp.GenTableDetailResp{
Base: base,
Gen: gen,
Columns: colResp,
}, e
}

View File

@@ -21,3 +21,28 @@ type GenTable struct {
CreateTime int64 `gorm:"autoCreateTime;not null;comment:'创建时间'"`
UpdateTime int64 `gorm:"autoUpdateTime;not null;comment:'更新时间'"`
}
//GenTableColumn 代码生成表列实体
type GenTableColumn struct {
ID uint `gorm:"primarykey;comment:'列主键'"`
TableID uint `gorm:"not null;default:0;comment:'表外键'"`
ColumnName string `gorm:"not null;default:'';comment:'列名称'"`
ColumnComment string `gorm:"not null;default:'';comment:'列描述'"`
ColumnLength string `gorm:"not null;default:0;comment:'列长度'"`
ColumnType string `gorm:"not null;default:'';comment:'列类型'"`
JavaType string `gorm:"not null;default:'';comment:'类型'"`
JavaField string `gorm:"not null;default:'';comment:'字段名'"`
IsPk string `gorm:"not null;default:'0';comment:'是否主键: [1=是, 0=否]'"`
IsIncrement string `gorm:"not null;default:'0';comment:'是否自增: [1=是, 0=否]'"`
IsRequired string `gorm:"not null;default:'0';comment:'是否必填: [1=是, 0=否]'"`
IsInsert string `gorm:"not null;default:'0';comment:'是否为插入字段: [1=是, 0=否]'"`
IsEdit string `gorm:"not null;default:'0';comment:'是否编辑字段: [1=是, 0=否]'"`
IsList string `gorm:"not null;default:'0';comment:'是否列表字段: [1=是, 0=否]'"`
IsQuery string `gorm:"not null;default:'0';comment:'是否查询字段: [1=是, 0=否]'"`
QueryType string `gorm:"not null;default:'0';comment:'查询方式: [等于、不等于、大于、小于、范围]'"`
HtmlType string `gorm:"not null;default:'0';comment:'显示类型: [文本框、文本域、下拉框、复选框、单选框、日期控件]'"`
DictType string `gorm:"not null;default:'';comment:'字典类型'"`
Sort int `gorm:"not null;default:0;comment:'排序编号'"`
CreateTime int64 `gorm:"autoCreateTime;not null;comment:'创建时间'"`
UpdateTime int64 `gorm:"autoUpdateTime;not null;comment:'更新时间'"`
}