From d3a88c60f472253781ef5854afee763bbac49950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Wed, 20 Jul 2022 13:38:52 +0800 Subject: [PATCH] - update dorm - update wechatpayopen --- library.go | 2 +- service/wechatpayopen/const.go | 5 ++ .../pay.partner.transactions.out-trade-no.go | 20 ++++--- utils/dorm/beego_sqlite.go | 29 ---------- utils/dorm/bun_sqlite.go | 25 --------- utils/dorm/gorm_sqlite.go | 56 ------------------- utils/dorm/gorm_sqlite_cgo.go | 56 ------------------- utils/dorm/memcache.go | 24 -------- utils/dorm/mgm.go | 24 -------- utils/dorm/mgo.go | 27 --------- utils/dorm/qmgo.go | 31 ---------- utils/dorm/redigo.go | 38 ------------- utils/dorm/upper_sqlite.go | 23 -------- utils/dorm/xorm_sqlite3.go | 21 ------- utils/dorm/zorm_pgsql.go | 31 ---------- 15 files changed, 18 insertions(+), 394 deletions(-) delete mode 100644 utils/dorm/beego_sqlite.go delete mode 100644 utils/dorm/bun_sqlite.go delete mode 100644 utils/dorm/gorm_sqlite.go delete mode 100644 utils/dorm/gorm_sqlite_cgo.go delete mode 100644 utils/dorm/memcache.go delete mode 100644 utils/dorm/mgm.go delete mode 100644 utils/dorm/mgo.go delete mode 100644 utils/dorm/qmgo.go delete mode 100644 utils/dorm/redigo.go delete mode 100644 utils/dorm/upper_sqlite.go delete mode 100644 utils/dorm/xorm_sqlite3.go delete mode 100644 utils/dorm/zorm_pgsql.go diff --git a/library.go b/library.go index 604f0ea4..9180f649 100644 --- a/library.go +++ b/library.go @@ -1,5 +1,5 @@ package go_library func Version() string { - return "v2022-07-19" + return "v2022-07-20" } diff --git a/service/wechatpayopen/const.go b/service/wechatpayopen/const.go index d8037619..d209f2d3 100644 --- a/service/wechatpayopen/const.go +++ b/service/wechatpayopen/const.go @@ -69,3 +69,8 @@ func algorithm() string { const ( CodeSuccess = "SUCCESS" ) + +type ApiError struct { + Code string `json:"code"` + Message string `json:"message"` +} diff --git a/service/wechatpayopen/pay.partner.transactions.out-trade-no.go b/service/wechatpayopen/pay.partner.transactions.out-trade-no.go index 17eb6bb1..19df447f 100644 --- a/service/wechatpayopen/pay.partner.transactions.out-trade-no.go +++ b/service/wechatpayopen/pay.partner.transactions.out-trade-no.go @@ -55,14 +55,15 @@ type PayPartnerTransactionsOutTradeNoResponse struct { } type PayPartnerTransactionsOutTradeNoResult struct { - Result PayPartnerTransactionsOutTradeNoResponse // 结果 - Body []byte // 内容 - Http gorequest.Response // 请求 - Err error // 错误 + Result PayPartnerTransactionsOutTradeNoResponse // 结果 + Body []byte // 内容 + Http gorequest.Response // 请求 + Err error // 错误 + ApiError ApiError // 接口错误 } -func newPayPartnerTransactionsOutTradeNoResult(result PayPartnerTransactionsOutTradeNoResponse, body []byte, http gorequest.Response, err error) *PayPartnerTransactionsOutTradeNoResult { - return &PayPartnerTransactionsOutTradeNoResult{Result: result, Body: body, Http: http, Err: err} +func newPayPartnerTransactionsOutTradeNoResult(result PayPartnerTransactionsOutTradeNoResponse, body []byte, http gorequest.Response, err error, apiError ApiError) *PayPartnerTransactionsOutTradeNoResult { + return &PayPartnerTransactionsOutTradeNoResult{Result: result, Body: body, Http: http, Err: err, ApiError: apiError} } // PayPartnerTransactionsOutTradeNo 商户订单号查询 @@ -73,10 +74,13 @@ func (c *Client) PayPartnerTransactionsOutTradeNo(outTradeNo string) *PayPartner // 请求 request, err := c.request(fmt.Sprintf(apiUrl+"/v3/pay/partner/transactions/out-trade-no/%s?sp_mchid=%s&sub_mchid=%s", outTradeNo, c.config.SpMchId, c.config.SubMchId), params, http.MethodGet) if err != nil { - return newPayPartnerTransactionsOutTradeNoResult(PayPartnerTransactionsOutTradeNoResponse{}, request.ResponseBody, request, err) + return newPayPartnerTransactionsOutTradeNoResult(PayPartnerTransactionsOutTradeNoResponse{}, request.ResponseBody, request, err, ApiError{}) } // 定义 var response PayPartnerTransactionsOutTradeNoResponse err = json.Unmarshal(request.ResponseBody, &response) - return newPayPartnerTransactionsOutTradeNoResult(response, request.ResponseBody, request, err) + // 错误 + var apiError ApiError + err = json.Unmarshal(request.ResponseBody, &apiError) + return newPayPartnerTransactionsOutTradeNoResult(response, request.ResponseBody, request, err, apiError) } diff --git a/utils/dorm/beego_sqlite.go b/utils/dorm/beego_sqlite.go deleted file mode 100644 index 0a799cae..00000000 --- a/utils/dorm/beego_sqlite.go +++ /dev/null @@ -1,29 +0,0 @@ -package dorm - -import ( - "database/sql" - "errors" - "fmt" - "github.com/beego/beego/v2/client/orm" - _ "github.com/mattn/go-sqlite3" -) - -func NewBeegoSqliteClient(config *ConfigBeegoClient) (*BeegoClient, error) { - - var err error - c := &BeegoClient{config: config} - - err = orm.RegisterDriver("sqlite", orm.DRSqlite) - if err != nil { - return nil, errors.New(fmt.Sprintf("加载驱动失败:%v", err)) - } - - var db *sql.DB - o, err := orm.NewOrmWithDB("sqlite", "default", db) - if err != nil { - return nil, err - } - c.Db = &o - - return c, nil -} diff --git a/utils/dorm/bun_sqlite.go b/utils/dorm/bun_sqlite.go deleted file mode 100644 index f08eb694..00000000 --- a/utils/dorm/bun_sqlite.go +++ /dev/null @@ -1,25 +0,0 @@ -package dorm - -import ( - "database/sql" - "errors" - "fmt" - "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/sqlitedialect" - "github.com/uptrace/bun/driver/sqliteshim" -) - -func NewBunSqliteClient(config *ConfigBunClient) (*BunClient, error) { - - var err error - c := &BunClient{config: config} - - sqlDb, err := sql.Open(sqliteshim.ShimName, c.config.Dns) - if err != nil { - return nil, errors.New(fmt.Sprintf("加载驱动失败:%v", err)) - } - - c.Db = bun.NewDB(sqlDb, sqlitedialect.New()) - - return c, nil -} diff --git a/utils/dorm/gorm_sqlite.go b/utils/dorm/gorm_sqlite.go deleted file mode 100644 index 3c42d694..00000000 --- a/utils/dorm/gorm_sqlite.go +++ /dev/null @@ -1,56 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - "github.com/glebarez/sqlite" - "go.dtapp.net/library/utils/gotime" - "gorm.io/gorm" - "gorm.io/gorm/logger" - "time" -) - -func NewGormSqliteClient(config *ConfigGormClient) (*GormClient, error) { - - var err error - c := &GormClient{config: config} - - // 判断路径 - if c.config.LogUrl == "" { - logsUrl = "/logs/sqlite" - } - - if c.config.Log == true { - c.Db, err = gorm.Open(sqlite.Open(c.config.Dns), &gorm.Config{ - Logger: logger.New( - writer{}, - logger.Config{ - SlowThreshold: time.Second, // 慢 SQL 阈值 - LogLevel: logger.Info, // 日志级别 - IgnoreRecordNotFoundError: true, // 忽略ErrRecordNotFound(记录未找到)错误 - Colorful: false, // 禁用彩色打印 - }, - ), - NowFunc: func() time.Time { - return gotime.Current().Now().Local() - }, - }) - } else { - c.Db, err = gorm.Open(sqlite.Open(c.config.Dns), &gorm.Config{}) - } - - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - - sqlDB, err := c.Db.DB() - if err != nil { - return nil, errors.New(fmt.Sprintf("检查连接失败:%v", err)) - } - - sqlDB.SetMaxIdleConns(10) // 设置空闲连接池中连接的最大数量 - sqlDB.SetMaxOpenConns(100) // 设置打开数据库连接的最大数量。 - sqlDB.SetConnMaxLifetime(time.Second * 600) // 设置了连接可复用的最大时间。 - - return c, nil -} diff --git a/utils/dorm/gorm_sqlite_cgo.go b/utils/dorm/gorm_sqlite_cgo.go deleted file mode 100644 index 3d0d3817..00000000 --- a/utils/dorm/gorm_sqlite_cgo.go +++ /dev/null @@ -1,56 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - "go.dtapp.net/library/utils/gotime" - "gorm.io/driver/sqlite" - "gorm.io/gorm" - "gorm.io/gorm/logger" - "time" -) - -func NewGormSqliteCgoClient(config *ConfigGormClient) (*GormClient, error) { - - var err error - c := &GormClient{config: config} - - // 判断路径 - if c.config.LogUrl == "" { - logsUrl = "/logs/sqlite" - } - - if c.config.Log == true { - c.Db, err = gorm.Open(sqlite.Open(c.config.Dns), &gorm.Config{ - Logger: logger.New( - writer{}, - logger.Config{ - SlowThreshold: time.Second, // 慢 SQL 阈值 - LogLevel: logger.Info, // 日志级别 - IgnoreRecordNotFoundError: true, // 忽略ErrRecordNotFound(记录未找到)错误 - Colorful: false, // 禁用彩色打印 - }, - ), - NowFunc: func() time.Time { - return gotime.Current().Now().Local() - }, - }) - } else { - c.Db, err = gorm.Open(sqlite.Open(c.config.Dns), &gorm.Config{}) - } - - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - - sqlDB, err := c.Db.DB() - if err != nil { - return nil, errors.New(fmt.Sprintf("检查连接失败:%v", err)) - } - - sqlDB.SetMaxIdleConns(10) // 设置空闲连接池中连接的最大数量 - sqlDB.SetMaxOpenConns(100) // 设置打开数据库连接的最大数量。 - sqlDB.SetConnMaxLifetime(time.Second * 600) // 设置了连接可复用的最大时间。 - - return c, nil -} diff --git a/utils/dorm/memcache.go b/utils/dorm/memcache.go deleted file mode 100644 index 72b36d18..00000000 --- a/utils/dorm/memcache.go +++ /dev/null @@ -1,24 +0,0 @@ -package dorm - -import "github.com/bradfitz/gomemcache/memcache" - -type ConfigMemcacheClient struct { - Dns string -} - -type MemcacheClient struct { - Db *memcache.Client // 驱动 - config *ConfigMemcacheClient // 配置 -} - -func NewMemcacheClient(config *ConfigMemcacheClient) (*MemcacheClient, error) { - - c := &MemcacheClient{config: config} - - c.Db = memcache.New(c.config.Dns) - if c.Db != nil { - panic("memcache New failed") - } - - return c, nil -} diff --git a/utils/dorm/mgm.go b/utils/dorm/mgm.go deleted file mode 100644 index e15d7bfc..00000000 --- a/utils/dorm/mgm.go +++ /dev/null @@ -1,24 +0,0 @@ -package dorm - -import ( - "github.com/kamva/mgm/v3" - "go.mongodb.org/mongo-driver/mongo/options" -) - -type ConfigMgmClient struct { - Opts *options.ClientOptions - DatabaseName string // 库名 -} - -type MgmClient struct { - config *ConfigMgmClient // 配置 -} - -func NewMgmClient(config *ConfigMgmClient) (*MgmClient, error) { - - c := &MgmClient{config: config} - - _ = mgm.SetDefaultConfig(nil, c.config.DatabaseName, c.config.Opts) - - return c, nil -} diff --git a/utils/dorm/mgo.go b/utils/dorm/mgo.go deleted file mode 100644 index 7fcf3541..00000000 --- a/utils/dorm/mgo.go +++ /dev/null @@ -1,27 +0,0 @@ -package dorm - -import ( - "gopkg.in/mgo.v2" -) - -type ConfigMgoClient struct { - Dns string - DatabaseName string // 库名 -} - -type MgoClient struct { - config *ConfigMgoClient // 配置 -} - -func NewMgoClient(config *ConfigMgoClient) (*MgoClient, error) { - - c := &MgoClient{config: config} - - session, err := mgo.Dial(c.config.Dns) - if err != nil { - panic(err) - } - defer session.Close() - - return c, nil -} diff --git a/utils/dorm/qmgo.go b/utils/dorm/qmgo.go deleted file mode 100644 index f5ef583a..00000000 --- a/utils/dorm/qmgo.go +++ /dev/null @@ -1,31 +0,0 @@ -package dorm - -import ( - "context" - "errors" - "fmt" - "github.com/qiniu/qmgo" -) - -type ConfigQMgoClient struct { - Dns string - DatabaseName string // 库名 -} - -type QMgoClient struct { - Db *qmgo.Client - config *ConfigQMgoClient // 配置 -} - -func NewQgoClient(config *ConfigQMgoClient) (*QMgoClient, error) { - - var err error - c := &QMgoClient{config: config} - - c.Db, err = qmgo.NewClient(context.Background(), &qmgo.Config{Uri: c.config.Dns}) - if err != nil { - return nil, errors.New(fmt.Sprintf("检查连接失败:%v", err)) - } - - return c, nil -} diff --git a/utils/dorm/redigo.go b/utils/dorm/redigo.go deleted file mode 100644 index 445adff1..00000000 --- a/utils/dorm/redigo.go +++ /dev/null @@ -1,38 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - "github.com/gomodule/redigo/redis" -) - -type ConfigRedigoClient struct { - Addr string // 地址 - Password string // 密码 - DB int // 数据库 - PoolSize int // 连接池大小 -} - -// RedigoClient -// https://Redigo.uptrace.dev/ -type RedigoClient struct { - Db *redis.Conn // 驱动 - config *ConfigRedigoClient // 配置 -} - -func NewRedigoClient(config *ConfigRedigoClient) (*RedigoClient, error) { - - c := &RedigoClient{} - c.config = config - if c.config.PoolSize == 0 { - c.config.PoolSize = 100 - } - - db, err := redis.Dial("tcp", c.config.Addr, redis.DialPassword(c.config.Password), redis.DialDatabase(c.config.DB)) - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - c.Db = &db - - return c, nil -} diff --git a/utils/dorm/upper_sqlite.go b/utils/dorm/upper_sqlite.go deleted file mode 100644 index 55174c66..00000000 --- a/utils/dorm/upper_sqlite.go +++ /dev/null @@ -1,23 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - "github.com/upper/db/v4/adapter/sqlite" -) - -func NewUpperSqliteClient(settings sqlite.ConnectionURL) (*UpperClient, error) { - - var err error - c := &UpperClient{} - - sess, err := sqlite.Open(settings) - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - defer sess.Close() - - c.Db = &sess - - return c, nil -} diff --git a/utils/dorm/xorm_sqlite3.go b/utils/dorm/xorm_sqlite3.go deleted file mode 100644 index d1332fea..00000000 --- a/utils/dorm/xorm_sqlite3.go +++ /dev/null @@ -1,21 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - _ "github.com/mattn/go-sqlite3" - "xorm.io/xorm" -) - -func NewXormSqlite3Client(config *ConfigXormClient) (*XormClient, error) { - - var err error - c := &XormClient{config: config} - - c.Db, err = xorm.NewEngine("sqlite3", c.config.Dns) - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - - return c, nil -} diff --git a/utils/dorm/zorm_pgsql.go b/utils/dorm/zorm_pgsql.go deleted file mode 100644 index 05d13064..00000000 --- a/utils/dorm/zorm_pgsql.go +++ /dev/null @@ -1,31 +0,0 @@ -package dorm - -import ( - "errors" - "fmt" - "gitee.com/chunanyong/zorm" - _ "github.com/bmizerany/pq" -) - -func NewZormPgsqlClient(config *ConfigZormClient) (*ZormClient, error) { - - var err error - c := &ZormClient{config: config} - - c.Db, err = zorm.NewDBDao(&zorm.DataSourceConfig{ - DSN: c.config.Dns, - DriverName: "postgres", // 数据库驱动名称 - DBType: "postgresql", // 数据库类型 - PrintSQL: true, // 是否打印sql - MaxOpenConns: 0, // 数据库最大连接数,默认50 - MaxIdleConns: 0, // 数据库最大空闲连接数,默认50 - ConnMaxLifetimeSecond: 0, // 连接存活秒时间. 默认600(10分钟)后连接被销毁重建. - // 避免数据库主动断开连接,造成死连接.MySQL默认wait_timeout 28800秒(8小时) - DefaultTxOptions: nil, // 事务隔离级别的默认配置,默认为nil - }) - if err != nil { - return nil, errors.New(fmt.Sprintf("连接失败:%v", err)) - } - - return c, nil -}