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_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["server_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/service/main/favorite/api/gorpc:go_default_library",
"//app/service/main/favorite/model:go_default_library",
"//vendor/github.com/smartystreets/goconvey/convey:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = ["server.go"],
importpath = "go-common/app/service/main/favorite/server/gorpc",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/favorite/conf:go_default_library",
"//app/service/main/favorite/model:go_default_library",
"//app/service/main/favorite/service:go_default_library",
"//library/net/rpc:go_default_library",
"//library/net/rpc/context: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,173 @@
package rpc
import (
"go-common/app/service/main/favorite/conf"
"go-common/app/service/main/favorite/model"
"go-common/app/service/main/favorite/service"
"go-common/library/net/rpc"
"go-common/library/net/rpc/context"
)
// RPC favorite rpc.
type RPC struct {
c *conf.Config
s *service.Service
}
// New init rpc.
func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
r := &RPC{
c: c,
s: s,
}
svr = rpc.NewServer(c.RPCServer)
if err := svr.Register(r); err != nil {
panic(err)
}
return
}
// Ping check connection success.
func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
return
}
// Folder return folder by mid.
func (r *RPC) Folder(c context.Context, a *model.ArgFolder, res *model.Folder) (err error) {
var fl *model.Folder
if fl, err = r.s.Folder(c, a.Type, a.Mid, a.Vmid, a.Fid); err == nil {
*res = *fl
}
return
}
// Folders return folder by mid.
func (r *RPC) Folders(c context.Context, a *model.ArgFolders, res *[]*model.Folder) (err error) {
*res, err = r.s.Folders(c, a.Type, a.Mid, a.FVmids)
return
}
// AllFolders return users folders.
func (r *RPC) AllFolders(c context.Context, a *model.ArgAllFolders, res *[]*model.Folder) (err error) {
*res, err = r.s.UserFolders(c, a.Type, a.Mid, a.Vmid, a.Oid, a.Type)
return
}
// AddFolder add a Folder.
func (r *RPC) AddFolder(c context.Context, a *model.ArgAddFolder, res *int64) (err error) {
var fid int64
if fid, err = r.s.AddFolder(c, a.Type, a.Mid, a.Name, a.Description, a.Cover, int32(a.Public), a.Cookie, a.AccessKey); err == nil {
*res = fid
}
return
}
// UpdateFolder update a Folder.
func (r *RPC) UpdateFolder(c context.Context, a *model.ArgUpdateFolder, res *struct{}) (err error) {
err = r.s.UpdateFolder(c, a.Type, a.Fid, a.Mid, a.Name, a.Description, a.Cover, int32(a.Public), nil, nil)
return
}
// DelFolder del a folder.
func (r *RPC) DelFolder(c context.Context, a *model.ArgDelFolder, res *struct{}) (err error) {
err = r.s.DelFolder(c, a.Type, a.Mid, a.Fid)
return
}
// Favorites return favorites by mid.
func (r *RPC) Favorites(c context.Context, a *model.ArgFavs, res *model.Favorites) (err error) {
var fs *model.Favorites
if fs, err = r.s.Favorites(c, a.Type, a.Mid, a.Vmid, a.Fid, a.Tid, a.Tv, a.Pn, a.Ps, a.Keyword, a.Order); err == nil {
*res = *fs
}
return
}
// Add add a favorite relation.
func (r *RPC) Add(c context.Context, a *model.ArgAdd, res *struct{}) (err error) {
err = r.s.AddFav(c, a.Type, a.Mid, a.Fid, a.Oid, a.Type)
return
}
// Del del a favorite relation.
func (r *RPC) Del(c context.Context, a *model.ArgDel, res *struct{}) (err error) {
err = r.s.DelFav(c, a.Type, a.Mid, a.Fid, a.Oid, a.Type)
return
}
// Adds add a resource to folders.
func (r *RPC) Adds(c context.Context, a *model.ArgAdds, res *struct{}) (err error) {
for _, fid := range a.Fids {
err = r.s.AddFav(c, a.Type, a.Mid, fid, a.Oid, a.Type)
}
return
}
// Dels del a resource in fodlers.
func (r *RPC) Dels(c context.Context, a *model.ArgDels, res *struct{}) (err error) {
for _, fid := range a.Fids {
err = r.s.DelFav(c, a.Type, a.Mid, fid, a.Oid, a.Type)
}
return
}
// MultiAdd multi add favorite relations.
func (r *RPC) MultiAdd(c context.Context, a *model.ArgMultiAdd, res *struct{}) (err error) {
err = r.s.MultiAddFavs(c, a.Type, a.Mid, a.Fid, a.Oids)
return
}
// MultiDel multi del favorite relations.
func (r *RPC) MultiDel(c context.Context, a *model.ArgMultiDel, res *struct{}) (err error) {
err = r.s.MultiDelFavs(c, a.Type, a.Mid, a.Fid, a.Oids)
return
}
// IsFav check favorited relation.
func (r *RPC) IsFav(c context.Context, a *model.ArgIsFav, faved *bool) (err error) {
*faved, err = r.s.IsFavored(c, a.Type, a.Mid, a.Oid)
return
}
// IsFavs return favored relation map.
func (r *RPC) IsFavs(c context.Context, a *model.ArgIsFavs, res *map[int64]bool) (err error) {
*res, err = r.s.IsFavoreds(c, a.Type, a.Mid, a.Oids)
return
}
// InDefault return favored in default folder.
func (r *RPC) InDefault(c context.Context, a *model.ArgInDefaultFolder, in *bool) (err error) {
*in, err = r.s.InDefaultFolder(c, a.Type, a.Mid, a.Oid)
return
}
// IsFavedByFid check the oid and fid relation.
func (r *RPC) IsFavedByFid(c context.Context, a *model.ArgIsFavedByFid, faved *bool) (err error) {
*faved, err = r.s.IsFavedByFid(c, a.Type, a.Mid, a.Oid, a.Fid)
return
}
// CntUserFolders count user's folders.
func (r *RPC) CntUserFolders(c context.Context, a *model.ArgCntUserFolders, count *int) (err error) {
*count, err = r.s.CntUserFolders(c, a.Type, a.Mid, a.Vmid)
return
}
// Users return favored users by mid.
func (r *RPC) Users(c context.Context, a *model.ArgUsers, res *model.UserList) (err error) {
var us *model.UserList
if us, err = r.s.UserList(c, a.Type, a.Oid, a.Pn, a.Ps); err == nil {
*res = *us
}
return
}
// under v2 ===
// AddVideo add a favorite video.
func (r *RPC) AddVideo(c context.Context, a *model.ArgAddVideo, res *struct{}) (err error) {
for _, fid := range a.Fids {
err = r.s.AddFav(c, model.TypeVideo, a.Mid, fid, a.Aid, model.TypeVideo)
}
return
}

