123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package http
- import (
- "strconv"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/xstr"
- )
- // addPa 申请保护弹幕.
- func addPa(c *bm.Context) {
- var (
- str string
- err error
- cid int64
- dmids []int64
- )
- mid, _ := c.Get("mid")
- params := c.Request.Form
- str = params.Get("cid")
- cid, err = strconv.ParseInt(str, 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- str = params.Get("dmids")
- if dmids, err = xstr.SplitInts(str); err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- err = dmSvc.AddProtectApply(c, mid.(int64), cid, dmids)
- c.JSON(nil, err)
- }
- // recall 弹幕撤回
- func recall(c *bm.Context) {
- var (
- str string
- msg string
- err error
- cid int64
- dmid int64
- )
- mid, _ := c.Get("mid")
- params := c.Request.Form
- str = params.Get("cid")
- cid, err = strconv.ParseInt(str, 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- dmid, err = strconv.ParseInt(params.Get("dmid"), 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- msg, err = dmSvc.Recall(c, mid.(int64), cid, dmid)
- if err != nil {
- c.JSON(nil, err)
- log.Error("dmSvc.Recall(%v,%d,%d) error(%v)", mid, cid, dmid, err)
- return
- }
- res := map[string]interface{}{}
- if msg != "" {
- res["message"] = msg
- }
- c.JSONMap(res, err)
- }
- // midHash 获取用户mid hash.
- func midHash(c *bm.Context) {
- var err error
- mid, _ := c.Get("mid")
- hash, err := dmSvc.MidHash(c, mid.(int64))
- if err != nil {
- c.JSON(nil, err)
- log.Error("dmSvc.MidHash(%d) error(%v)", mid.(int64), err)
- return
- }
- res := map[string]interface{}{}
- res["data"] = map[string]interface{}{
- "hash": hash,
- }
- c.JSONMap(res, err)
- }
- // transfer 弹幕转移
- func transfer(c *bm.Context) {
- p := c.Request.Form
- toCid, err := strconv.ParseInt(p.Get("to"), 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- offset, err := strconv.ParseFloat(p.Get("offset"), 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- mid, _ := c.Get("mid")
- if err = dmSvc.CheckExist(c, mid.(int64), toCid); err != nil {
- c.JSON(nil, err)
- return
- }
- fromCids, err := xstr.SplitInts(p.Get("from"))
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- for _, cid := range fromCids {
- if cid == toCid {
- c.JSON(nil, ecode.DMTransferSame)
- return
- }
- if err = dmSvc.CheckExist(c, mid.(int64), cid); err != nil {
- c.JSON(nil, err)
- return
- }
- if err = dmSvc.TransferJob(c, mid.(int64), cid, toCid, offset); err != nil {
- log.Error("dmSvc.TransferJob(mid:%d,from:%d,to:%d,offset:%v) error(%v)", mid.(int64), cid, toCid, offset, err)
- c.JSON(nil, err)
- return
- }
- }
- c.JSON(nil, err)
- }
- func transferList(c *bm.Context) {
- var (
- cid int64
- p = c.Request.Form
- )
- cid, err := strconv.ParseInt(p.Get("cid"), 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- l, err := dmSvc.TransferList(c, cid)
- if err != nil {
- c.JSON(nil, err)
- return
- }
- c.JSON(l, err)
- }
- func transferRetry(c *bm.Context) {
- var (
- id int64
- err error
- p = c.Request.Form
- )
- id, err = strconv.ParseInt(p.Get("id"), 10, 64)
- if err != nil {
- c.JSON(nil, ecode.RequestErr)
- return
- }
- mid, _ := c.Get("mid")
- err = dmSvc.TransferRetry(c, id, mid.(int64))
- c.JSON(nil, err)
- }
|