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

@@ -1 +1 @@
# kratos-utils
# go-utils

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,

View File

@@ -1,5 +1,19 @@
package pagination
const (
DefaultPage = 1 // 默认页数
DefaultPageSize = 10 // 默认每页行数
)
// GetPageOffset 计算偏移量
func GetPageOffset(pageNum, pageSize int32) int {
if pageNum < 1 {
pageNum = DefaultPage
}
if pageSize < 1 {
pageSize = DefaultPageSize
}
return int((pageNum - 1) * pageSize)
}

View File

@@ -1,6 +1,6 @@
git tag v1.1.0
git tag bank_card/v1.1.0
git tag entgo/v1.1.1
git tag entgo/v1.1.2
git tag geoip/v1.1.0
git push origin --tags