View File

@@ -0,0 +1,172 @@
package rpc
import (
"context"
favmdl "go-common/app/service/main/favorite/model"
favsrv "go-common/app/service/main/favorite/api/gorpc"
"testing"
"time"
. "github.com/smartystreets/goconvey/convey"
)
var (
ctx = context.TODO()
)
func WithRPC(f func(client *favsrv.Service)) func() {
return func() {
client := favsrv.New2(nil)
time.Sleep(2 * time.Second)
f(client)
}
}
// func Test_Folders(t *testing.T) {
// Convey("Folders", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgFolders{
// Type: 5,
// Mid: 88888894,
// FVmids: []*favmdl.ArgFVmid{
// {
// Fid: 12331,
// Vmid: 27515232,
// },
// {
// Fid: 12315,
// Vmid: 27515254,
// },
// {
// Fid: 1237,
// Vmid: 27515255,
// },
// },
// }
// res, err := client.Folders(ctx, arg)
// t.Logf("res: %+v, error:%+v", res, err)
// So(err, ShouldBeNil)
// }))
// }
// func Test_AddFolder(t *testing.T) {
// Convey("AddFolder", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgAddFolder{
// Type: 5,
// Mid: 88888894,
// Name: "1234",
// Description: "1234",
// Cover: "1234",
// Cookie: "finger=14bc3c4e; sid=m65qzbpt; LIVE_BUVID=AUTO5915076321203625; fts=1507632123; UM_distinctid=15f05e08d7d1e5-0319506e9267a5-31657c00-1fa400-15f05e08d7e2b3; pgv_pvi=294734848; buvid3=C0E6B232-BC5C-4AEC-879C-1CC61C2336841986infoc; rpdid=kmilkmximpdoswqosospw; tma=136533283.50523868.1508466136624.1508466136624.1508466136624.1; tmd=2.136533283.50523868.1508466136624.; pgv_si=s1585227776; DedeUserID=88888894; DedeUserID__ckMd5=53cf4c9cd3a9e1fb; SESSDATA=6c75f0f3%2C1511521084%2Ce6967cf6; bili_jct=63ab513073169112f9f89b97c1713009; _cnt_pm=0; _cnt_notify=0; _dfcaptcha=db4362e021547cfab3dce5b4718ad573",
// }
// fid, err := client.AddFolder(ctx, arg)
// So(err, ShouldBeNil)
// t.Logf("fid: %d", fid)
// }))
// }
// func Test_UpdateFolder(t *testing.T) {
// Convey("UpdateFolder", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgUpdateFolder{
// Type: 5,
// Fid: 9,
// Mid: 88888894,
// Name: "123",
// Description: "",
// // Cover: "123",
// }
// err := client.UpdateFolder(ctx, arg)
// So(err, ShouldBeNil)
// }))
// }
// func Test_Add(t *testing.T) {
// Convey("Add", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgAdd{
// Type: 1,
// Mid: 88888894,
// Oid: 123,
// Fid: 456,
// }
// err := client.Add(ctx, arg)
// So(err, ShouldBeNil)
// }))
// }
// func Test_AddVideo(t *testing.T) {
// Convey("AddVideo", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgAddVideo{
// Mid: 88888894,
// Aid: 123,
// Fids: []int64{123, 456},
// Cookie: "finger=14bc3c4e; sid=m65qzbpt; LIVE_BUVID=AUTO5915076321203625; fts=1507632123; UM_distinctid=15f05e08d7d1e5-0319506e9267a5-31657c00-1fa400-15f05e08d7e2b3; pgv_pvi=294734848; buvid3=C0E6B232-BC5C-4AEC-879C-1CC61C2336841986infoc; rpdid=kmilkmximpdoswqosospw; tma=136533283.50523868.1508466136624.1508466136624.1508466136624.1; tmd=2.136533283.50523868.1508466136624.; pgv_si=s1585227776; DedeUserID=88888894; DedeUserID__ckMd5=53cf4c9cd3a9e1fb; SESSDATA=6c75f0f3%2C1511521084%2Ce6967cf6; bili_jct=63ab513073169112f9f89b97c1713009; _cnt_pm=0; _cnt_notify=0; _dfcaptcha=db4362e021547cfab3dce5b4718ad573",
// }
// err := client.AddVideo(ctx, arg)
// So(err, ShouldBeNil)
// }))
// }
// func Test_Folder(t *testing.T) {
// Convey("Add", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgFolder{
// Type: 5,
// Mid: 0,
// Fid: 0,
// }
// res, err := client.Folder(ctx, arg)
// t.Logf("res: %+v", res)
// So(err, ShouldBeNil)
// }))
// }
// func Test_IsFavedByFid(t *testing.T) {
// Convey("IsFavedByFid", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgIsFavedByFid{
// Type: 6,
// Mid: 88888894,
// Fid: 23,
// Oid: 11112,
// }
// res, err := client.IsFavedByFid(ctx, arg)
// t.Logf("res: %+v", res)
// So(err, ShouldBeNil)
// }))
// }
func Test_CntUserFolders(t *testing.T) {
Convey("CntUserFolders", t, WithRPC(func(client *favsrv.Service) {
arg := &favmdl.ArgCntUserFolders{
Type: 6,
Mid: 88888894,
Vmid: 88888894,
}
res, err := client.CntUserFolders(ctx, arg)
t.Logf("res: %+v", res)
So(err, ShouldBeNil)
}))
}
// func Test_DelFolder(t *testing.T) {
// Convey("DelFolder", t, WithRPC(func(client *favsrv.Service) {
// arg := &favmdl.ArgDelFolder{
// Type: 5,
// Mid: 88888894,
// Fid: 9,
// }
// err := client.DelFolder(ctx, arg)
// So(err, ShouldBeNil)
// }))
// }
func Test_IsFavs(t *testing.T) {
Convey("IsFavs", t, WithRPC(func(client *favsrv.Service) {
arg := &favmdl.ArgIsFavs{
Type: 1,
Mid: 88888894,
Oids: []int64{123, 456},
}
res, err := client.IsFavs(ctx, arg)
t.Logf("res: %+v", res)
So(res, ShouldNotBeNil)
So(err, ShouldBeNil)
}))
}