Create & Init Project...
This commit is contained in:
49
app/admin/main/credit/dao/blocked/BUILD
Normal file
49
app/admin/main/credit/dao/blocked/BUILD
Normal file
@ -0,0 +1,49 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_test",
|
||||
"go_library",
|
||||
)
|
||||
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["dao_test.go"],
|
||||
embed = [":go_default_library"],
|
||||
rundir = ".",
|
||||
tags = ["automanaged"],
|
||||
deps = [
|
||||
"//app/admin/main/credit/conf:go_default_library",
|
||||
"//library/database/orm:go_default_library",
|
||||
"//vendor/github.com/jinzhu/gorm:go_default_library",
|
||||
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["dao.go"],
|
||||
importpath = "go-common/app/admin/main/credit/dao/blocked",
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = [
|
||||
"//app/admin/main/credit/conf:go_default_library",
|
||||
"//library/database/orm:go_default_library",
|
||||
"//library/net/http/blademaster:go_default_library",
|
||||
"//vendor/github.com/jinzhu/gorm:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
63
app/admin/main/credit/dao/blocked/dao.go
Normal file
63
app/admin/main/credit/dao/blocked/dao.go
Normal file
@ -0,0 +1,63 @@
|
||||
package blocked
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go-common/app/admin/main/credit/conf"
|
||||
"go-common/library/database/orm"
|
||||
bm "go-common/library/net/http/blademaster"
|
||||
|
||||
"github.com/jinzhu/gorm"
|
||||
)
|
||||
|
||||
// Dao struct info of Dao.
|
||||
type Dao struct {
|
||||
// mysql
|
||||
ReadDB *gorm.DB
|
||||
DB *gorm.DB
|
||||
// http
|
||||
client *bm.Client
|
||||
// conf
|
||||
c *conf.Config
|
||||
}
|
||||
|
||||
// New new a Dao and return.
|
||||
func New(c *conf.Config) (d *Dao) {
|
||||
d = &Dao{
|
||||
// conf
|
||||
c: c,
|
||||
// http client
|
||||
client: bm.NewClient(c.HTTPClient),
|
||||
ReadDB: orm.NewMySQL(c.ORM.Read),
|
||||
DB: orm.NewMySQL(c.ORM.Write),
|
||||
}
|
||||
d.initORM()
|
||||
return
|
||||
}
|
||||
|
||||
func (d *Dao) initORM() {
|
||||
d.ReadDB.LogMode(true)
|
||||
d.DB.LogMode(true)
|
||||
}
|
||||
|
||||
// Close close dao.
|
||||
func (d *Dao) Close() {
|
||||
if d.ReadDB != nil {
|
||||
d.ReadDB.Close()
|
||||
}
|
||||
if d.DB != nil {
|
||||
d.DB.Close()
|
||||
}
|
||||
}
|
||||
|
||||
// Ping check connection of db , mc.
|
||||
func (d *Dao) Ping(c context.Context) (err error) {
|
||||
if d.ReadDB != nil {
|
||||
err = d.ReadDB.DB().PingContext(c)
|
||||
return
|
||||
}
|
||||
if d.DB != nil {
|
||||
err = d.DB.DB().PingContext(c)
|
||||
}
|
||||
return
|
||||
}
|
69
app/admin/main/credit/dao/blocked/dao_test.go
Normal file
69
app/admin/main/credit/dao/blocked/dao_test.go
Normal file
@ -0,0 +1,69 @@
|
||||
package blocked
|
||||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"go-common/app/admin/main/credit/conf"
|
||||
_ "go-common/library/database/orm"
|
||||
|
||||
_ "github.com/jinzhu/gorm"
|
||||
. "github.com/smartystreets/goconvey/convey"
|
||||
)
|
||||
|
||||
var d *Dao
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
if os.Getenv("DEPLOY_ENV") != "" {
|
||||
flag.Set("app_id", "main.account-law.credit-admin")
|
||||
flag.Set("conf_appid", "main.account-law.credit-admin")
|
||||
flag.Set("conf_token", "eKmbn2M4jvSyyjMEOywLFOQlX5ggRG9x")
|
||||
flag.Set("tree_id", "5885")
|
||||
flag.Set("conf_version", "docker-1")
|
||||
flag.Set("deploy_env", "uat")
|
||||
flag.Set("conf_env", "10")
|
||||
flag.Set("conf_host", "config.bilibili.co")
|
||||
flag.Set("conf_path", "/tmp")
|
||||
flag.Set("region", "sh")
|
||||
flag.Set("zone", "sh001")
|
||||
} else {
|
||||
flag.Set("conf", "../../cmd/convey-test.toml")
|
||||
}
|
||||
flag.Parse()
|
||||
if err := conf.Init(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
d = New(conf.Conf)
|
||||
os.Exit(m.Run())
|
||||
}
|
||||
|
||||
func WithDao(f func(d *Dao)) func() {
|
||||
return func() {
|
||||
f(d)
|
||||
}
|
||||
}
|
||||
|
||||
func WithMysql(f func(d *Dao)) func() {
|
||||
return func() {
|
||||
f(d)
|
||||
}
|
||||
}
|
||||
|
||||
func ctx() context.Context {
|
||||
return context.Background()
|
||||
}
|
||||
|
||||
func Test_initORM(t *testing.T) {
|
||||
Convey("not need return", t, func() {
|
||||
d.initORM()
|
||||
})
|
||||
}
|
||||
|
||||
func Test_Ping(t *testing.T) {
|
||||
Convey("return someting", t, func() {
|
||||
err := d.Ping(context.TODO())
|
||||
So(err, ShouldBeNil)
|
||||
})
|
||||
}
|
Reference in New Issue
Block a user