123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package http
- import (
- "strconv"
- "time"
- "go-common/app/interface/main/app-intl/model"
- "go-common/library/ecode"
- bm "go-common/library/net/http/blademaster"
- )
- const _keyWordLen = 50
- func searchAll(c *bm.Context) {
- var (
- build int
- mid int64
- pn, ps int
- err error
- )
- params := c.Request.Form
- header := c.Request.Header
- // params
- mobiApp := params.Get("mobi_app")
- device := params.Get("device")
- ridStr := params.Get("rid")
- keyword := params.Get("keyword")
- highlightStr := params.Get("highlight")
- lang := params.Get("lang")
- duration := params.Get("duration")
- order := params.Get("order")
- filtered := params.Get("filtered")
- platform := params.Get("platform")
- zoneidStr := params.Get("zoneid")
- fromSource := params.Get("from_source")
- recommend := params.Get("recommend")
- // header
- buvid := header.Get("Buvid")
- // check params
- if keyword == "" || len([]rune(keyword)) > _keyWordLen {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if build, err = strconv.Atoi(params.Get("build")); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- zoneid, _ := strconv.ParseInt(zoneidStr, 10, 64)
- rid, _ := strconv.Atoi(ridStr)
- highlight, _ := strconv.Atoi(highlightStr)
- // page and size
- if pn, _ = strconv.Atoi(params.Get("pn")); pn < 1 {
- pn = 1
- }
- if ps, _ = strconv.Atoi(params.Get("ps")); ps < 1 || ps > 20 {
- ps = 20
- }
- if midInter, ok := c.Get("mid"); ok {
- mid = midInter.(int64)
- }
- switch order {
- case "default", "":
- order = "totalrank"
- case "view":
- order = "click"
- case "danmaku":
- order = "dm"
- }
- if duration == "" {
- duration = "0"
- }
- if recommend == "" || recommend != "1" {
- recommend = "0"
- }
- plat := model.Plat(mobiApp, device)
- c.JSON(searchSvc.Search(c, mid, zoneid, mobiApp, device, platform, buvid, keyword, duration, order, filtered, lang, fromSource, recommend, plat, rid, highlight, build, pn, ps, time.Now()))
- }
- func searchByType(c *bm.Context) {
- var (
- build int
- mid int64
- pn, ps int
- typeV string
- err error
- )
- params := c.Request.Form
- header := c.Request.Header
- // params
- mobiApp := params.Get("mobi_app")
- device := params.Get("device")
- sType := params.Get("type")
- keyword := params.Get("keyword")
- filtered := params.Get("filtered")
- zoneidStr := params.Get("zoneid")
- order := params.Get("order")
- platform := params.Get("platform")
- highlightStr := params.Get("highlight")
- categoryIDStr := params.Get("category_id")
- userTypeStr := params.Get("user_type")
- orderSortStr := params.Get("order_sort")
- // header
- buvid := header.Get("Buvid")
- if keyword == "" || len([]rune(keyword)) > _keyWordLen {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if build, err = strconv.Atoi(params.Get("build")); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- userType, _ := strconv.Atoi(userTypeStr)
- orderSort, _ := strconv.Atoi(orderSortStr)
- zoneid, _ := strconv.ParseInt(zoneidStr, 10, 64)
- categoryID, _ := strconv.Atoi(categoryIDStr)
- highlight, _ := strconv.Atoi(highlightStr)
- // page and size
- if pn, _ = strconv.Atoi(params.Get("pn")); pn < 1 {
- pn = 1
- }
- if ps, _ = strconv.Atoi(params.Get("ps")); ps < 1 || ps > 20 {
- ps = 20
- }
- if midInter, ok := c.Get("mid"); ok {
- mid = midInter.(int64)
- }
- switch sType {
- case "2":
- typeV = "upper"
- case "6":
- typeV = "article"
- case "7":
- typeV = "season2"
- case "8":
- typeV = "movie2"
- case "9":
- typeV = "tag"
- }
- plat := model.Plat(mobiApp, device)
- c.JSON(searchSvc.SearchByType(c, mid, zoneid, mobiApp, device, platform, buvid, typeV, keyword, filtered, order, plat, build, highlight, categoryID, userType, orderSort, pn, ps, time.Now()))
- }
- // suggest3 search suggest data from newest api.
- func suggest3(c *bm.Context) {
- var (
- build int
- mid int64
- err error
- )
- params := c.Request.Form
- header := c.Request.Header
- mobiApp := params.Get("mobi_app")
- term := params.Get("keyword")
- highlight, _ := strconv.Atoi(params.Get("highlight"))
- if midInter, ok := c.Get("mid"); ok {
- mid = midInter.(int64)
- }
- if build, err = strconv.Atoi(params.Get("build")); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- buvid := header.Get(_headerBuvid)
- platform := params.Get("platform")
- c.JSON(searchSvc.Suggest3(c, mid, platform, buvid, term, build, highlight, mobiApp, time.Now()), nil)
- }
|