Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["service_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/interface/main/creative/conf:go_default_library",
"//app/interface/main/creative/model/game:go_default_library",
"//app/interface/main/creative/service:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = ["service.go"],
importpath = "go-common/app/interface/main/creative/service/ad",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/creative/conf:go_default_library",
"//app/interface/main/creative/dao/game:go_default_library",
"//app/interface/main/creative/dao/porder:go_default_library",
"//app/interface/main/creative/model/game:go_default_library",
"//app/interface/main/creative/model/porder:go_default_library",
"//app/interface/main/creative/service:go_default_library",
"//library/log: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"],
)

View File

@@ -0,0 +1,114 @@
package ad
import (
"context"
"sort"
"strings"
"time"
"go-common/app/interface/main/creative/conf"
gD "go-common/app/interface/main/creative/dao/game"
porderD "go-common/app/interface/main/creative/dao/porder"
gM "go-common/app/interface/main/creative/model/game"
porderM "go-common/app/interface/main/creative/model/porder"
"go-common/app/interface/main/creative/service"
"go-common/library/log"
)
//Service struct.
type Service struct {
c *conf.Config
game *gD.Dao
porder *porderD.Dao
industryList []*porderM.Config
showList []*porderM.Config
}
//New get service.
func New(c *conf.Config, rpcdaos *service.RPCDaos) *Service {
s := &Service{
c: c,
game: gD.New(c),
porder: porderD.New(c),
industryList: []*porderM.Config{},
showList: []*porderM.Config{},
}
s.loadPorderConfigList()
go s.loadproc()
return s
}
// GameList fn
func (s *Service) GameList(c context.Context, keywordStr, letterStr string, pn, ps int, ip string) (glist *gM.ListWithPager, err error) {
list, err := s.game.List(context.TODO(), keywordStr, ip)
if err != nil || len(list) == 0 {
return
}
res := []*gM.ListItem{}
if len(letterStr) > 0 {
letterStr = strings.ToUpper(string(letterStr[0]))
for _, ele := range list {
if ele.Letter == letterStr {
res = append(res, ele)
}
}
} else {
res = list
}
sort.Slice(res, func(i, j int) bool { return res[i].GameBaseID > res[j].GameBaseID })
total := len(res)
start := (pn - 1) * ps
end := pn * ps
glist = &gM.ListWithPager{
Pn: pn,
Ps: ps,
Total: total,
}
if total <= start {
glist.List = make([]*gM.ListItem, 0)
} else if total <= end {
glist.List = res[start:total]
} else {
glist.List = res[start:end]
}
return
}
// IndustryList fn
func (s *Service) IndustryList(c context.Context) (list []*porderM.Config, err error) {
list = s.industryList
return
}
// ShowList fn
func (s *Service) ShowList(c context.Context) (list []*porderM.Config, err error) {
list = s.showList
return
}
func (s *Service) loadproc() {
//for wait rpc client connect
time.Sleep(time.Duration(2 * time.Second))
for {
s.loadPorderConfigList()
time.Sleep(time.Duration(2 * time.Minute))
}
}
func (s *Service) loadPorderConfigList() {
list, err := s.porder.ListConfig(context.TODO())
if err != nil || list == nil || len(list) == 0 {
return
}
s.industryList = []*porderM.Config{}
s.showList = []*porderM.Config{}
for _, v := range list {
if v.Tp == porderM.ConfigTypeIndustry {
s.industryList = append(s.industryList, v)
}
if v.Tp == porderM.ConfigTypeShow {
s.showList = append(s.showList, v)
}
}
log.Info("ListConfig (%d)|(%d)", len(s.showList), len(s.industryList))
}

View File

@@ -0,0 +1,51 @@
package ad
import (
"context"
"flag"
"go-common/app/interface/main/creative/conf"
gM "go-common/app/interface/main/creative/model/game"
"path/filepath"
"testing"
"time"
. "github.com/smartystreets/goconvey/convey"
"go-common/app/interface/main/creative/service"
)
var (
s *Service
)
func init() {
dir, _ := filepath.Abs("../../cmd/creative.toml")
flag.Set("conf", dir)
conf.Init()
rpcdaos := service.NewRPCDaos(conf.Conf)
s = New(conf.Conf, rpcdaos)
time.Sleep(time.Second)
}
func WithService(f func(s *Service)) func() {
return func() {
Reset(func() {})
f(s)
}
}
func Test_GameList(t *testing.T) {
var (
c = context.TODO()
err error
localHost = "127.0.0.1"
glist *gM.ListWithPager
)
Convey("GameList", t, WithService(func(s *Service) {
glist, err = s.GameList(c, "", "", 1, 20, localHost)
So(err, ShouldBeNil)
So(glist, ShouldNotBeNil)
So(glist.Pn, ShouldEqual, 1)
So(glist.Ps, ShouldEqual, 20)
So(glist.List[0].GameBaseID, ShouldBeGreaterThanOrEqualTo, glist.List[1].GameBaseID)
}))
}