Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4188ca4d8 | ||
|
|
e9ea8fa536 | ||
|
|
6ed25e948c | ||
|
|
bfea578907 | ||
|
|
b8a6f7f7d8 | ||
|
|
149ded5d4e | ||
|
|
60c0477999 | ||
|
|
ef3aa38cb2 | ||
|
|
498bc3ea18 | ||
|
|
1c225465de |
@@ -10,7 +10,7 @@ import (
|
||||
"github.com/mattn/go-sqlite3"
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
|
||||
"github.com/tx7do/kratos-utils/bank_card/assets"
|
||||
"github.com/tx7do/go-utils/bank_card/assets"
|
||||
)
|
||||
|
||||
type Database struct {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module github.com/tx7do/kratos-utils/bank_card
|
||||
module github.com/tx7do/go-utils/bank_card
|
||||
|
||||
go 1.20
|
||||
|
||||
@@ -12,3 +12,5 @@ require (
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace github.com/tx7do/go-utils => ../
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module github.com/tx7do/kratos-utils/entgo
|
||||
module github.com/tx7do/go-utils/entgo
|
||||
|
||||
go 1.20
|
||||
|
||||
@@ -8,7 +8,7 @@ require (
|
||||
github.com/go-kratos/kratos/v2 v2.7.1
|
||||
github.com/google/uuid v1.3.1
|
||||
github.com/stretchr/testify v1.8.4
|
||||
github.com/tx7do/kratos-utils v0.0.0-20231025044346-36a096df76d8
|
||||
github.com/tx7do/go-utils v1.1.0
|
||||
)
|
||||
|
||||
require (
|
||||
@@ -34,3 +34,5 @@ require (
|
||||
google.golang.org/protobuf v1.31.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace github.com/tx7do/go-utils => ../
|
||||
|
||||
@@ -7,6 +7,8 @@ entgo.io/ent v0.12.4/go.mod h1:Y3JVAjtlIk8xVZYSn3t3mf8xlZIn5SAOXZQxD6kKI+Q=
|
||||
github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
|
||||
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
|
||||
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
|
||||
github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM=
|
||||
github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0 h1:uYvfpb3DyLSCGWnctWKGj857c6ew1u1fNQOlOtuGxQY=
|
||||
github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4=
|
||||
github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY=
|
||||
@@ -18,6 +20,7 @@ github.com/go-kratos/kratos/v2 v2.7.1/go.mod h1:CPn82O93OLHjtnbuyOKhAG5TkSvw+mFn
|
||||
github.com/go-openapi/inflect v0.19.0 h1:9jCH9scKIbHeV9m12SmPilScz6krDxKRasNNSNPXu/4=
|
||||
github.com/go-openapi/inflect v0.19.0/go.mod h1:lHpZVlpIQqLyKwJ4N+YSc9hchQy/i12fJykb83CRBH4=
|
||||
github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68=
|
||||
github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA=
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
@@ -33,6 +36,7 @@ github.com/jhump/protoreflect v1.15.3/go.mod h1:4ORHmSBmlCW8fh3xHmJMGyul1zNqZK4E
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4=
|
||||
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
|
||||
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
|
||||
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
|
||||
@@ -42,12 +46,13 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/tx7do/kratos-utils v0.0.0-20231025044346-36a096df76d8 h1:G+s0DQ6zI0dGcvd9tRpXcYzelO0xRnp2jpFtQ+697Ko=
|
||||
github.com/tx7do/kratos-utils v0.0.0-20231025044346-36a096df76d8/go.mod h1:rTeeqeABjK9HamIwKZ+uLozVIk/hGiEbNsi6rVr4l0w=
|
||||
github.com/zclconf/go-cty v1.14.1 h1:t9fyA35fwjjUMcmL5hLER+e/rEPqrbCK1/OSE4SI9KA=
|
||||
github.com/zclconf/go-cty v1.14.1/go.mod h1:VvMs5i0vgZdhYawQNq5kePSpLAoz8u1xvZgrPIxfnZE=
|
||||
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
|
||||
|
||||
@@ -69,11 +69,11 @@ func (TimeAt) Fields() []ent.Field {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*CreatedTime)(nil)
|
||||
var _ ent.Mixin = (*CreateTime)(nil)
|
||||
|
||||
type CreatedTime struct{ mixin.Schema }
|
||||
type CreateTime struct{ mixin.Schema }
|
||||
|
||||
func (CreatedTime) Fields() []ent.Field {
|
||||
func (CreateTime) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 创建时间
|
||||
field.Time("create_time").
|
||||
@@ -86,11 +86,11 @@ func (CreatedTime) Fields() []ent.Field {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*UpdatedTime)(nil)
|
||||
var _ ent.Mixin = (*UpdateTime)(nil)
|
||||
|
||||
type UpdatedTime struct{ mixin.Schema }
|
||||
type UpdateTime struct{ mixin.Schema }
|
||||
|
||||
func (UpdatedTime) Fields() []ent.Field {
|
||||
func (UpdateTime) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 更新时间
|
||||
field.Time("update_time").
|
||||
@@ -102,11 +102,11 @@ func (UpdatedTime) Fields() []ent.Field {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*DeletedTime)(nil)
|
||||
var _ ent.Mixin = (*DeleteTime)(nil)
|
||||
|
||||
type DeletedTime struct{ mixin.Schema }
|
||||
type DeleteTime struct{ mixin.Schema }
|
||||
|
||||
func (DeletedTime) Fields() []ent.Field {
|
||||
func (DeleteTime) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 删除时间
|
||||
field.Time("delete_time").
|
||||
@@ -122,9 +122,9 @@ type Time struct{ mixin.Schema }
|
||||
|
||||
func (Time) Fields() []ent.Field {
|
||||
var fields []ent.Field
|
||||
fields = append(fields, CreatedTime{}.Fields()...)
|
||||
fields = append(fields, UpdatedTime{}.Fields()...)
|
||||
fields = append(fields, DeletedTime{}.Fields()...)
|
||||
fields = append(fields, CreateTime{}.Fields()...)
|
||||
fields = append(fields, UpdateTime{}.Fields()...)
|
||||
fields = append(fields, DeleteTime{}.Fields()...)
|
||||
return fields
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package mixin
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"entgo.io/ent"
|
||||
"entgo.io/ent/schema/field"
|
||||
"entgo.io/ent/schema/mixin"
|
||||
"time"
|
||||
)
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
@@ -74,3 +75,71 @@ func (Timestamp) Fields() []ent.Field {
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*CreatedAtTimestamp)(nil)
|
||||
|
||||
type CreatedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (CreatedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 创建时间,毫秒
|
||||
field.Int64("created_at").
|
||||
Comment("创建时间").
|
||||
Immutable().
|
||||
Optional().
|
||||
Nillable().
|
||||
DefaultFunc(time.Now().UnixMilli),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*UpdatedAtTimestamp)(nil)
|
||||
|
||||
type UpdatedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (UpdatedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 更新时间,毫秒
|
||||
// 需要注意的是,如果不是程序自动更新,那么这个字段不会被更新,除非在数据库里面下触发器更新。
|
||||
field.Int64("updated_at").
|
||||
Comment("更新时间").
|
||||
Optional().
|
||||
Nillable().
|
||||
UpdateDefault(time.Now().UnixMilli),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*DeletedAtTimestamp)(nil)
|
||||
|
||||
type DeletedAtTimestamp struct{ mixin.Schema }
|
||||
|
||||
func (DeletedAtTimestamp) Fields() []ent.Field {
|
||||
return []ent.Field{
|
||||
// 删除时间,毫秒
|
||||
field.Int64("deleted_at").
|
||||
Comment("删除时间").
|
||||
Optional().
|
||||
Nillable(),
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var _ ent.Mixin = (*TimestampAt)(nil)
|
||||
|
||||
type TimestampAt struct{ mixin.Schema }
|
||||
|
||||
func (TimestampAt) Fields() []ent.Field {
|
||||
var fields []ent.Field
|
||||
fields = append(fields, CreatedAtTimestamp{}.Fields()...)
|
||||
fields = append(fields, UpdatedAtTimestamp{}.Fields()...)
|
||||
fields = append(fields, DeletedAtTimestamp{}.Fields()...)
|
||||
return fields
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
"github.com/go-kratos/kratos/v2/encoding"
|
||||
|
||||
"github.com/tx7do/kratos-utils/stringcase"
|
||||
"github.com/tx7do/go-utils/stringcase"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -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)))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,24 +3,20 @@ package entgo
|
||||
import (
|
||||
"entgo.io/ent/dialect/sql"
|
||||
|
||||
paging "github.com/tx7do/kratos-utils/pagination"
|
||||
paging "github.com/tx7do/go-utils/pagination"
|
||||
)
|
||||
|
||||
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))
|
||||
}
|
||||
|
||||
@@ -5,11 +5,6 @@ import (
|
||||
_ "github.com/go-kratos/kratos/v2/encoding/json"
|
||||
)
|
||||
|
||||
const (
|
||||
DefaultPage = 1
|
||||
DefaultPageSize = 10
|
||||
)
|
||||
|
||||
// BuildQuerySelector 构建分页查询选择器
|
||||
func BuildQuerySelector(
|
||||
dbDriverName string,
|
||||
|
||||
@@ -7,8 +7,8 @@ import (
|
||||
"github.com/go-kratos/kratos/v2/log"
|
||||
"github.com/oschwald/geoip2-golang"
|
||||
|
||||
"github.com/tx7do/kratos-utils/geoip"
|
||||
"github.com/tx7do/kratos-utils/geoip/geolite/assets"
|
||||
"github.com/tx7do/go-utils/geoip"
|
||||
"github.com/tx7do/go-utils/geoip/geolite/assets"
|
||||
)
|
||||
|
||||
const defaultOutputLanguage = "zh-CN"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module github.com/tx7do/kratos-utils/geoip
|
||||
module github.com/tx7do/go-utils/geoip
|
||||
|
||||
go 1.20
|
||||
|
||||
@@ -17,3 +17,5 @@ require (
|
||||
golang.org/x/sys v0.10.0 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
)
|
||||
|
||||
replace github.com/tx7do/go-utils => ../
|
||||
|
||||
@@ -3,12 +3,12 @@ package qqwry
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"github.com/tx7do/kratos-utils/geoip"
|
||||
"github.com/tx7do/go-utils/geoip"
|
||||
"net"
|
||||
"strings"
|
||||
"sync"
|
||||
|
||||
"github.com/tx7do/kratos-utils/geoip/qqwry/assets"
|
||||
"github.com/tx7do/go-utils/geoip/qqwry/assets"
|
||||
)
|
||||
|
||||
type Client struct {
|
||||
|
||||
36
gitautotag.sh
Normal file
36
gitautotag.sh
Normal file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
|
||||
CURTAG=`git describe --abbrev=0 --tags`;
|
||||
CURTAG="${CURTAG/v/}"
|
||||
|
||||
IFS='.' read -a vers <<< "$CURTAG"
|
||||
|
||||
MAJ=${vers[0]}
|
||||
MIN=${vers[1]}
|
||||
BUG=${vers[2]}
|
||||
echo "Current Tag: v$MAJ.$MIN.$BUG"
|
||||
|
||||
for cmd in "$@"
|
||||
do
|
||||
case $cmd in
|
||||
"--major")
|
||||
# $((MAJ+1))
|
||||
((MAJ+=1))
|
||||
MIN=0
|
||||
BUG=0
|
||||
echo "Incrementing Major Version#"
|
||||
;;
|
||||
"--minor")
|
||||
((MIN+=1))
|
||||
BUG=0
|
||||
echo "Incrementing Minor Version#"
|
||||
;;
|
||||
"--bug")
|
||||
((BUG+=1))
|
||||
echo "Incrementing Bug Version#"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
NEWTAG="v$MAJ.$MIN.$BUG"
|
||||
echo "Adding Tag: $NEWTAG";
|
||||
git tag -a $NEWTAG -m $NEWTAG
|
||||
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
||||
module github.com/tx7do/kratos-utils
|
||||
module github.com/tx7do/go-utils
|
||||
|
||||
go 1.20
|
||||
|
||||
|
||||
85
ioutil/path.go
Normal file
85
ioutil/path.go
Normal file
@@ -0,0 +1,85 @@
|
||||
package ioutil
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
// GetWorkingDirPath 获取工作路径
|
||||
func GetWorkingDirPath() string {
|
||||
dir, err := os.Getwd()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return dir
|
||||
}
|
||||
|
||||
// GetExePath 获取可执行程序路径
|
||||
func GetExePath() string {
|
||||
ex, err := os.Executable()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
exePath := filepath.Dir(ex)
|
||||
return exePath
|
||||
}
|
||||
|
||||
// GetAbsPath 获取绝对路径
|
||||
func GetAbsPath() string {
|
||||
dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return dir
|
||||
}
|
||||
|
||||
// PathExist 路径是否存在
|
||||
func PathExist(path string) bool {
|
||||
_, err := os.Stat(path)
|
||||
if err == nil {
|
||||
return true
|
||||
}
|
||||
if os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// GetFileList 获取文件夹下面的所有文件的列表
|
||||
func GetFileList(root string) []string {
|
||||
var files []string
|
||||
|
||||
if err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
|
||||
files = append(files, path)
|
||||
return nil
|
||||
}); err != nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
return files
|
||||
}
|
||||
|
||||
// GetFolderNameList 获取当前文件夹下面的所有文件夹名的列表
|
||||
func GetFolderNameList(root string) []string {
|
||||
var names []string
|
||||
fs, _ := os.ReadDir(root)
|
||||
for _, file := range fs {
|
||||
if file.IsDir() {
|
||||
names = append(names, file.Name())
|
||||
}
|
||||
}
|
||||
return names
|
||||
}
|
||||
|
||||
// ReadFile 读取文件
|
||||
func ReadFile(path string) []byte {
|
||||
content, err := os.ReadFile(path)
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
return content
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/tx7do/kratos-utils/trans"
|
||||
"github.com/tx7do/go-utils/trans"
|
||||
)
|
||||
|
||||
type idCounter uint32
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/tx7do/kratos-utils/trans"
|
||||
"github.com/tx7do/go-utils/trans"
|
||||
)
|
||||
|
||||
func TestGenerateOrderIdWithRandom(t *testing.T) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
6
tag.bat
Normal file
6
tag.bat
Normal file
@@ -0,0 +1,6 @@
|
||||
git tag v1.1.2
|
||||
git tag bank_card/v1.1.0
|
||||
git tag entgo/v1.1.2
|
||||
git tag geoip/v1.1.0
|
||||
|
||||
git push origin --tags
|
||||
@@ -3,7 +3,7 @@ package util
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/tx7do/kratos-utils/trans"
|
||||
"github.com/tx7do/go-utils/trans"
|
||||
)
|
||||
|
||||
var DefaultTimeLocation *time.Location
|
||||
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/tx7do/kratos-utils/trans"
|
||||
"github.com/tx7do/go-utils/trans"
|
||||
)
|
||||
|
||||
func TestUnixMilliToStringPtr(t *testing.T) {
|
||||
|
||||
19
upgrade.bat
Normal file
19
upgrade.bat
Normal file
@@ -0,0 +1,19 @@
|
||||
echo off
|
||||
|
||||
::指定起始文件夹
|
||||
set DIR="%cd%"
|
||||
|
||||
go get all
|
||||
go mod tidy
|
||||
|
||||
cd %DIR%/bank_card
|
||||
go get all
|
||||
go mod tidy
|
||||
|
||||
cd %DIR%/entgo
|
||||
go get all
|
||||
go mod tidy
|
||||
|
||||
cd %DIR%/geoip
|
||||
go get all
|
||||
go mod tidy
|
||||
Reference in New Issue
Block a user