package dao import ( "github.com/druidcaesa/gotool" req2 "ulink-admin/modules/system/models/req" response2 "ulink-admin/modules/system/models/response" "ulink-admin/pkg/base" "ulink-admin/pkg/page" "xorm.io/xorm" ) type CodeDao struct { } // 查询公共sql func (d CodeDao) queryTableSql() *xorm.Session { return base.SqlDB.NewSession().Table([]string{"information_schema.tables", "t"}) } // 查询公共sql func (d CodeDao) queryColumSql() *xorm.Session { return base.SqlDB.NewSession().Table([]string{"information_schema.columns", "t"}) } // Find 查询用户集合 func (d CodeDao) FindTable(query req2.TableQuery) ([]*response2.TableResponse, int64) { resp := make([]*response2.TableResponse, 0) sql := d.queryTableSql() sql.And("t.table_schema = (select database())") if gotool.StrUtils.HasNotEmpty(query.TableName) { sql.And("table_name = ?", query.TableName) } sql.Desc("create_time") total, err := sql.Limit(query.PageSize, page.StartSize(query.PageNum, query.PageSize)).FindAndCount(&resp) if err != nil { gotool.Logs.ErrorLog().Println(err) return nil, 0 } return resp, total } // Find 查询用户集合 func (d CodeDao) FindColumn(query req2.ColnumQuery) ([]*response2.ColumnResponse, int64) { resp := make([]*response2.ColumnResponse, 0) sql := d.queryColumSql() sql.And("t.table_schema = (select database())") sql.And("t.table_name =?", query.TableName) total, err := sql.FindAndCount(&resp) if err != nil { gotool.Logs.ErrorLog().Println(err) return nil, 0 } return resp, total }