Initial commit

This commit is contained in:
Donny
2019-04-22 20:46:32 +08:00
commit 49ab8aadd1
25441 changed files with 4055000 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"act.go",
"bnj.go",
"bws.go",
"http.go",
"kfc.go",
"like.go",
"match.go",
"sports.go",
"timemachine.go",
],
importpath = "go-common/app/interface/main/activity/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/interface/main/activity/conf:go_default_library",
"//app/interface/main/activity/model/bws:go_default_library",
"//app/interface/main/activity/model/like:go_default_library",
"//app/interface/main/activity/model/sports:go_default_library",
"//app/interface/main/activity/service/bnj:go_default_library",
"//app/interface/main/activity/service/bws:go_default_library",
"//app/interface/main/activity/service/kfc:go_default_library",
"//app/interface/main/activity/service/like:go_default_library",
"//app/interface/main/activity/service/sports:go_default_library",
"//app/interface/main/activity/service/timemachine:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster:go_default_library",
"//library/net/http/blademaster/middleware/auth:go_default_library",
"//library/net/http/blademaster/middleware/verify:go_default_library",
"//library/net/metadata: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,37 @@
package http
import (
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func redDot(c *bm.Context) {
v := new(struct {
Mid int64 `form:"mid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(likeSvc.RedDot(c, v.Mid))
}
func clearRedDot(c *bm.Context) {
var loginMid int64
v := new(struct {
Mid int64 `form:"mid"`
})
if err := c.Bind(v); err != nil {
return
}
if midInter, ok := c.Get("mid"); ok {
loginMid = midInter.(int64)
if loginMid != 0 {
v.Mid = loginMid
}
}
if v.Mid == 0 {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, likeSvc.ClearRetDot(c, v.Mid))
}

View File

@@ -0,0 +1,56 @@
package http
import bm "go-common/library/net/http/blademaster"
func previewInfo(c *bm.Context) {
var loginMid int64
if midInter, ok := c.Get("mid"); ok {
loginMid = midInter.(int64)
}
c.JSON(bnjSvc.PreviewInfo(c, loginMid), nil)
}
func timeline(c *bm.Context) {
var loginMid int64
if midInter, ok := c.Get("mid"); ok {
loginMid = midInter.(int64)
}
c.JSON(bnjSvc.Timeline(c, loginMid), nil)
}
func reset(c *bm.Context) {
midStr, _ := c.Get("mid")
mid := midStr.(int64)
cd, err := bnjSvc.TimeReset(c, mid)
if err != nil {
c.JSON(nil, err)
return
}
c.JSON(map[string]int64{"cd": cd}, nil)
}
func reward(c *bm.Context) {
v := new(struct {
Step int `form:"step" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(nil, likeSvc.Reward(c, mid, v.Step))
}
func delTime(c *bm.Context) {
v := new(struct {
Key string `form:"key" validate:"required"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, bnjSvc.DelTime(c, v.Key))
}
func fail(c *bm.Context) {
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,201 @@
package http
import (
"strconv"
"go-common/app/interface/main/activity/model/bws"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func user(c *bm.Context) {
var loginMid int64
v := new(struct {
Bid int64 `form:"bid" validate:"min=1"`
Mid int64 `form:"mid"`
Key string `form:"key"`
})
if err := c.Bind(v); err != nil {
return
}
if midInter, ok := c.Get("mid"); ok {
loginMid = midInter.(int64)
}
if v.Mid == 0 {
v.Mid = loginMid
}
if v.Mid == 0 && v.Key == "" {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(bwsSvc.User(c, v.Bid, v.Mid, v.Key))
}
func points(c *bm.Context) {
p := new(bws.ParamPoints)
if err := c.Bind(p); err != nil {
return
}
c.JSON(bwsSvc.Points(c, p))
}
func point(c *bm.Context) {
p := new(bws.ParamID)
if err := c.Bind(p); err != nil {
return
}
c.JSON(bwsSvc.Point(c, p))
}
func achievements(c *bm.Context) {
p := new(bws.ParamID)
if err := c.Bind(p); err != nil {
return
}
if p.Day != "" {
var (
day int64
err error
)
if day, err = strconv.ParseInt(p.Day, 10, 64); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if day < 20180719 || day > 20180722 {
c.JSON(nil, ecode.RequestErr)
return
}
}
c.JSON(bwsSvc.Achievements(c, p))
}
func achievement(c *bm.Context) {
p := new(bws.ParamID)
if err := c.Bind(p); err != nil {
return
}
c.JSON(bwsSvc.Achievement(c, p))
}
func unlock(c *bm.Context) {
v := new(bws.ParamUnlock)
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
if v.Mid == 0 && v.Key == "" {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, bwsSvc.Unlock(c, mid, v))
}
func binding(c *bm.Context) {
p := new(bws.ParamBinding)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(nil, bwsSvc.Binding(c, mid, p))
}
func award(c *bm.Context) {
p := new(bws.ParamAward)
if err := c.Bind(p); err != nil {
return
}
if p.Mid == 0 && p.Key == "" {
c.JSON(nil, ecode.RequestErr)
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(nil, bwsSvc.Award(c, mid, p))
}
func lottery(c *bm.Context) {
p := new(struct {
Bid int64 `form:"bid" validate:"min=1"`
Aid int64 `form:"aid" validate:"min=1"`
Day string `form:"day"`
})
if err := c.Bind(p); err != nil {
return
}
if p.Day != "" {
var (
day int64
err error
)
if day, err = strconv.ParseInt(p.Day, 10, 64); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if day < 20180719 || day > 20180722 {
c.JSON(nil, ecode.RequestErr)
return
}
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(bwsSvc.Lottery(c, p.Bid, mid, p.Aid, p.Day))
}
func redisInfo(c *bm.Context) {
v := new(struct {
Mid int64 `form:"mid"`
Key string `form:"key"`
Type string `form:"type" validate:"required"`
Day string `form:"day"`
Del int `form:"del"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
loginMid := midStr.(int64)
c.JSON(bwsSvc.RedisInfo(c, loginMid, v.Mid, v.Key, v.Day, v.Type, v.Del))
}
func keyInfo(c *bm.Context) {
v := new(struct {
ID int64 `form:"id"`
Mid int64 `form:"mid"`
Key string `form:"key"`
Type string `form:"type" validate:"required"`
Del int `form:"del"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
loginMid := midStr.(int64)
c.JSON(bwsSvc.KeyInfo(c, loginMid, v.ID, v.Mid, v.Key, v.Type, v.Del))
}
func lotteryCheck(c *bm.Context) {
v := new(struct {
Aid int64 `form:"aid" validate:"min=1"`
Day string `form:"day"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(bwsSvc.LotteryCheck(c, mid, v.Aid, v.Day))
}
func adminInfo(c *bm.Context) {
v := new(struct {
Bid int64 `form:"bid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(bwsSvc.AdminInfo(c, v.Bid, mid))
}

View File

@@ -0,0 +1,219 @@
package http
import (
"net/http"
"go-common/app/interface/main/activity/conf"
"go-common/app/interface/main/activity/service/bnj"
"go-common/app/interface/main/activity/service/bws"
"go-common/app/interface/main/activity/service/kfc"
"go-common/app/interface/main/activity/service/like"
"go-common/app/interface/main/activity/service/sports"
"go-common/app/interface/main/activity/service/timemachine"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/http/blademaster/middleware/auth"
"go-common/library/net/http/blademaster/middleware/verify"
)
var (
likeSvc *like.Service
sportsSvc *sports.Service
matchSvc *like.Service
bwsSvc *bws.Service
tmSvc *timemachine.Service
bnjSvc *bnj.Service
kfcSvc *kfc.Service
authSvc *auth.Auth
vfySvc *verify.Verify
)
// Init int http service
func Init(c *conf.Config) {
initService(c)
engine := bm.DefaultServer(c.HTTPServer)
outerRouter(engine)
internalRouter(engine)
// init Outer serve
if err := engine.Start(); err != nil {
log.Error("engine.Start error(%v)", err)
panic(err)
}
}
// initService init service
func initService(c *conf.Config) {
authSvc = auth.New(c.Auth)
vfySvc = verify.New(c.Verify)
likeSvc = like.New(c)
sportsSvc = sports.New(c)
matchSvc = like.New(c)
bwsSvc = bws.New(c)
tmSvc = timemachine.New(c)
bnjSvc = bnj.New(c)
kfcSvc = kfc.New(c)
}
//CloseService close all service
func CloseService() {
likeSvc.Close()
bnjSvc.Close()
kfcSvc.Close()
}
// outerRouter init outer router api path.
func outerRouter(e *bm.Engine) {
e.Ping(ping)
e.Register(register)
group := e.Group("/x/activity", bm.CORS())
{
group.GET("/subject", subject)
group.POST("/vote", authSvc.User, vote)
group.GET("/ltime", ltime)
group.GET("/object/group", groupData)
group.GET("/tag/object", tagList)
group.GET("/tag/object/stats", tagStats)
group.GET("/region/object", regionList)
group.GET("/subject/total/stat", subjectStat)
group.GET("/view/rank", viewRank)
group.POST("/likeact", authSvc.User, likeAct)
group.GET("/likeact/list", authSvc.Guest, likeActList)
group.POST("/missiongroup/like", authSvc.User, missionLike)
group.POST("/missiongroup/likeact", authSvc.User, missionLikeAct)
group.GET("/missiongroup/info", authSvc.User, missionInfo)
group.GET("/missiongroup/tops", missionTops)
group.GET("/missiongroup/user", missionUser)
group.GET("/missiongroup/rank", authSvc.User, missionRank)
group.GET("/missiongroup/friends", authSvc.User, missionFriends)
group.GET("/missiongroup/award", authSvc.User, missionAward)
group.POST("/missiongroup/achievement", authSvc.User, missionAchieve)
group.POST("/up/act", authSvc.User, storyKingAct)
group.GET("/up/left", authSvc.User, storyKingLeft)
group.GET("/up/list", authSvc.Guest, upList)
spGroup := group.Group("/sports")
{
spGroup.GET("/qq", qq)
spGroup.GET("/news", news)
}
matchGroup := group.Group("/match")
{
matchGroup.GET("", matchs)
matchGroup.GET("/unstart", authSvc.Guest, unStart)
matchGroup.POST("/cache/clear", clearCache)
guGroup := matchGroup.Group("/guess")
{
guGroup.GET("", authSvc.User, guess)
guGroup.GET("/list", authSvc.User, listGuess)
guGroup.POST("/add", authSvc.User, addGuess)
}
foGroup := matchGroup.Group("/follow")
{
foGroup.GET("", authSvc.User, follow)
foGroup.POST("/add", authSvc.User, addFollow)
}
}
tmGroup := group.Group("/timemachine")
{
tmGroup.GET("/2018", authSvc.User, timemachine2018)
tmGroup.GET("/2018/raw", authSvc.User, timemachine2018Raw)
tmGroup.GET("/2018/cache", authSvc.User, timemachine2018Cache)
}
bwsGroup := group.Group("/bws")
{
bwsGroup.GET("/user", authSvc.Guest, user)
bwsGroup.GET("/points", points)
bwsGroup.GET("/point", point)
bwsGroup.GET("/achievements", achievements)
bwsGroup.GET("/achievement", achievement)
bwsGroup.POST("/point/unlock", authSvc.User, unlock)
bwsGroup.POST("/binding", authSvc.User, binding)
bwsGroup.POST("/award", authSvc.User, award)
bwsGroup.GET("/lottery", authSvc.User, lottery)
bwsGroup.GET("/lottery/check", authSvc.User, lotteryCheck)
bwsGroup.GET("/redis/check", authSvc.User, redisInfo)
bwsGroup.GET("/key/info", authSvc.User, keyInfo)
bwsGroup.GET("/admin/check", authSvc.User, adminInfo)
}
bnjGroup := group.Group("/bnj2019")
{
bnjGroup.GET("/preview", authSvc.Guest, previewInfo)
// TODO remove guest check
bnjGroup.GET("/timeline", authSvc.Guest, timeline)
bnjGroup.POST("/fail", fail)
bnjGroup.POST("/reset", authSvc.User, reset)
bnjGroup.POST("/reward", authSvc.User, reward)
}
kfcGroup := group.Group("/kfc")
{
kfcGroup.GET("/info", authSvc.User, kfcInfo)
kfcGroup.GET("/use", kfcUse)
}
}
}
func internalRouter(e *bm.Engine) {
group := e.Group("/x/internal/activity")
{
group.GET("/subject", vfySvc.Verify, subject)
group.POST("/vote", vfySvc.Verify, vote)
group.GET("/ltime", vfySvc.Verify, ltime)
group.GET("/reddot", vfySvc.Verify, redDot)
group.GET("/reddot/clear", vfySvc.Verify, authSvc.Guest, clearRedDot)
group.GET("/object/stat/set", vfySvc.Verify, setSubjectStat)
group.GET("/view/rank/set", vfySvc.Verify, setViewRank)
group.GET("/like/content/set", vfySvc.Verify, setLikeContent)
group.GET("/likeact/add", vfySvc.Verify, addLikeAct)
group.GET("/likeact/cache", vfySvc.Verify, likeActCache)
group.GET("/oids/info", vfySvc.Verify, likeOidsInfo)
spGroup := group.Group("/sports")
{
spGroup.GET("/qq", vfySvc.Verify, qq)
spGroup.GET("/news", vfySvc.Verify, news)
}
mactchGroup := group.Group("/match")
{
mactchGroup.GET("", matchs)
mactchGroup.GET("/unstart", vfySvc.Verify, unStart)
mactchGroup.POST("/cache/clear", clearCache)
guGroup := mactchGroup.Group("/guess")
{
guGroup.GET("", vfySvc.Verify, guess)
guGroup.GET("/list", vfySvc.Verify, listGuess)
guGroup.POST("/add", vfySvc.Verify, addGuess)
}
foGroup := mactchGroup.Group("/follow")
{
foGroup.GET("", vfySvc.Verify, follow)
foGroup.POST("/add", vfySvc.Verify, addFollow)
}
}
initGroup := group.Group("/init")
{
initGroup.GET("/subject", vfySvc.Verify, subjectInit)
initGroup.GET("/like", vfySvc.Verify, likeInit)
initGroup.GET("/likeact", vfySvc.Verify, likeActCountInit)
initGroup.GET("/subject/list", vfySvc.Verify, subjectLikeListInit)
}
//tmGroup := group.Group("/timemachine")
//{
// tmGroup.GET("/start", startTmProc)
// tmGroup.GET("/stop", stopTmProc)
//}
kfcIGroup := group.Group("/kfc")
{
kfcIGroup.POST("/deliver", vfySvc.Verify, deliverKfc)
}
group.GET("/bnj2019/time/del", delTime)
}
}
func ping(c *bm.Context) {
if err := likeSvc.Ping(c); err != nil {
log.Error("activity interface ping error(%v)", err)
c.AbortWithStatus(http.StatusServiceUnavailable)
}
}
func register(c *bm.Context) {
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,41 @@
package http
import (
bm "go-common/library/net/http/blademaster"
)
func kfcInfo(c *bm.Context) {
p := new(struct {
ID int64 `form:"id" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(kfcSvc.KfcInfo(c, p.ID, mid))
}
func kfcUse(c *bm.Context) {
p := new(struct {
CouponCode string `form:"coupon_code" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
if len([]rune(p.CouponCode)) == 12 {
kfcSvc.KfcUse(c, p.CouponCode)
}
c.JSON(200, nil)
}
func deliverKfc(c *bm.Context) {
p := new(struct {
ID int64 `form:"id" validate:"min=1"`
Mid int64 `form:"mid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
c.JSON(nil, kfcSvc.DeliverKfc(c, p.ID, p.Mid))
}

View File

@@ -0,0 +1,468 @@
package http
import (
"strconv"
"go-common/app/interface/main/activity/model/like"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/metadata"
)
func subject(c *bm.Context) {
params := c.Request.Form
sidStr := params.Get("sid")
sid, err := strconv.ParseInt(sidStr, 10, 32)
if err != nil {
log.Error("strconv.ParseInt(%s) error(%v)", sidStr, err)
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(likeSvc.Subject(c, sid))
}
func vote(c *bm.Context) {
var (
mid int64
)
midStr, _ := c.Get("mid")
mid = midStr.(int64)
params := c.Request.Form
voteStr := params.Get("vote")
vote, err := strconv.ParseInt(voteStr, 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
stageStr := params.Get("stage")
stage, err := strconv.ParseInt(stageStr, 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
aidStr := params.Get("aid")
aid, err := strconv.ParseInt(aidStr, 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if strRe, _ := likeSvc.OnlineVote(c, mid, vote, stage, aid); !strRe {
c.JSON(nil, ecode.NotModified)
return
}
c.JSON("ok", nil)
}
func ltime(c *bm.Context) {
params := c.Request.Form
sidStr := params.Get("sid")
sid, err := strconv.ParseInt(sidStr, 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
index, err := likeSvc.Ltime(c, sid)
if err != nil {
log.Error("error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
if index == nil {
c.JSON(nil, ecode.NothingFound)
return
}
c.JSON(index, nil)
}
func likeAct(c *bm.Context) {
p := new(like.ParamAddLikeAct)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.LikeAct(c, p, mid))
}
func storyKingAct(c *bm.Context) {
p := new(like.ParamStoryKingAct)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.StoryKingAct(c, p, mid))
}
func storyKingLeft(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.StoryKingLeftTime(c, p.Sid, mid))
}
func upList(c *bm.Context) {
p := new(like.ParamList)
if err := c.Bind(p); err != nil {
return
}
mid := int64(0)
if midStr, ok := c.Get("mid"); ok {
mid = midStr.(int64)
}
c.JSON(likeSvc.UpList(c, p, mid))
}
func missionLike(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionLike(c, p.Sid, mid))
}
func missionLikeAct(c *bm.Context) {
p := new(like.ParamMissionLikeAct)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionLikeAct(c, p, mid))
}
func missionInfo(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Lid int64 `form:"lid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionInfo(c, p.Sid, p.Lid, mid))
}
func missionTops(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Num int `form:"num" validate:"min=1,max=200"`
})
if err := c.Bind(p); err != nil {
return
}
c.JSON(likeSvc.MissionTops(c, p.Sid, p.Num))
}
func missionUser(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Lid int64 `form:"lid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
c.JSON(likeSvc.MissionUser(c, p.Sid, p.Lid))
}
func missionRank(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionRank(c, p.Sid, mid))
}
func missionFriends(c *bm.Context) {
p := new(like.ParamMissionFriends)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionFriendsList(c, p, mid))
}
func missionAward(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionAward(c, p.Sid, mid))
}
func missionAchieve(c *bm.Context) {
p := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
ID int64 `form:"id" validate:"min=1"`
})
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid := midStr.(int64)
c.JSON(likeSvc.MissionAchieve(c, p.Sid, p.ID, mid))
}
func likeActList(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Lids []int64 `form:"lids,split" validate:"min=1,max=50,dive,min=1"`
})
if err := c.Bind(v); err != nil {
return
}
mid := int64(0)
if midStr, ok := c.Get("mid"); ok {
mid = midStr.(int64)
}
c.JSON(likeSvc.LikeActList(c, v.Sid, mid, v.Lids))
}
func subjectInit(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.SubjectInitialize(c, v.Sid-1))
}
func likeInit(c *bm.Context) {
v := new(struct {
Lid int64 `form:"lid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.LikeInitialize(c, v.Lid-1))
}
func subjectLikeListInit(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.SubjectLikeListInitialize(c, v.Sid))
}
func likeActCountInit(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.LikeActCountInitialize(c, v.Sid))
}
func tagList(c *bm.Context) {
var (
err error
cnt int
list []*like.Like
)
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
TagID int64 `form:"tag_id" validate:"min=1"`
Type string `form:"type" default:"ctime"`
Pn int `form:"pn" default:"1" validate:"min=1"`
Ps int `form:"ps" default:"30" validate:"min=1,max=30"`
})
if err = c.Bind(v); err != nil {
return
}
if v.Type != "ctime" && v.Type != "random" {
c.JSON(nil, ecode.RequestErr)
return
}
if list, cnt, err = likeSvc.TagArcList(c, v.Sid, v.TagID, v.Pn, v.Ps, v.Type, metadata.String(c, metadata.RemoteIP)); err != nil {
c.JSON(nil, err)
return
}
data := map[string]interface{}{
"page": map[string]int{
"num": v.Pn,
"size": v.Ps,
"total": cnt,
},
"list": list,
}
c.JSON(data, nil)
}
func regionList(c *bm.Context) {
var (
err error
cnt int
list []*like.Like
)
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Rid int16 `form:"rid" validate:"min=1"`
Type string `form:"type" default:"ctime"`
Pn int `form:"pn" default:"1" validate:"min=1"`
Ps int `form:"ps" default:"30" validate:"min=1,max=30"`
})
if err = c.Bind(v); err != nil {
return
}
if v.Type != "ctime" && v.Type != "random" {
c.JSON(nil, ecode.RequestErr)
return
}
if list, cnt, err = likeSvc.RegionArcList(c, v.Sid, v.Rid, v.Pn, v.Ps, v.Type, metadata.String(c, metadata.RemoteIP)); err != nil {
c.JSON(nil, err)
return
}
data := map[string]interface{}{
"page": map[string]int{
"num": v.Pn,
"size": v.Ps,
"total": cnt,
},
"list": list,
}
c.JSON(data, nil)
}
func tagStats(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(likeSvc.TagLikeCounts(c, v.Sid))
}
func subjectStat(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(likeSvc.SubjectStat(c, v.Sid))
}
func setSubjectStat(c *bm.Context) {
v := new(like.SubjectStat)
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.SetSubjectStat(c, v))
}
func viewRank(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Pn int `form:"pn" default:"1" validate:"min=1"`
Ps int `form:"ps" default:"20" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
list, count, err := likeSvc.ViewRank(c, v.Sid, v.Pn, v.Ps)
if err != nil {
c.JSON(nil, err)
return
}
data := make(map[string]interface{}, 2)
data["list"] = list
data["page"] = map[string]int{
"pn": v.Pn,
"ps": v.Ps,
"count": count,
}
c.JSON(data, err)
}
func setViewRank(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Aids []int64 `form:"aids,split" validate:"min=1,dive,min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.SetViewRank(c, v.Sid, v.Aids))
}
func groupData(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
ck := c.Request.Header.Get("cookie")
c.JSON(likeSvc.ObjectGroup(c, v.Sid, ck))
}
func setLikeContent(c *bm.Context) {
v := new(struct {
Lid int64 `form:"lid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.SetLikeContent(c, v.Lid))
}
func addLikeAct(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Lid int64 `form:"lid" validate:"min=1"`
Score int64 `form:"score" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(nil, likeSvc.AddLikeActCache(c, v.Sid, v.Lid, v.Score))
}
func likeActCache(c *bm.Context) {
v := new(struct {
Sid int64 `form:"sid" validate:"min=1"`
Lid int64 `form:"lid" validate:"min=1"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(likeSvc.LikeActCache(c, v.Sid, v.Lid))
}
func likeOidsInfo(c *bm.Context) {
v := new(struct {
Type int `form:"type" validate:"min=1"`
Oids []int64 `form:"oids,split" validate:"required,min=1,max=50,dive,gt=0"`
})
if err := c.Bind(v); err != nil {
return
}
c.JSON(likeSvc.LikeOidsInfo(c, v.Type, v.Oids))
}

View File

@@ -0,0 +1,114 @@
package http
import (
match "go-common/app/interface/main/activity/model/like"
bm "go-common/library/net/http/blademaster"
)
func matchs(c *bm.Context) {
p := new(match.ParamSid)
if err := c.Bind(p); err != nil {
return
}
c.JSON(matchSvc.Match(c, p.Sid))
}
func addGuess(c *bm.Context) {
var (
mid int64
err error
)
midStr, _ := c.Get("mid")
mid = midStr.(int64)
p := new(match.ParamAddGuess)
if err = c.Bind(p); err != nil {
return
}
if p.Stake < 1 {
p.Stake = 1
}
_, err = matchSvc.AddGuess(c, mid, p)
c.JSON(nil, err)
}
func listGuess(c *bm.Context) {
var (
mid int64
)
p := new(match.ParamSid)
if err := c.Bind(p); err != nil {
return
}
midStr, _ := c.Get("mid")
mid = midStr.(int64)
c.JSON(matchSvc.ListGuess(c, p.Sid, mid))
}
func guess(c *bm.Context) {
midStr, _ := c.Get("mid")
mid := midStr.(int64)
p := new(match.ParamSid)
if err := c.Bind(p); err != nil {
return
}
c.JSON(matchSvc.Guess(c, mid, p))
}
func clearCache(c *bm.Context) {
p := new(match.ParamMsg)
if err := c.Bind(p); err != nil {
return
}
c.JSON(nil, matchSvc.ClearCache(c, p.Msg))
}
func addFollow(c *bm.Context) {
var (
mid int64
)
midStr, _ := c.Get("mid")
mid = midStr.(int64)
p := new(match.ParamTeams)
if err := c.Bind(p); err != nil {
return
}
c.JSON(nil, matchSvc.AddFollow(c, mid, p.Teams))
}
func follow(c *bm.Context) {
var (
mid int64
)
midStr, _ := c.Get("mid")
mid = midStr.(int64)
c.JSON(matchSvc.Follow(c, mid))
}
func unStart(c *bm.Context) {
var (
mid int64
err error
total int
list []*match.Object
)
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
p := new(match.ParamObject)
if err = c.Bind(p); err != nil {
return
}
if list, total, err = matchSvc.ObjectsUnStart(c, mid, p); err != nil {
c.JSON(nil, err)
return
}
data := make(map[string]interface{}, 2)
page := map[string]int{
"num": p.Pn,
"size": p.Ps,
"total": total,
}
data["page"] = page
data["list"] = list
c.JSON(data, nil)
}

View File

@@ -0,0 +1,29 @@
package http
import (
"go-common/app/interface/main/activity/model/sports"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func qq(c *bm.Context) {
params := c.Request.Form
p := new(sports.ParamQq)
if err := c.Bind(p); err != nil {
return
}
if p.Tp <= 0 && p.Route == "" {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(sportsSvc.Qq(c, params, p))
}
func news(c *bm.Context) {
params := c.Request.Form
p := new(sports.ParamNews)
if err := c.Bind(p); err != nil {
return
}
c.JSON(sportsSvc.News(c, params, p))
}

View File

@@ -0,0 +1,47 @@
package http
import bm "go-common/library/net/http/blademaster"
func timemachine2018(c *bm.Context) {
v := new(struct {
Mid int64 `form:"mid"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
loginMid := midStr.(int64)
c.JSON(tmSvc.Timemachine2018(c, loginMid, v.Mid))
}
func timemachine2018Raw(c *bm.Context) {
v := new(struct {
Mid int64 `form:"mid"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
loginMid := midStr.(int64)
c.JSON(tmSvc.Timemachine2018Raw(c, loginMid, v.Mid))
}
func timemachine2018Cache(c *bm.Context) {
v := new(struct {
Mid int64 `form:"mid"`
})
if err := c.Bind(v); err != nil {
return
}
midStr, _ := c.Get("mid")
loginMid := midStr.(int64)
c.JSON(tmSvc.Timemachine2018Cache(c, loginMid, v.Mid))
}
//func startTmProc(c *bm.Context) {
// c.JSON(nil, tmSvc.StartTmproc(c))
//}
//
//func stopTmProc(c *bm.Context) {
// c.JSON(nil, tmSvc.StopTmproc(c))
//}