You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
242 lines
5.1 KiB
242 lines
5.1 KiB
package http |
|
|
|
//assist 创作中心协管相关 |
|
|
|
import ( |
|
"go-common/library/ecode" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/metadata" |
|
"strconv" |
|
"time" |
|
) |
|
|
|
func webAssists(c *bm.Context) { |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
assists, err := assistSvc.Assists(c, mid, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(assists, nil) |
|
} |
|
|
|
func webAssistLogs(c *bm.Context) { |
|
req := c.Request |
|
params := req.Form |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
pnStr := params.Get("pn") |
|
psStr := params.Get("ps") |
|
pn, err := strconv.ParseInt(pnStr, 10, 64) |
|
if err != nil || pn < 1 { |
|
pn = 1 |
|
} |
|
ps, err := strconv.ParseInt(psStr, 10, 64) |
|
if err != nil || ps <= 10 { |
|
ps = 10 |
|
} |
|
assistMidStr := params.Get("assist_mid") |
|
assistMid, err := strconv.ParseInt(assistMidStr, 10, 64) |
|
if err != nil { |
|
assistMid = 0 |
|
} |
|
|
|
stimeStr := params.Get("stime") |
|
stime, err := strconv.ParseInt(stimeStr, 10, 64) |
|
if err != nil || stime <= 0 { |
|
stime = time.Now().Add(-time.Hour * 72).Unix() |
|
} |
|
etimeStr := params.Get("etime") |
|
etime, err := strconv.ParseInt(etimeStr, 10, 64) |
|
if err != nil || etime <= 0 { |
|
etime = time.Now().Unix() |
|
} |
|
assistLogs, pager, err := assistSvc.AssistLogs(c, mid, assistMid, pn, ps, stime, etime, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSONMap(map[string]interface{}{ |
|
"pager": pager, |
|
"data": assistLogs, |
|
}, nil) |
|
} |
|
|
|
func webAssistAdd(c *bm.Context) { |
|
req := c.Request |
|
params := req.Form |
|
ck := c.Request.Header.Get("cookie") |
|
ak := params.Get("access_key") |
|
mainStr := params.Get("main") |
|
liveStr := params.Get("live") |
|
assistMidStr := params.Get("assist_mid") |
|
main := 1 |
|
live := 0 |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
var ( |
|
err error |
|
assistMid int64 |
|
m, l int |
|
) |
|
assistMid, err = strconv.ParseInt(assistMidStr, 10, 64) |
|
if err != nil || assistMid == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if mainStr != "" { |
|
m, err = strconv.Atoi(mainStr) |
|
if err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
main = m |
|
} |
|
if liveStr != "" { |
|
l, err = strconv.Atoi(liveStr) |
|
if err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
live = l |
|
} |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
if err = assistSvc.AddAssist(c, mid, assistMid, int8(main), int8(live), ip, ak, ck); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func webAssistSet(c *bm.Context) { |
|
req := c.Request |
|
params := req.Form |
|
ck := c.Request.Header.Get("cookie") |
|
ak := params.Get("access_key") |
|
mainStr := params.Get("main") |
|
liveStr := params.Get("live") |
|
midI, ok := c.Get("mid") |
|
main := 1 |
|
live := 0 |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
if mainStr != "" { |
|
m, err := strconv.Atoi(mainStr) |
|
if err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
main = m |
|
} |
|
if liveStr != "" { |
|
l, err := strconv.Atoi(liveStr) |
|
if err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
live = l |
|
} |
|
var ( |
|
err error |
|
assistMid int64 |
|
) |
|
assistMidStr := params.Get("assist_mid") |
|
assistMid, err = strconv.ParseInt(assistMidStr, 10, 64) |
|
if err != nil || assistMid == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
if err = assistSvc.SetAssist(c, mid, assistMid, int8(main), int8(live), ip, ak, ck); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func webAssistDel(c *bm.Context) { |
|
req := c.Request |
|
params := req.Form |
|
ck := c.Request.Header.Get("cookie") |
|
ak := params.Get("access_key") |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
assistMidStr := params.Get("assist_mid") |
|
assistMid, err := strconv.ParseInt(assistMidStr, 10, 64) |
|
if err != nil || assistMid == 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
if err := assistSvc.DelAssist(c, mid, assistMid, ip, ak, ck); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func webAssistLogRevoc(c *bm.Context) { |
|
req := c.Request |
|
params := req.Form |
|
ck := c.Request.Header.Get("cookie") |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
logIDStr := params.Get("log_id") |
|
assistMidStr := params.Get("assist_mid") |
|
logID, _ := strconv.ParseInt(logIDStr, 10, 64) |
|
assistMid, _ := strconv.ParseInt(assistMidStr, 10, 64) |
|
if assistMid < 1 || logID < 1 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
if err := assistSvc.RevocAssistLog(c, mid, assistMid, logID, ck, ip); err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(nil, nil) |
|
} |
|
|
|
func webAssistStatus(c *bm.Context) { |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
status, err := assistSvc.LiveStatus(c, mid, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(map[string]int8{ |
|
"live": status, |
|
}, nil) |
|
}
|
|
|