mirror of
https://gitee.com/luojinyi/likeadmin_go.git
synced 2025-12-24 08:12:57 +08:00
feat: 完成"生成详情"接口
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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"` // 主键
|
||||
}
|
||||
|
||||
@@ -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"` // 字段列表
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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:'更新时间'"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user