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.
172 lines
3.8 KiB
172 lines
3.8 KiB
package http |
|
|
|
import ( |
|
"encoding/json" |
|
"strconv" |
|
|
|
"go-common/app/admin/main/manager/conf" |
|
"go-common/app/admin/main/manager/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/xstr" |
|
) |
|
|
|
func rankGroups(c *bm.Context) { |
|
form := c.Request.Form |
|
pn, _ := strconv.Atoi(form.Get("pn")) |
|
if pn < 1 { |
|
pn = 1 |
|
} |
|
ps, _ := strconv.Atoi(form.Get("ps")) |
|
if ps < 1 || ps > conf.Conf.Cfg.RankGroupMaxPs { |
|
ps = conf.Conf.Cfg.RankGroupMaxPs |
|
} |
|
groups, total, err := mngSvc.RankGroups(c, pn, ps) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
page := map[string]int{ |
|
"page": pn, |
|
"pagesize": ps, |
|
"total": total, |
|
} |
|
c.JSONMap(map[string]interface{}{ |
|
"pager": page, |
|
"data": groups, |
|
}, err) |
|
} |
|
|
|
func rankGroup(c *bm.Context) { |
|
form := c.Request.Form |
|
gid, _ := strconv.ParseInt(form.Get("id"), 10, 64) |
|
if gid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("id unnarmal (%d)", gid) |
|
return |
|
} |
|
c.JSON(mngSvc.RankGroup(c, gid)) |
|
} |
|
|
|
func addRankGroup(c *bm.Context) { |
|
form := c.Request.Form |
|
name := form.Get("name") |
|
if name == "" { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("name is empty") |
|
return |
|
} |
|
desc := form.Get("desc") |
|
auths, _ := xstr.SplitInts(form.Get("auths")) |
|
g := &model.RankGroup{Name: name, Desc: desc} |
|
c.JSON(mngSvc.AddRankGroup(c, g, auths)) |
|
} |
|
|
|
func updateRankGroup(c *bm.Context) { |
|
form := c.Request.Form |
|
gid, _ := strconv.ParseInt(form.Get("id"), 10, 64) |
|
if gid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("id unnarmal (%d)", gid) |
|
return |
|
} |
|
name := form.Get("name") |
|
if name == "" { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("name is empty") |
|
return |
|
} |
|
desc := form.Get("desc") |
|
auths, _ := xstr.SplitInts(form.Get("auths")) |
|
g := &model.RankGroup{ID: gid, Name: name, Desc: desc} |
|
c.JSON(nil, mngSvc.UpdateRankGroup(c, g, auths)) |
|
} |
|
|
|
func delRankGroup(c *bm.Context) { |
|
form := c.Request.Form |
|
gid, _ := strconv.ParseInt(form.Get("id"), 10, 64) |
|
if gid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("id unnarmal (%d)", gid) |
|
return |
|
} |
|
c.JSON(nil, mngSvc.DelRankGroup(c, gid)) |
|
} |
|
|
|
func addRankUser(c *bm.Context) { |
|
form := c.Request.Form |
|
uid, _ := strconv.ParseInt(form.Get("uid"), 10, 64) |
|
if uid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("uid unnarmal (%d)", uid) |
|
return |
|
} |
|
c.JSON(nil, mngSvc.AddRankUser(c, uid)) |
|
} |
|
|
|
func rankUsers(c *bm.Context) { |
|
form := c.Request.Form |
|
pn, _ := strconv.Atoi(form.Get("pn")) |
|
if pn < 1 { |
|
pn = 1 |
|
} |
|
ps, _ := strconv.Atoi(form.Get("ps")) |
|
if ps < 1 || ps > conf.Conf.Cfg.RankGroupMaxPs { |
|
ps = conf.Conf.Cfg.RankGroupMaxPs |
|
} |
|
un := form.Get("username") |
|
users, total, err := mngSvc.RankUsers(c, pn, ps, un) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
page := map[string]int{ |
|
"page": pn, |
|
"pagesize": ps, |
|
"total": total, |
|
} |
|
c.JSONMap(map[string]interface{}{ |
|
"pager": page, |
|
"data": users, |
|
}, err) |
|
} |
|
|
|
func saveRankUser(c *bm.Context) { |
|
form := c.Request.Form |
|
uid, _ := strconv.ParseInt(form.Get("uid"), 10, 64) |
|
if uid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("uid unnormal (%d)", uid) |
|
return |
|
} |
|
ranks := form.Get("ranks") |
|
if ranks == "" { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("ranks is empty") |
|
return |
|
} |
|
rs := make(map[string]int) |
|
if err := json.Unmarshal([]byte(ranks), &rs); err != nil { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("ranks unnormal (%s) error(%v)", ranks, err) |
|
return |
|
} |
|
rMap := make(map[int64]int) |
|
for g, r := range rs { |
|
gid, _ := strconv.ParseInt(g, 10, 64) |
|
rMap[gid] = r |
|
} |
|
c.JSON(nil, mngSvc.SaveRankUser(c, uid, rMap)) |
|
} |
|
|
|
func delRankUser(c *bm.Context) { |
|
form := c.Request.Form |
|
uid, _ := strconv.ParseInt(form.Get("uid"), 10, 64) |
|
if uid <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
log.Error("uid unnormal (%d)", uid) |
|
return |
|
} |
|
c.JSON(nil, mngSvc.DelRankUser(c, uid)) |
|
}
|
|
|