Skip to content

Commit

Permalink
把公共操作类的方法收集到包里以避免在使用时必须新建对象
Browse files Browse the repository at this point in the history
  • Loading branch information
yangyile committed Dec 9, 2024
1 parent 72321b8 commit 2fc2001
Show file tree
Hide file tree
Showing 8 changed files with 427 additions and 40 deletions.
14 changes: 12 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ require (
github.com/yyle88/must v0.0.9
github.com/yyle88/neatjson v0.0.10
github.com/yyle88/rese v0.0.1
github.com/yyle88/runpath v1.0.22
github.com/yyle88/sure v0.0.33
github.com/yyle88/syntaxgo v0.0.39
github.com/yyle88/tern v0.0.3
gorm.io/driver/sqlite v1.5.6
gorm.io/gorm v1.25.12
Expand All @@ -18,16 +21,23 @@ require (
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/kr/text v0.2.0 // indirect
github.com/mattn/go-sqlite3 v1.14.24 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
github.com/yyle88/erero v1.0.14 // indirect
github.com/yyle88/formatgo v1.0.19 // indirect
github.com/yyle88/mutexmap v1.0.8 // indirect
github.com/yyle88/sure v0.0.32 // indirect
github.com/yyle88/syntaxgo v0.0.37 // indirect
github.com/yyle88/printgo v1.0.1 // indirect
github.com/yyle88/zaplog v0.0.16 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20241204233417-43b7b7cde48d // indirect
golang.org/x/mod v0.22.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/text v0.21.0 // indirect
golang.org/x/tools v0.28.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
13 changes: 9 additions & 4 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
Expand All @@ -10,10 +13,12 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/mattn/go-sqlite3 v1.14.24 h1:tpSp2G2KyMnnQu99ngJ47EIkWVmliIizyZBfPrBWDRM=
github.com/mattn/go-sqlite3 v1.14.24/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
Expand All @@ -36,10 +41,10 @@ github.com/yyle88/rese v0.0.1 h1:Eu2I+7BpbkX1n7SOu11AHVqecTuOVdg4becgt2ThGIo=
github.com/yyle88/rese v0.0.1/go.mod h1:GoPiHJPEWyeBL0DxOHT5hLnibFbav+jck/NZxLqNVI8=
github.com/yyle88/runpath v1.0.22 h1:gcyaNMNZq7yjL2Xlwvs0W7BOkzn4VJTJqA8ko7CKhKg=
github.com/yyle88/runpath v1.0.22/go.mod h1:JRGxn/0Ytg6CvGoE2VrO74oX8Lu4jbOPZDKxr8tzPEg=
github.com/yyle88/sure v0.0.32 h1:cUKZDMR2E5c1sc9f99JTZi3GBdBienU3lh3/O98l6/4=
github.com/yyle88/sure v0.0.32/go.mod h1:29eZWpgHwkeK3bq8TL2Db7PP2Zi6JagGJd+gOAjcdjw=
github.com/yyle88/syntaxgo v0.0.37 h1:OxLXa6qFJQASkrhc9bdb9lgwBuFIz9TNUR86YJH180M=
github.com/yyle88/syntaxgo v0.0.37/go.mod h1:vR/bU2RVwvkfkQyMy30OWpdmn5jc3wrm8vcMbHQGCbc=
github.com/yyle88/sure v0.0.33 h1:draMRRyZ3IWnXFyfKIWwH3ljWvA5Pq/X+z/fHyCbyFE=
github.com/yyle88/sure v0.0.33/go.mod h1:ep6XBfw1D5bBNsihnaWlenO8Qc8lF+vfqwDqvnZBM9Y=
github.com/yyle88/syntaxgo v0.0.39 h1:947UHHAqGsHAmS7nJ5Y/Br+yhJjTZtq1543XIizfevI=
github.com/yyle88/syntaxgo v0.0.39/go.mod h1:vR/bU2RVwvkfkQyMy30OWpdmn5jc3wrm8vcMbHQGCbc=
github.com/yyle88/tern v0.0.3 h1:Ut5p1wPAVcreEkmzDp+IiteA3K2vnTeAYE1PyBLNgjU=
github.com/yyle88/tern v0.0.3/go.mod h1:g9weyOMLtXYyt37EAshZPUTTHdH7WFauuxDi4oPr7/8=
github.com/yyle88/zaplog v0.0.16 h1:ZCxQhq3+nWeWMAXIzeA1EA4exRq5Pn8pXTpEw1GjyD4=
Expand Down
92 changes: 92 additions & 0 deletions gormcnqs/qs_common.gen.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
package gormcnqs

import (
"github.com/yyle88/gormcnm"
"github.com/yyle88/gormcnm/internal/utils"
"gorm.io/gorm"
)

func OK() bool {
return stub.OK()
}
func CreateCondition(stmt string, args ...interface{}) *gormcnm.QxConjunction {
return stub.CreateCondition(stmt, args...)
}
func NewQx(stmt string, args ...interface{}) *gormcnm.QxConjunction {
return stub.NewQx(stmt, args...)
}
func Qx(stmt string, args ...interface{}) *gormcnm.QxConjunction {
return stub.Qx(stmt, args...)
}
func CreateSelect(stmt string, args ...interface{}) *gormcnm.SelectStatement {
return stub.CreateSelect(stmt, args...)
}
func NewSx(stmt string, args ...interface{}) *gormcnm.SelectStatement {
return stub.NewSx(stmt, args...)
}
func Sx(stmt string, args ...interface{}) *gormcnm.SelectStatement {
return stub.Sx(stmt, args...)
}
func NewColumnValueMap() gormcnm.ColumnValueMap {
return stub.NewColumnValueMap()
}
func NewKw() gormcnm.ColumnValueMap {
return stub.NewKw()
}
func CreateColumnValueMap(columnName string, value interface{}) gormcnm.ColumnValueMap {
return stub.CreateColumnValueMap(columnName, value)
}
func Kw(columnName string, value interface{}) gormcnm.ColumnValueMap {
return stub.Kw(columnName, value)
}
func Where(db *gorm.DB, qxs ...*gormcnm.QxConjunction) *gorm.DB {
return stub.Where(db, qxs...)
}
func OrderByColumns(db *gorm.DB, obs ...gormcnm.OrderByBottle) *gorm.DB {
return stub.OrderByColumns(db, obs...)
}
func UpdateColumns(db *gorm.DB, kws ...gormcnm.ColumnValueMap) *gorm.DB {
return stub.UpdateColumns(db, kws...)
}
func CombineColumnNames(a ...utils.ColumnNameInterface) string {
return stub.CombineColumnNames(a...)
}
func MergeNames(a ...utils.ColumnNameInterface) string {
return stub.MergeNames(a...)
}
func CombineStatements(a ...string) string {
return stub.CombineStatements(a...)
}
func MergeStmts(a ...string) string {
return stub.MergeStmts(a...)
}
func CountStmt(alias string) string {
return stub.CountStmt(alias)
}
func CountCaseWhenStmt(condition string, alias string) string {
return stub.CountCaseWhenStmt(condition, alias)
}
func CountCaseWhenQxSx(qx *gormcnm.QxConjunction, alias string) *gormcnm.SelectStatement {
return stub.CountCaseWhenQxSx(qx, alias)
}
func CombineSelectStatements(cs ...gormcnm.SelectStatement) *gormcnm.SelectStatement {
return stub.CombineSelectStatements(cs...)
}
func CombineSxs(cs ...gormcnm.SelectStatement) *gormcnm.SelectStatement {
return stub.CombineSxs(cs...)
}
func Select(db *gorm.DB, qxs ...*gormcnm.SelectStatement) *gorm.DB {
return stub.Select(db, qxs...)
}
func LEFTJOIN(tableName string) *gormcnm.TableJoin {
return stub.LEFTJOIN(tableName)
}
func RIGHTJOIN(tableName string) *gormcnm.TableJoin {
return stub.RIGHTJOIN(tableName)
}
func INNERJOIN(tableName string) *gormcnm.TableJoin {
return stub.INNERJOIN(tableName)
}
func CROSSJOIN(tableName string) *gormcnm.TableJoin {
return stub.CROSSJOIN(tableName)
}
29 changes: 29 additions & 0 deletions gormcnqs/qs_common.gen_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package gormcnqs

import (
"testing"

"github.com/yyle88/must"
"github.com/yyle88/runpath"
"github.com/yyle88/runpath/runtestpath"
"github.com/yyle88/sure/cls_stub_gen"
"github.com/yyle88/syntaxgo"
"github.com/yyle88/syntaxgo/syntaxgo_ast"
"github.com/yyle88/syntaxgo/syntaxgo_reflect"
)

func TestGen(t *testing.T) {
packageName := syntaxgo_reflect.GetPkgNameV4(stub)
must.Equals("gormcnm", packageName)

cfg := &cls_stub_gen.StubGenConfig{
SourceRootPath: runpath.PARENT.UpTo(2, packageName),
TargetPackageName: syntaxgo.CurrentPackageName(),
ImportOptions: syntaxgo_ast.NewPackageImportOptions(),
OutputPath: runtestpath.SrcPath(t),
AllowFileCreation: false,
}

param := cls_stub_gen.NewStubParam(stub, "stub")
cls_stub_gen.GenerateStubs(cfg, param)
}
5 changes: 5 additions & 0 deletions gormcnqs/stub.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package gormcnqs

import "github.com/yyle88/gormcnm"

var stub = &gormcnm.ColumnOperationClass{}
Loading

0 comments on commit 2fc2001

Please sign in to comment.