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,49 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
"go_test",
)
go_library(
name = "go_default_library",
srcs = ["sports.go"],
importpath = "go-common/app/interface/main/activity/service/sports",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/activity/conf:go_default_library",
"//app/interface/main/activity/dao/sports:go_default_library",
"//app/interface/main/activity/model/sports:go_default_library",
"//library/ecode: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"],
)
go_test(
name = "go_default_test",
srcs = ["sports_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/interface/main/activity/conf:go_default_library",
"//app/interface/main/activity/model/sports:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)

View File

@@ -0,0 +1,158 @@
package sports
import (
"context"
"encoding/json"
"net/url"
"time"
"go-common/app/interface/main/activity/conf"
"go-common/app/interface/main/activity/dao/sports"
mdlsp "go-common/app/interface/main/activity/model/sports"
"go-common/library/ecode"
"go-common/library/log"
)
const (
_qqNews = 1
_qqMatch = 2
_qqMatchTid = "14"
_qqTeamRank = 3
_qqRankTid = "34"
_qqPlayerRank = 4
_qqRoute = "matchUnion/fetchData"
_newsRoute = "getQQNewsIndexAndItemsVerify"
)
// Service struct
type Service struct {
dao *sports.Dao
}
// New Service
func New(c *conf.Config) (s *Service) {
s = &Service{
dao: sports.New(c),
}
go s.qqNews()
go s.qqMatch()
go s.qqTeamRank()
go s.qqPlayerRank()
return
}
func (s *Service) qqNews() {
var (
params = url.Values{}
rs *mdlsp.QqRes
err error
c = context.Background()
)
for {
for t := 0; t < conf.Conf.Rule.QqTryCount; t++ {
if rs, err = s.dao.QqNews(c, params, _newsRoute); err != nil || rs == nil {
continue
}
s.dao.SetQqCache(c, &rs.IDlist, _qqNews)
break
}
time.Sleep(time.Duration(conf.Conf.Rule.TickQq))
}
}
func (s *Service) qqMatch() {
var (
rs *json.RawMessage
err error
c = context.Background()
params = url.Values{}
)
params.Set("tid", _qqMatchTid)
params.Set("indexName", "col_4")
params.Set("startTime", conf.Conf.Rule.QqStartTime)
params.Set("endTime", conf.Conf.Rule.QqEndTime)
for {
for t := 0; t < conf.Conf.Rule.QqTryCount; t++ {
if rs, err = s.dao.Qq(c, params, _qqRoute); err != nil || rs == nil || len(*rs) == 0 {
continue
}
s.dao.SetQqCache(c, rs, _qqMatch)
break
}
time.Sleep(time.Duration(conf.Conf.Rule.TickQq))
}
}
func (s *Service) qqTeamRank() {
var (
rs *json.RawMessage
err error
c = context.Background()
params = url.Values{}
)
params.Set("tid", _qqRankTid)
params.Set("competitionId", "4")
params.Set("seasonId", conf.Conf.Rule.QqYear)
params.Set("valueType", "teamRank")
params.Set("valueId", "teamRank")
for {
for t := 0; t < conf.Conf.Rule.QqTryCount; t++ {
if rs, err = s.dao.Qq(c, params, _qqRoute); err != nil || rs == nil || len(*rs) == 0 {
continue
}
s.dao.SetQqCache(c, rs, _qqTeamRank)
break
}
time.Sleep(time.Duration(conf.Conf.Rule.TickQq))
}
}
func (s *Service) qqPlayerRank() {
var (
rs *json.RawMessage
err error
c = context.Background()
params = url.Values{}
)
params.Set("tid", _qqRankTid)
params.Set("competitionId", "4")
params.Set("seasonId", conf.Conf.Rule.PlayerYear)
params.Set("valueType", "playerGoalRank")
params.Set("valueId", "playerGoalRank")
for {
for t := 0; t < conf.Conf.Rule.QqTryCount; t++ {
if rs, err = s.dao.Qq(c, params, _qqRoute); err != nil || rs == nil || len(*rs) == 0 {
continue
}
s.dao.SetQqCache(c, rs, _qqPlayerRank)
break
}
time.Sleep(time.Duration(conf.Conf.Rule.TickQq))
}
}
// Qq get qq.
func (s *Service) Qq(c context.Context, params url.Values, p *mdlsp.ParamQq) (rs *json.RawMessage, err error) {
if p.Tp > 0 {
if rs, err = s.dao.QqCache(c, p.Tp); err != nil {
log.Error("s.dao.QqCache tp(%d) error(%v) ", p.Tp, err)
}
} else if rs, err = s.dao.Qq(c, params, p.Route); err != nil {
sports.PromError("QQ接口错误", "s.dao.Qq route(%s) error(%v)", p.Route, err)
}
if rs == nil {
err = ecode.ActivityServerTimeout
}
return
}
// News get qq news.
func (s *Service) News(c context.Context, params url.Values, p *mdlsp.ParamNews) (rs *mdlsp.QqRes, err error) {
if rs, err = s.dao.QqNews(c, params, p.Route); err != nil {
sports.PromError("QQ接口错误", "s.dao.Qq error(%v)", err)
}
if rs == nil {
err = ecode.ActivityServerTimeout
}
return
}

View File

@@ -0,0 +1,57 @@
package sports
import (
"context"
"flag"
"net/url"
"path/filepath"
"testing"
"time"
"go-common/app/interface/main/activity/conf"
"go-common/app/interface/main/activity/model/sports"
. "github.com/smartystreets/goconvey/convey"
)
var svf *Service
func init() {
dir, _ := filepath.Abs("../../cmd/activity-test.toml")
flag.Set("conf", dir)
if err := conf.Init(); err != nil {
panic(err)
}
if svf == nil {
svf = New(conf.Conf)
}
time.Sleep(time.Second)
}
func WithService(f func(s *Service)) func() {
return func() {
f(svf)
}
}
func TestService_Qq(t *testing.T) {
Convey("test service qq", t, WithService(func(svf *Service) {
var (
params url.Values
)
res, err := svf.Qq(context.Background(), params, &sports.ParamQq{Tp: 1})
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
}))
}
func TestService_News(t *testing.T) {
Convey("test service qq news", t, WithService(func(svf *Service) {
var (
params url.Values
)
res, err := svf.News(context.Background(), params, &sports.ParamNews{Route: "getQQNewsIndexAndItemsVerify"})
So(err, ShouldBeNil)
So(res, ShouldNotBeEmpty)
}))
}