148 lines
3.4 KiB
Go
148 lines
3.4 KiB
Go
package http
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
|
|
"go-common/app/interface/main/app-interface/model"
|
|
"go-common/app/interface/main/app-interface/model/history"
|
|
hismodle "go-common/app/interface/main/history/model"
|
|
"go-common/library/ecode"
|
|
"go-common/library/log"
|
|
bm "go-common/library/net/http/blademaster"
|
|
"go-common/library/xstr"
|
|
)
|
|
|
|
var (
|
|
busMap = map[string][]string{
|
|
"": {},
|
|
"all": {},
|
|
"archive": {"archive", "pgc"},
|
|
"article": {"article", "article-list"},
|
|
"live": {"live"},
|
|
}
|
|
)
|
|
|
|
//history list
|
|
func historyList(c *bm.Context) {
|
|
param := &history.HisParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
if param.Pn < 1 {
|
|
param.Pn = 1
|
|
}
|
|
if param.Ps > 20 || param.Ps <= 0 {
|
|
param.Ps = 20
|
|
}
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
param.Mid = midInter.(int64)
|
|
}
|
|
plat := model.Plat(param.MobiApp, param.Device)
|
|
c.JSON(historySvr.List(c, param.Mid, param.Build, param.Pn, param.Ps, param.Platform, plat))
|
|
}
|
|
|
|
// shortAll get shorturl list
|
|
func live(c *bm.Context) {
|
|
param := &history.LiveParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
roomIDs, err := xstr.SplitInts(param.RoomIDs)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(historySvr.Live(c, roomIDs))
|
|
}
|
|
|
|
//history list
|
|
func liveList(c *bm.Context) {
|
|
param := &history.HisParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
if param.Pn < 1 {
|
|
param.Pn = 1
|
|
}
|
|
if param.Ps > 20 || param.Ps <= 0 {
|
|
param.Ps = 20
|
|
}
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
param.Mid = midInter.(int64)
|
|
}
|
|
plat := model.Plat(param.MobiApp, param.Device)
|
|
c.JSON(historySvr.LiveList(c, param.Mid, param.Build, param.Pn, param.Ps, param.Platform, plat))
|
|
}
|
|
|
|
//history cursor
|
|
func historyCursor(c *bm.Context) {
|
|
param := &history.HisParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
if param.Ps > 20 || param.Ps <= 0 {
|
|
param.Ps = 20
|
|
}
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
param.Mid = midInter.(int64)
|
|
}
|
|
businesses, ok := busMap[param.Business]
|
|
if !ok {
|
|
log.Error("historyCursor invalid business(%s)", param.Business)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
plat := model.Plat(param.MobiApp, param.Device)
|
|
c.JSON(historySvr.Cursor(c, param.Mid, param.Build, param.Max, param.Ps, param.Platform, param.MaxTP, plat, businesses))
|
|
}
|
|
|
|
//history del
|
|
func historyDel(c *bm.Context) {
|
|
param := &history.DelParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
param.Mid = midInter.(int64)
|
|
}
|
|
var hisRes []*hismodle.Resource
|
|
for _, boid := range param.Boids {
|
|
bo := strings.Split(boid, "_")
|
|
if len(bo) != 2 {
|
|
log.Error("historyDel invalid param(%+v)", param)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
oid, _ := strconv.ParseInt(bo[1], 10, 0)
|
|
if oid == 0 {
|
|
log.Error("historyDel invalid param(%+v)", param)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
hisRes = append(hisRes, &hismodle.Resource{
|
|
Oid: oid,
|
|
Business: bo[0],
|
|
})
|
|
}
|
|
c.JSON(nil, historySvr.Del(c, param.Mid, hisRes))
|
|
}
|
|
|
|
//history clear
|
|
func historyClear(c *bm.Context) {
|
|
param := &history.HisParam{}
|
|
if err := c.Bind(param); err != nil {
|
|
return
|
|
}
|
|
if midInter, ok := c.Get("mid"); ok {
|
|
param.Mid = midInter.(int64)
|
|
}
|
|
businesses, ok := busMap[param.Business]
|
|
if !ok {
|
|
log.Error("historyCursor invalid business(%s)", param.Business)
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
c.JSON(nil, historySvr.Clear(c, param.Mid, businesses))
|
|
}
|