Skip to content

Commit 759de17

Browse files
author
XieBiao
committed
http server init
1 parent d3e1ef7 commit 759de17

File tree

8 files changed

+109
-54
lines changed

8 files changed

+109
-54
lines changed

config/db.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dsn = "root:123456@tcp(127.0.0.1:3306)/test"
66
log = true
77
loglevel = 0
88
logfile = "./sql.log"
9+
timezone = "Asia/Shanghai"
910

1011
[connections.db1]
1112
driver = "sqlite3"
@@ -20,4 +21,5 @@ driver = "mysql"
2021
dsn = "root:123456@tcp(127.0.0.1:3306)/db2"
2122
log = false
2223
loglevel = 0
23-
logfile = "./sql.log"
24+
logfile = "./sql.log"
25+
timezone = "Asia/Shanghai"

db/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type Connection struct {
1313
Log bool
1414
LogLevel int
1515
LogFile string
16+
Timezone string
1617
}
1718

1819
type Connections struct {

db/db.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"github.com/go-xorm/xorm"
55
"os"
66
"github.com/go-xorm/core"
7+
"time"
78
)
89

910
type DB struct {
@@ -23,14 +24,18 @@ func NewDB(conn string) *DB {
2324

2425
if cfg.Log {
2526
//log into file
26-
if len(cfg.LogFile) > 0 {
27+
if cfg.LogFile != "" {
2728
f, err := os.OpenFile(cfg.LogFile, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
2829
if err != nil {
2930
panic(err)
3031
}
3132
db.Engine.SetLogger(xorm.NewSimpleLogger(f))
3233
} //else log into console
3334

35+
if cfg.Timezone != "" {
36+
db.Engine.TZLocation, _ = time.LoadLocation(cfg.Timezone)
37+
}
38+
3439
db.Engine.ShowSQL(true)
3540
db.Engine.ShowExecTime(true)
3641
db.Engine.Logger().SetLevel(core.LogLevel(cfg.LogLevel))

db/models/base.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package models
22

33
import (
4-
xcore "github.com/go-xorm/core"
4+
"github.com/go-xorm/core"
55
"github.com/hhxsv5/go-db-proxy-api/db"
66
)
77

88
func NewDB(conn string) *db.DB {
9-
db := db.NewDB(conn)
9+
d := db.NewDB(conn)
1010

1111
//...some settings for xorm
12-
db.Engine.SetMapper(xcore.GonicMapper{})
13-
return db
12+
d.Engine.SetMapper(core.SnakeMapper{})
13+
return d
1414
}

examples/main.go

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,36 @@
11
package main
22

33
import (
4-
"github.com/hhxsv5/go-db-proxy-api"
5-
"time"
4+
"fmt"
5+
"github.com/hhxsv5/go-db-proxy-api/examples/models/mydefault"
66
"io"
7+
"github.com/hhxsv5/go-db-proxy-api"
78
"net/http"
9+
"time"
810
)
911

1012
func main() {
11-
//user := mydefault.CreateUser("18780207350")
12-
//fmt.Println(user)
13-
//fmt.Printf("%p", user)
14-
1513
var handlers = map[string]func(w http.ResponseWriter, r *http.Request){}
1614
handlers["/"] = func(w http.ResponseWriter, r *http.Request) {
17-
response := "Hello http server by golang!\n"
18-
response += "Now: " + time.Now().String() + "\n"
19-
io.WriteString(w, response)
15+
//rand.Seed(time.Now().UnixNano())
16+
//cellphone := "1878020" + strconv.Itoa(int(1000+rand.Int31n(9999-1000)))
17+
//mydefault.CreateUser(cellphone)
18+
19+
users := mydefault.GetUsersByIds([]uint64{})
20+
21+
var (
22+
rsp string
23+
it time.Time
24+
mt time.Time
25+
)
26+
27+
for i, u := range users {
28+
it = time.Unix(u.InsertTime, 0)
29+
mt = time.Unix(u.ModifyTime, 0)
30+
rsp += fmt.Sprintf("%d: %d, %s, %s, %s\n", i, u.Id, u.Cellphone, it.Format("2006-01-02 15:04:05"), mt.Format("2006-01-02 15:04:05"))
31+
}
32+
33+
io.WriteString(w, rsp)
2034
}
2135

2236
p := godpa.NewProxy(handlers)

examples/models/db1/user.go

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,41 @@ import (
55
)
66

77
type User struct {
8-
Id uint32
9-
Cellphone string
10-
InsertTime uint32 `xorm:"created"`
11-
ModifyTime uint32 `xorm:"updated"`
8+
Id uint64 `xorm:"id"`
9+
Cellphone string `xorm:"cellphone"`
10+
InsertTime int64 `xorm:"insertTime bigint created"`
11+
ModifyTime int64 `xorm:"modifyTime bigint updated"`
1212
}
1313

14-
func CreateUser(cellphone string) *User {
14+
func CreateUser(cellphone string) User {
1515
user := new(User)
1616
user.Cellphone = cellphone
1717
_, err := orm.Insert(user)
1818
if err != nil {
19-
return nil
19+
panic(err)
2020
}
21-
return user
21+
return *user
2222
}
2323

24-
func GetUserById(id uint32) *User {
25-
var user *User
26-
orm.Where("id=?", id).Limit(1, 0).Get(user)
24+
func GetUserById(id uint64) User {
25+
var user User
26+
_, err := orm.Where("id=?", id).Limit(1, 0).Get(&user)
27+
if err != nil {
28+
panic(err)
29+
}
2730
return user
2831
}
2932

30-
func GetUsersByIds(ids []uint32) *[]User {
31-
var users *[]User
32-
orm.Where(builder.In("id", ids)).Find(users)
33+
func GetUsersByIds(ids []uint64) []User {
34+
var users []User
35+
var err error
36+
if len(ids) > 0 {
37+
err = orm.Where(builder.In("id", ids)).Find(&users)
38+
} else {
39+
err = orm.Where("1").Find(&users)
40+
}
41+
if err != nil {
42+
panic(err)
43+
}
3344
return users
3445
}

examples/models/db2/user.go

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,41 @@ import (
55
)
66

77
type User struct {
8-
Id uint32
9-
Cellphone string
10-
InsertTime uint32 `xorm:"created"`
11-
ModifyTime uint32 `xorm:"updated"`
8+
Id uint64 `xorm:"id"`
9+
Cellphone string `xorm:"cellphone"`
10+
InsertTime int64 `xorm:"insertTime bigint created"`
11+
ModifyTime int64 `xorm:"modifyTime bigint updated"`
1212
}
1313

14-
func CreateUser(cellphone string) *User {
14+
func CreateUser(cellphone string) User {
1515
user := new(User)
1616
user.Cellphone = cellphone
1717
_, err := orm.Insert(user)
1818
if err != nil {
19-
return nil
19+
panic(err)
2020
}
21-
return user
21+
return *user
2222
}
2323

24-
func GetUserById(id uint32) *User {
25-
var user *User
26-
orm.Where("id=?", id).Limit(1, 0).Get(user)
24+
func GetUserById(id uint64) User {
25+
var user User
26+
_, err := orm.Where("id=?", id).Limit(1, 0).Get(&user)
27+
if err != nil {
28+
panic(err)
29+
}
2730
return user
2831
}
2932

30-
func GetUsersByIds(ids []uint32) *[]User {
31-
var users *[]User
32-
orm.Where(builder.In("id", ids)).Find(users)
33+
func GetUsersByIds(ids []uint64) []User {
34+
var users []User
35+
var err error
36+
if len(ids) > 0 {
37+
err = orm.Where(builder.In("id", ids)).Find(&users)
38+
} else {
39+
err = orm.Where("1").Find(&users)
40+
}
41+
if err != nil {
42+
panic(err)
43+
}
3344
return users
3445
}

examples/models/mydefault/user.go

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,30 +5,41 @@ import (
55
)
66

77
type User struct {
8-
Id uint32
9-
Cellphone string
10-
InsertTime uint32 `xorm:"created"`
11-
ModifyTime uint32 `xorm:"updated"`
8+
Id uint64 `xorm:"id"`
9+
Cellphone string `xorm:"cellphone"`
10+
InsertTime int64 `xorm:"insertTime bigint created"`
11+
ModifyTime int64 `xorm:"modifyTime bigint updated"`
1212
}
1313

14-
func CreateUser(cellphone string) *User {
14+
func CreateUser(cellphone string) User {
1515
user := new(User)
1616
user.Cellphone = cellphone
1717
_, err := orm.Insert(user)
1818
if err != nil {
19-
return nil
19+
panic(err)
2020
}
21-
return user
21+
return *user
2222
}
2323

24-
func GetUserById(id uint32) *User {
25-
var user *User
26-
orm.Where("id=?", id).Limit(1, 0).Get(user)
24+
func GetUserById(id uint64) User {
25+
var user User
26+
_, err := orm.Where("id=?", id).Limit(1, 0).Get(&user)
27+
if err != nil {
28+
panic(err)
29+
}
2730
return user
2831
}
2932

30-
func GetUsersByIds(ids []uint32) *[]User {
31-
var users *[]User
32-
orm.Where(builder.In("id", ids)).Find(users)
33+
func GetUsersByIds(ids []uint64) []User {
34+
var users []User
35+
var err error
36+
if len(ids) > 0 {
37+
err = orm.Where(builder.In("id", ids)).Find(&users)
38+
} else {
39+
err = orm.Where("1").Find(&users)
40+
}
41+
if err != nil {
42+
panic(err)
43+
}
3344
return users
3445
}

0 commit comments

Comments
 (0)