1
This commit is contained in:
parent
70271a1b60
commit
a7c34b44d7
6
go.mod
6
go.mod
@ -1,3 +1,9 @@
|
|||||||
module q5
|
module q5
|
||||||
|
|
||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/garyburd/redigo v1.6.2
|
||||||
|
github.com/go-sql-driver/mysql v1.5.0
|
||||||
|
github.com/gomodule/redigo v1.8.3
|
||||||
|
)
|
||||||
|
16
go.sum
Normal file
16
go.sum
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM=
|
||||||
|
github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
|
||||||
|
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
|
||||||
|
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||||
|
github.com/gomodule/redigo v1.8.3 h1:HR0kYDX2RJZvAup8CsiJwxB4dTCSC0AaUq6S4SiLwUc=
|
||||||
|
github.com/gomodule/redigo v1.8.3/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
||||||
|
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
|
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
37
httpcli.go
Normal file
37
httpcli.go
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package q5
|
||||||
|
|
||||||
|
import (
|
||||||
|
"net/http"
|
||||||
|
"io/ioutil"
|
||||||
|
"errors"
|
||||||
|
)
|
||||||
|
|
||||||
|
func HttpGet(url string, params *XObject) (string, error) {
|
||||||
|
if !StrContains(url, "?") {
|
||||||
|
url = url + "?"
|
||||||
|
}
|
||||||
|
if resp, err := http.Get(url); err == nil {
|
||||||
|
if resp.StatusCode != 200 {
|
||||||
|
return "", errors.New("HttpGet error Status:" + resp.Status)
|
||||||
|
}
|
||||||
|
if bytes, err := ioutil.ReadAll(resp.Body); err == nil {
|
||||||
|
return string(bytes), nil
|
||||||
|
} else {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func HttpGetAsJson(url string, params *XObject) (*XObject, string, error) {
|
||||||
|
respStr, err := HttpGet(url, params)
|
||||||
|
if err != nil {
|
||||||
|
return nil, respStr, err
|
||||||
|
}
|
||||||
|
respObj := NewXoFromJsonStr(respStr)
|
||||||
|
if !respObj.IsObject() {
|
||||||
|
return nil, respStr, errors.New("HttpGetAsJson error invalid json format")
|
||||||
|
}
|
||||||
|
return respObj, respStr, err
|
||||||
|
}
|
59
mysql.go
Normal file
59
mysql.go
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package q5
|
||||||
|
|
||||||
|
import (
|
||||||
|
"database/sql"
|
||||||
|
_ "github.com/go-sql-driver/mysql"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Mysql struct {
|
||||||
|
host string
|
||||||
|
port int32
|
||||||
|
user string
|
||||||
|
passwd string
|
||||||
|
database string
|
||||||
|
db *sql.DB
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) init(host string, port int32, user string, passwd string, database string) {
|
||||||
|
this.host = host
|
||||||
|
this.port = port
|
||||||
|
this.user = user
|
||||||
|
this.passwd = passwd
|
||||||
|
this.database = database
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) Open() error {
|
||||||
|
db, err := sql.Open("mysql", "")
|
||||||
|
this.db = db
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) Close() {
|
||||||
|
if this.db != nil {
|
||||||
|
this.db.Close()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) Ping() error {
|
||||||
|
return this.db.Ping()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) Query(query string, args ...interface{}) (*sql.Rows, error) {
|
||||||
|
rows, err := this.db.Query(query, args)
|
||||||
|
return rows, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) QueryRow(query string, args ...interface{}) *sql.Row {
|
||||||
|
return this.db.QueryRow(query, args)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Mysql) Exec(query string, args ...interface{}) (sql.Result, error) {
|
||||||
|
result, err := this.db.Exec(query, args)
|
||||||
|
return result, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewMysql(host string, port int32, user string, passwd string, database string) *Mysql {
|
||||||
|
conn := new(Mysql)
|
||||||
|
conn.init(host, port, user, passwd, database)
|
||||||
|
return conn
|
||||||
|
}
|
24
redis.go
Normal file
24
redis.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package q5
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gomodule/redigo/redis"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Redis struct {
|
||||||
|
host string
|
||||||
|
port int32
|
||||||
|
passwd string
|
||||||
|
conn *redis.Conn
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Redis) Init(host string, port int32, passwd string) {
|
||||||
|
this.host = host
|
||||||
|
this.port = port
|
||||||
|
this.passwd = passwd
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Redis) Open() {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this* Redis) Close() {
|
||||||
|
}
|
@ -56,3 +56,11 @@ func EncodeJson(p interface{}) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func StrSplit(s string, sep string) []string {
|
||||||
|
return strings.Split(s, sep)
|
||||||
|
}
|
||||||
|
|
||||||
|
func StrContains(s string, substr string) bool {
|
||||||
|
return strings.Contains(s, substr)
|
||||||
|
}
|
||||||
|
10
sysutils.go
10
sysutils.go
@ -128,3 +128,13 @@ func FormatUnixDateTime(sec int64) string {
|
|||||||
strTime := time.Unix(sec, 0).Format("2006-01-02 15:04:05")
|
strTime := time.Unix(sec, 0).Format("2006-01-02 15:04:05")
|
||||||
return strTime
|
return strTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func FormatUnixDate(sec int64) string {
|
||||||
|
strTime := time.Unix(sec, 0).Format("2006-01-02")
|
||||||
|
return strTime
|
||||||
|
}
|
||||||
|
|
||||||
|
func FormatUnixDateEx(sec int64) string {
|
||||||
|
strTime := time.Unix(sec, 0).Format("20060102")
|
||||||
|
return strTime
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user