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,47 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_library",
)
go_library(
name = "go_default_library",
srcs = [
"dm_date.go",
"dm_search.go",
"dm_update.go",
"dmhistory_search.go",
"http.go",
"pgc_search.go",
"pgc_update.go",
"reply_search.go",
"reply_update.go",
],
importpath = "go-common/app/service/main/search/http",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/search/conf:go_default_library",
"//app/service/main/search/dao:go_default_library",
"//app/service/main/search/model:go_default_library",
"//app/service/main/search/service:go_default_library",
"//library/ecode:go_default_library",
"//library/log:go_default_library",
"//library/net/http/blademaster: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,33 @@
package http
import (
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func dmDate(c *bm.Context) {
var (
err error
sp = &model.DmDateParams{
Bsp: &model.BasicSearchParams{},
}
res *model.SearchResult
)
if err = c.Bind(sp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp.Bsp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
res, err = svr.DmDate(c, sp)
if err != nil {
log.Error("srv.DmDate(%v) error(%v)", sp, err)
c.JSON(nil, ecode.ServerErr)
return
}
c.JSON(res, err)
}

View File

@@ -0,0 +1,34 @@
package http
import (
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func dmSearch(c *bm.Context) {
var (
err error
sp = &model.DmSearchParams{
Bsp: &model.BasicSearchParams{},
}
res *model.SearchResult
)
if err = c.Bind(sp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp.Bsp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
sp.Bsp.Source = []string{"id"}
res, err = svr.DmSearch(c, sp)
if err != nil {
log.Error("srv.DmSearch(%v) error(%v)", sp, err)
c.JSON(nil, ecode.ServerErr)
return
}
c.JSON(res, err)
}

View File

@@ -0,0 +1,81 @@
package http
import (
"encoding/json"
"go-common/app/service/main/search/dao"
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// dmUpdate .
func dmUpdate(c *bm.Context) {
params := c.Request.Form
appid := params.Get("appid")
if appid == "" {
c.JSON(nil, ecode.RequestErr)
return
}
switch appid {
case "dm_search":
dmMediaUpdate(c)
default:
c.JSON(nil, ecode.RequestErr)
}
}
func dmMediaUpdate(c *bm.Context) {
var (
err error
bulkItem []dao.BulkMapItem
)
params := c.Request.Form
data := params.Get("data")
if data == "" {
return
}
var arr []map[string]interface{}
if err = json.Unmarshal([]byte(data), &arr); err != nil {
log.Error("json.Unmarshal error(%v)", err)
return
}
key := []string{"attr", "attr_format", "ctime", "mid", "mode", "msg", "mtime",
"pool", "progress", "state", "type", "oidstr"}
for _, v := range arr {
item := &model.DmUptParams{}
var (
ok bool
id float64
oid float64
)
if _, ok = v["id"]; !ok {
continue
}
if id, ok = v["id"].(float64); !ok {
continue
}
if _, ok = v["oid"]; !ok {
continue
}
if oid, ok = v["oid"].(float64); !ok {
continue
}
item.ID = int64(id)
item.Oid = int64(oid)
itemField := make(map[string]interface{})
for _, k := range key {
var it interface{}
if it, ok = v[k]; ok && v[k] != nil {
itemField[k] = it
}
}
item.Field = itemField
bulkItem = append(bulkItem, item)
}
if err = svr.UpdateMap(c, "dmExternal", bulkItem); err != nil {
log.Error("srv.Update erro(%v)", err)
}
c.JSON(nil, nil)
}

View File

@@ -0,0 +1,39 @@
package http
import (
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func dmHistorySearch(c *bm.Context) {
var (
err error
params = c.Request.Form
sp = &model.DmHistoryParams{
Bsp: &model.BasicSearchParams{},
}
res *model.SearchResult
)
if params.Get("appid") == "" || params.Get("oid") == "" {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp.Bsp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
sp.Bsp.Source = []string{"id"}
res, err = svr.DmHistory(c, sp)
if err != nil {
log.Error("srv.DmHistory(%v) error(%v)", sp, err)
c.JSON(nil, ecode.ServerErr)
return
}
c.JSON(res, err)
}

View File

@@ -0,0 +1,53 @@
package http
import (
"go-common/app/service/main/search/conf"
"go-common/app/service/main/search/service"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
var (
svr *service.Service
)
// Init init http
func Init(c *conf.Config, s *service.Service) error {
svr = s
// init internal router
engine := bm.DefaultServer(c.HTTPServer)
route(engine)
// init internal server
if err := engine.Start(); err != nil {
log.Error("bm.Start error(%v)", err)
return err
}
return nil
}
func route(e *bm.Engine) {
e.Ping(ping)
searchG := e.Group("/x/internal/search")
{
//search
searchG.GET("/reply", replySearch)
searchG.GET("/dmhistory", dmHistorySearch)
searchG.GET("/dmhistory/test", dmHistorySearch)
searchG.GET("/dm", dmSearch)
searchG.GET("/dm/date", dmDate)
searchG.GET("/pgc", pgcSearch)
//update
searchG.POST("/reply/update", replyUpdate)
searchG.POST("/pgc/update", pgcUpdate)
searchG.POST("/dm/update", dmUpdate)
}
}
// ping check health
func ping(ctx *bm.Context) {
if err := svr.Ping(ctx); err != nil {
log.Error("ping error(%v)", err)
ctx.Error = err
ctx.AbortWithStatus(503)
}
}

View File

@@ -0,0 +1,45 @@
package http
import (
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func pgcSearch(c *bm.Context) {
params := c.Request.Form
appidStr := params.Get("appid")
switch appidStr {
case "pgc_media":
pgcMedia(c)
default:
c.JSON(nil, ecode.RequestErr)
return
}
}
func pgcMedia(c *bm.Context) {
var (
err error
sp = &model.PgcMediaParams{
Bsp: &model.BasicSearchParams{},
}
res *model.SearchResult
)
if err = c.Bind(sp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp.Bsp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
res, err = svr.PgcMedia(c, sp)
if err != nil {
log.Error("srv.DmHistory(%v) error(%v)", sp, err)
c.JSON(nil, ecode.ServerErr)
return
}
c.JSON(res, err)
}

View File

@@ -0,0 +1,72 @@
package http
import (
"encoding/json"
"go-common/app/service/main/search/dao"
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// pgcUpdate .
func pgcUpdate(c *bm.Context) {
params := c.Request.Form
appid := params.Get("appid")
if appid == "" {
c.JSON(nil, ecode.RequestErr)
return
}
switch appid {
case "pgc_media":
go pgcMediaUpdate(c)
default:
c.JSON(nil, ecode.RequestErr)
}
}
func pgcMediaUpdate(c *bm.Context) {
var (
err error
bulkItem []dao.BulkMapItem
)
params := c.Request.Form
data := params.Get("data")
if data == "" {
return
}
var arr []map[string]interface{}
if err = json.Unmarshal([]byte(data), &arr); err != nil {
log.Error("json.Unmarshal error(%v)", err)
return
}
key := []string{"season_id", "copyright", "latest_time", "dm_count", "play_count", "fav_count", "area_id", "score",
"is_finish", "season_version", "season_status", "release_date", "pub_time", "season_month", "copyright_info"}
for _, v := range arr {
item := &model.PgcMediaUptParams{}
var (
ok bool
id float64
)
if _, ok = v["media_id"]; !ok {
continue
}
if id, ok = v["media_id"].(float64); !ok {
continue
}
item.MediaID = int64(id)
itemField := make(map[string]interface{})
for _, k := range key {
var it interface{}
if it, ok = v[k]; ok && v[k] != nil {
itemField[k] = it
}
}
item.Field = itemField
bulkItem = append(bulkItem, item)
}
if err = svr.UpdateMap(c, "externalPublic", bulkItem); err != nil {
log.Error("srv.Update erro(%v)", err)
}
}

View File

@@ -0,0 +1,49 @@
package http
import (
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func replySearch(c *bm.Context) {
params := c.Request.Form
appidStr := params.Get("appid")
switch appidStr {
case "reply_record":
replyRecord(c)
default:
c.JSON(nil, ecode.RequestErr)
return
}
}
func replyRecord(c *bm.Context) {
var (
err error
sp = &model.ReplyRecordParams{
Bsp: &model.BasicSearchParams{},
}
res *model.SearchResult
params = c.Request.Form
)
if params.Get("mid") == "" {
log.Error("mid is required")
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if err = c.Bind(sp.Bsp); err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
res, err = svr.ReplyRecord(c, sp)
if err != nil {
log.Error("svr.ArchiveCheck(%v,%d,%d) error(%v)", sp, sp.Bsp.Pn, sp.Bsp.Ps, err)
}
c.JSON(res, err)
}

View File

@@ -0,0 +1,53 @@
package http
import (
"encoding/json"
"go-common/app/service/main/search/dao"
"go-common/app/service/main/search/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
// replyUpdate
func replyUpdate(c *bm.Context) {
params := c.Request.Form
appid := params.Get("appid")
if appid == "" {
c.JSON(nil, ecode.RequestErr)
return
}
switch appid {
case "reply_record":
replyRecordUpdate(c)
default:
c.JSON(nil, ecode.RequestErr)
}
}
func replyRecordUpdate(c *bm.Context) {
var (
err error
bulkItem []dao.BulkItem
d []*model.ReplyRecordUpdateParams
)
params := c.Request.Form
data := params.Get("data")
if data == "" {
c.JSON(nil, ecode.RequestErr)
return
}
if err = json.Unmarshal([]byte(data), &d); err != nil {
log.Error("json.Unmarshal error(%v)", err)
c.JSON(nil, ecode.RequestErr)
return
}
for _, v := range d {
bulkItem = append(bulkItem, v)
}
if err = svr.Update(c, "replyExternal", bulkItem); err != nil {
log.Error("srv.Update error(%v)", err)
}
c.JSON(nil, err)
}