2019-04-22 02:59:20 +00:00

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))
}