- update dorm

- update wechatpayopen
master
李光春 2 years ago
parent bfa0593eab
commit d3a88c60f4

@ -1,5 +1,5 @@
package go_library
func Version() string {
return "v2022-07-19"
return "v2022-07-20"
}

@ -69,3 +69,8 @@ func algorithm() string {
const (
CodeSuccess = "SUCCESS"
)
type ApiError struct {
Code string `json:"code"`
Message string `json:"message"`
}

@ -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)
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}

@ -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
}
Loading…
Cancel
Save