123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- package http
- import (
- "time"
- "go-common/app/interface/main/web-goblin/conf"
- webmdl "go-common/app/interface/main/web-goblin/model/web"
- "go-common/library/ecode"
- bm "go-common/library/net/http/blademaster"
- )
- const (
- _lmt = 10000
- _pgcFull = "pgcfull"
- _pgcIncre = "pgcincre"
- _ugcFull = "ugcfull"
- _ugcIncre = "ugcincre"
- )
- func ugcfull(c *bm.Context) {
- var (
- err error
- items []*webmdl.Mi
- )
- v := new(struct {
- Pn int64 `form:"pn" validate:"min=1"`
- Ps int64 `form:"ps" validate:"min=1,max=50"`
- Source string `form:"bsource" validate:"required"`
- })
- if err = c.Bind(v); err != nil {
- return
- }
- if !accessCard(_ugcFull, v.Source) {
- c.JSON(nil, ecode.AccessDenied)
- return
- }
- source := "?bsource=" + v.Source
- if items, err = srvWeb.UgcFull(c, v.Pn, v.Ps, source); err != nil {
- c.JSON(nil, err)
- return
- }
- data := make(map[string]interface{}, 5)
- data["app_name"] = _appName
- data["package_name"] = _packageName
- data["update_time"] = time.Now().Format("2006-01-02 15:04:05")
- data["source"] = v.Source
- data["shortvideos"] = items
- c.JSONMap(data, nil)
- }
- func ugcincre(c *bm.Context) {
- var (
- err error
- item []*webmdl.Mi
- )
- v := new(struct {
- Pn int `form:"pn" validate:"min=1"`
- Ps int `form:"ps" validate:"min=1,max=50"`
- StartTs int64 `form:"start_ts" validate:"required"`
- EndTs int64 `form:"end_ts" validate:"required"`
- Source string `form:"bsource" validate:"required"`
- })
- if err = c.Bind(v); err != nil {
- return
- }
- if !accessCard(_ugcIncre, v.Source) {
- c.JSON(nil, ecode.AccessDenied)
- return
- }
- if v.StartTs >= v.EndTs || v.EndTs-v.StartTs >= conf.Conf.OutSearch.Rspan {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- if v.Ps*v.Pn > _lmt {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- source := "?bsource=" + v.Source
- if item, err = srvWeb.UgcIncre(c, v.Pn, v.Ps, v.StartTs, v.EndTs, source); err != nil {
- c.JSON(nil, err)
- return
- }
- data := make(map[string]interface{}, 5)
- data["app_name"] = _appName
- data["package_name"] = _packageName
- data["update_time"] = time.Now().Format("2006-01-02 15:04:05")
- data["source"] = v.Source
- data["shortvideos"] = item
- c.JSONMap(data, nil)
- }
- func accessCard(flag, arg string) bool {
- var (
- b = false
- m = map[string][]string{
- _pgcFull: conf.Conf.OutSearch.AcPgcFull,
- _pgcIncre: conf.Conf.OutSearch.AcPgcIncre,
- _ugcFull: conf.Conf.OutSearch.AcUgcFull,
- _ugcIncre: conf.Conf.OutSearch.AcUgcIncre,
- }
- )
- for _, v := range m[flag] {
- if v == arg {
- b = true
- break
- }
- }
- return b
- }
|