61 lines
1.8 KiB
Go
61 lines
1.8 KiB
Go
|
package tools
|
|||
|
|
|||
|
import (
|
|||
|
"errors"
|
|||
|
"github.com/gin-gonic/gin"
|
|||
|
"github.com/go-admin-team/go-admin-core/sdk/config"
|
|||
|
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
|||
|
_ "github.com/go-admin-team/go-admin-core/sdk/pkg/response"
|
|||
|
|
|||
|
"go-admin/app/other/models/tools"
|
|||
|
)
|
|||
|
|
|||
|
// GetDBTableList 分页列表数据
|
|||
|
// @Summary 分页列表数据 / page list data
|
|||
|
// @Description 数据库表分页列表 / database table page list
|
|||
|
// @Tags 工具 / 生成工具
|
|||
|
// @Param tableName query string false "tableName / 数据表名称"
|
|||
|
// @Param pageSize query int false "pageSize / 页条数"
|
|||
|
// @Param pageIndex query int false "pageIndex / 页码"
|
|||
|
// @Success 200 {object} response.Response "{"code": 200, "data": [...]}"
|
|||
|
// @Router /api/v1/db/tables/page [get]
|
|||
|
func (e Gen) GetDBTableList(c *gin.Context) {
|
|||
|
//var res response.Response
|
|||
|
var data tools.DBTables
|
|||
|
var err error
|
|||
|
var pageSize = 10
|
|||
|
var pageIndex = 1
|
|||
|
e.Context = c
|
|||
|
log := e.GetLogger()
|
|||
|
if config.DatabaseConfig.Driver == "sqlite3" || config.DatabaseConfig.Driver == "postgres" {
|
|||
|
err = errors.New("对不起,sqlite3 或 postgres 不支持代码生成!")
|
|||
|
log.Warn(err)
|
|||
|
e.Error(403, err, "")
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
if size := c.Request.FormValue("pageSize"); size != "" {
|
|||
|
pageSize, err = pkg.StringToInt(size)
|
|||
|
}
|
|||
|
|
|||
|
if index := c.Request.FormValue("pageIndex"); index != "" {
|
|||
|
pageIndex, err = pkg.StringToInt(index)
|
|||
|
}
|
|||
|
|
|||
|
db, err := pkg.GetOrm(c)
|
|||
|
if err != nil {
|
|||
|
log.Errorf("get db connection error, %s", err.Error())
|
|||
|
e.Error(500, err, "数据库连接获取失败")
|
|||
|
return
|
|||
|
}
|
|||
|
|
|||
|
data.TableName = c.Request.FormValue("tableName")
|
|||
|
result, count, err := data.GetPage(db, pageSize, pageIndex)
|
|||
|
if err != nil {
|
|||
|
log.Errorf("GetPage error, %s", err.Error())
|
|||
|
e.Error(500, err, "")
|
|||
|
return
|
|||
|
}
|
|||
|
e.PageOK(result, count, pageIndex, pageSize, "查询成功")
|
|||
|
}
|