feat: entgo.

This commit is contained in:
tx7do
2023-10-27 08:15:00 +08:00
parent bfea578907
commit 6ed25e948c
6 changed files with 36 additions and 23 deletions

View File

@@ -21,14 +21,14 @@ func QueryCommandToOrderConditions(orderBys []string) (error, func(s *sql.Select
continue
}
s.OrderBy(sql.Desc(s.C(key)))
BuildOrderSelect(s, key, true)
} else {
// 升序
if len(v) == 0 {
continue
}
s.OrderBy(sql.Asc(s.C(v)))
BuildOrderSelect(s, v, false)
}
}
}
@@ -37,9 +37,17 @@ func QueryCommandToOrderConditions(orderBys []string) (error, func(s *sql.Select
func BuildOrderSelector(orderBys []string, defaultOrderField string) (error, func(s *sql.Selector)) {
if len(orderBys) == 0 {
return nil, func(s *sql.Selector) {
s.OrderBy(sql.Desc(s.C(defaultOrderField)))
BuildOrderSelect(s, defaultOrderField, true)
}
} else {
return QueryCommandToOrderConditions(orderBys)
}
}
func BuildOrderSelect(s *sql.Selector, field string, desc bool) {
if desc {
s.OrderBy(sql.Desc(s.C(field)))
} else {
s.OrderBy(sql.Asc(s.C(field)))
}
}

View File

@@ -9,18 +9,14 @@ import (
func BuildPaginationSelector(page, pageSize int32, noPaging bool) func(*sql.Selector) {
if noPaging {
return nil
}
if page == 0 {
page = DefaultPage
}
if pageSize == 0 {
pageSize = DefaultPageSize
}
return func(s *sql.Selector) {
s.Offset(paging.GetPageOffset(page, pageSize)).
Limit(int(pageSize))
} else {
return func(s *sql.Selector) {
BuildPaginationSelect(s, page, pageSize)
}
}
}
func BuildPaginationSelect(s *sql.Selector, page, pageSize int32) {
offset := paging.GetPageOffset(page, pageSize)
s.Offset(offset).Limit(int(pageSize))
}

View File

@@ -5,11 +5,6 @@ import (
_ "github.com/go-kratos/kratos/v2/encoding/json"
)
const (
DefaultPage = 1
DefaultPageSize = 10
)
// BuildQuerySelector 构建分页查询选择器
func BuildQuerySelector(
dbDriverName string,