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.
147 lines
3.4 KiB
147 lines
3.4 KiB
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)) |
|
}
|
|
|