From 4f086f2626b1cec31100a37d822614969b2d6535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Mon, 24 Jul 2023 14:41:39 +0800 Subject: [PATCH] - update service/kuaidi100 --- go.mod | 2 +- go.sum | 4 +- library.go | 2 +- service/kuaidi100/client.go | 1 + service/kuaidi100/request.go | 2 +- vendor/modules.txt | 2 +- vendor/xorm.io/builder/.drone.yml | 21 --------- vendor/xorm.io/builder/as.go | 10 ++++ vendor/xorm.io/builder/builder.go | 26 ++++++---- vendor/xorm.io/builder/builder_join.go | 43 +++++++++++++++++ vendor/xorm.io/builder/builder_limit.go | 13 +++-- vendor/xorm.io/builder/builder_select.go | 47 +++++++++---------- .../xorm.io/builder/builder_set_operations.go | 2 +- 13 files changed, 107 insertions(+), 68 deletions(-) delete mode 100644 vendor/xorm.io/builder/.drone.yml create mode 100644 vendor/xorm.io/builder/as.go diff --git a/go.mod b/go.mod index 2c0a59ce..5eeb2622 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( gorm.io/driver/postgres v1.5.2 gorm.io/gen v0.3.23 gorm.io/gorm v1.25.2 - xorm.io/builder v0.3.12 + xorm.io/builder v0.3.13 xorm.io/xorm v1.3.2 ) diff --git a/go.sum b/go.sum index 25f83f80..d8c339e2 100644 --- a/go.sum +++ b/go.sum @@ -953,7 +953,7 @@ rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= xorm.io/builder v0.3.11-0.20220531020008-1bd24a7dc978/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE= -xorm.io/builder v0.3.12 h1:ASZYX7fQmy+o8UJdhlLHSW57JDOkM8DNhcAF5d0LiJM= -xorm.io/builder v0.3.12/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE= +xorm.io/builder v0.3.13 h1:a3jmiVVL19psGeXx8GIurTp7p0IIgqeDmwhcR6BAOAo= +xorm.io/builder v0.3.13/go.mod h1:aUW0S9eb9VCaPohFCH3j7czOx1PMW3i1HrSzbLYGBSE= xorm.io/xorm v1.3.2 h1:uTRRKF2jYzbZ5nsofXVUx6ncMaek+SHjWYtCXyZo1oM= xorm.io/xorm v1.3.2/go.mod h1:9NbjqdnjX6eyjRRhh01GHm64r6N9shTb/8Ak3YRt8Nw= diff --git a/library.go b/library.go index cf011b22..ba879d83 100644 --- a/library.go +++ b/library.go @@ -1,5 +1,5 @@ package go_library func Version() string { - return "1.0.156" + return "1.0.157" } diff --git a/service/kuaidi100/client.go b/service/kuaidi100/client.go index 622b3cb7..b7c3c7c4 100644 --- a/service/kuaidi100/client.go +++ b/service/kuaidi100/client.go @@ -30,6 +30,7 @@ func NewClient(config *ClientConfig) (*Client, error) { c := &Client{} c.config.customer = config.Customer + c.config.key = config.Key c.requestClient = gorequest.NewHttp() diff --git a/service/kuaidi100/request.go b/service/kuaidi100/request.go index d2641dcd..87b3d34b 100644 --- a/service/kuaidi100/request.go +++ b/service/kuaidi100/request.go @@ -32,7 +32,7 @@ func (c *Client) request(ctx context.Context, url string, params map[string]inte client.SetContentTypeForm() // 设置参数 - client.SetParams(params) + client.SetParams(newParams) // 发起请求 request, err := client.Request(ctx) diff --git a/vendor/modules.txt b/vendor/modules.txt index fba91d12..d2216e4a 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -639,7 +639,7 @@ gorm.io/hints # gorm.io/plugin/dbresolver v1.4.1 ## explicit; go 1.14 gorm.io/plugin/dbresolver -# xorm.io/builder v0.3.12 +# xorm.io/builder v0.3.13 ## explicit; go 1.11 xorm.io/builder # xorm.io/xorm v1.3.2 diff --git a/vendor/xorm.io/builder/.drone.yml b/vendor/xorm.io/builder/.drone.yml deleted file mode 100644 index be7f500c..00000000 --- a/vendor/xorm.io/builder/.drone.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -kind: pipeline -name: testing - -trigger: - ref: - - refs/heads/master - - refs/pull/*/head - -steps: -- name: test - pull: default - image: golang:1.11 - commands: - - go get -u golang.org/x/lint/golint - - golint ./... - - go vet - - go test -v -race -coverprofile=coverage.txt -covermode=atomic - environment: - GOPROXY: https://goproxy.io - GO111MODULE: "on" \ No newline at end of file diff --git a/vendor/xorm.io/builder/as.go b/vendor/xorm.io/builder/as.go new file mode 100644 index 00000000..23345f57 --- /dev/null +++ b/vendor/xorm.io/builder/as.go @@ -0,0 +1,10 @@ +package builder + +type Aliased struct { + table interface{} + alias string +} + +func As(table interface{}, alias string) *Aliased { + return &Aliased{table, alias} +} diff --git a/vendor/xorm.io/builder/builder.go b/vendor/xorm.io/builder/builder.go index 04de5b46..c6b77423 100644 --- a/vendor/xorm.io/builder/builder.go +++ b/vendor/xorm.io/builder/builder.go @@ -60,7 +60,7 @@ type Builder struct { subQuery *Builder cond Cond selects []string - joins []join + joins joins setOps []setOp limitation *limit insertCols []string @@ -68,7 +68,7 @@ type Builder struct { updates []UpdateCond orderBy interface{} groupBy string - having string + having interface{} } // Dialect sets the db dialect of Builder. @@ -113,21 +113,31 @@ func (b *Builder) Where(cond Cond) *Builder { } // From sets from subject(can be a table name in string or a builder pointer) and its alias -func (b *Builder) From(subject interface{}, alias ...string) *Builder { - switch subject.(type) { +func (b *Builder) From(subject interface{}, aliasMaybe ...string) *Builder { + alias := "" + if len(aliasMaybe) > 0 { + alias = aliasMaybe[0] + } + + if aliased, ok := subject.(*Aliased); ok { + subject = aliased.table + alias = aliased.alias + } + + switch t := subject.(type) { case *Builder: - b.subQuery = subject.(*Builder) + b.subQuery = t if len(alias) > 0 { - b.from = alias[0] + b.from = alias } else { b.isNested = true } case string: - b.from = subject.(string) + b.from = t if len(alias) > 0 { - b.from = b.from + " " + alias[0] + b.from = b.from + " " + alias } } diff --git a/vendor/xorm.io/builder/builder_join.go b/vendor/xorm.io/builder/builder_join.go index a6604c5f..a8aef0a7 100644 --- a/vendor/xorm.io/builder/builder_join.go +++ b/vendor/xorm.io/builder/builder_join.go @@ -4,6 +4,10 @@ package builder +import ( + "fmt" +) + // InnerJoin sets inner join func (b *Builder) InnerJoin(joinTable, joinCond interface{}) *Builder { return b.Join("INNER", joinTable, joinCond) @@ -40,3 +44,42 @@ func (b *Builder) Join(joinType string, joinTable, joinCond interface{}) *Builde return b } + +type joins []join + +func (joins joins) WriteTo(w Writer) error { + for _, v := range joins { + var joinTable = v.joinTable + var alias string + if aliased, ok := v.joinTable.(*Aliased); ok { + joinTable = aliased.table + alias = aliased.alias + " " + } + + switch tbl := joinTable.(type) { + case *Builder: + if _, err := fmt.Fprintf(w, " %s JOIN (", v.joinType); err != nil { + return err + } + if err := tbl.WriteTo(w); err != nil { + return err + } + if _, err := fmt.Fprintf(w, ") %s", alias); err != nil { + return err + } + case string: + if _, err := fmt.Fprintf(w, " %s JOIN %s %s", v.joinType, tbl, alias); err != nil { + return err + } + } + if _, err := fmt.Fprintf(w, "ON "); err != nil { + return err + } + + if err := v.joinCond.WriteTo(w); err != nil { + return err + } + } + + return nil +} diff --git a/vendor/xorm.io/builder/builder_limit.go b/vendor/xorm.io/builder/builder_limit.go index 82e11793..793df377 100644 --- a/vendor/xorm.io/builder/builder_limit.go +++ b/vendor/xorm.io/builder/builder_limit.go @@ -19,12 +19,11 @@ func (b *Builder) limitWriteTo(w Writer) error { if limit.offset < 0 || limit.limitN <= 0 { return ErrInvalidLimitation } - // erase limit condition + // unset limit condition to prevent final.WriteTo from recursing forever b.limitation = nil defer func() { b.limitation = limit }() - ow := w.(*BytesWriter) switch strings.ToLower(strings.TrimSpace(b.dialect)) { case ORACLE: @@ -55,19 +54,19 @@ func (b *Builder) limitWriteTo(w Writer) error { Where(Gt{"att.RN": limit.offset}) } - return final.WriteTo(ow) + return final.WriteTo(w) case SQLITE, MYSQL, POSTGRES: // if type UNION, we need to write previous content back to current writer if b.optype == setOpType { - if err := b.WriteTo(ow); err != nil { + if err := b.WriteTo(w); err != nil { return err } } if limit.offset == 0 { - fmt.Fprint(ow, " LIMIT ", limit.limitN) + fmt.Fprint(w, " LIMIT ", limit.limitN) } else { - fmt.Fprintf(ow, " LIMIT %v OFFSET %v", limit.limitN, limit.offset) + fmt.Fprintf(w, " LIMIT %v OFFSET %v", limit.limitN, limit.offset) } case MSSQL: if len(b.selects) == 0 { @@ -93,7 +92,7 @@ func (b *Builder) limitWriteTo(w Writer) error { final = Dialect(b.dialect).Select(selects...).From(wb, "at").Where(Gt{"at.RN": limit.offset}) } - return final.WriteTo(ow) + return final.WriteTo(w) default: return ErrNotSupportType } diff --git a/vendor/xorm.io/builder/builder_select.go b/vendor/xorm.io/builder/builder_select.go index c457c643..a36d2a64 100644 --- a/vendor/xorm.io/builder/builder_select.go +++ b/vendor/xorm.io/builder/builder_select.go @@ -79,27 +79,8 @@ func (b *Builder) selectWriteTo(w Writer) error { } } - for _, v := range b.joins { - b, ok := v.joinTable.(*Builder) - if ok { - if _, err := fmt.Fprintf(w, " %s JOIN (", v.joinType); err != nil { - return err - } - if err := b.WriteTo(w); err != nil { - return err - } - if _, err := fmt.Fprintf(w, ") ON "); err != nil { - return err - } - } else { - if _, err := fmt.Fprintf(w, " %s JOIN %s ON ", v.joinType, v.joinTable); err != nil { - return err - } - } - - if err := v.joinCond.WriteTo(w); err != nil { - return err - } + if err := b.joins.WriteTo(w); err != nil { + return err } if b.cond.IsValid() { @@ -118,9 +99,25 @@ func (b *Builder) selectWriteTo(w Writer) error { } } - if len(b.having) > 0 { - if _, err := fmt.Fprint(w, " HAVING ", b.having); err != nil { - return err + if b.having != nil { + switch c := b.having.(type) { + case string: + if len(c) > 0 { + if _, err := fmt.Fprint(w, " HAVING ", c); err != nil { + return err + } + } + case Cond: + if c.IsValid() { + if _, err := fmt.Fprint(w, " HAVING "); err != nil { + return err + } + if err := c.WriteTo(w); err != nil { + return err + } + } + default: + return fmt.Errorf("unknown having parameter: %#v", b.having) } } @@ -166,7 +163,7 @@ func (b *Builder) GroupBy(groupby string) *Builder { } // Having having SQL -func (b *Builder) Having(having string) *Builder { +func (b *Builder) Having(having interface{}) *Builder { b.having = having return b } diff --git a/vendor/xorm.io/builder/builder_set_operations.go b/vendor/xorm.io/builder/builder_set_operations.go index 05dc5abe..6ad16778 100644 --- a/vendor/xorm.io/builder/builder_set_operations.go +++ b/vendor/xorm.io/builder/builder_set_operations.go @@ -11,7 +11,7 @@ import ( func (b *Builder) setOpWriteTo(w Writer) error { if b.limitation != nil || b.cond.IsValid() || - b.orderBy != nil || b.having != "" || b.groupBy != "" { + b.orderBy != nil || b.having != nil || b.groupBy != "" { return ErrNotUnexpectedUnionConditions }