123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- package http
- import (
- "strconv"
- "time"
- "go-common/app/admin/main/reply/model"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- )
- const (
- _remarkLength = 200
- )
- func adminSubject(c *bm.Context) {
- params := c.Request.Form
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- oid, err := strconv.ParseInt(oidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- c.JSON(nil, ecode.RequestErr)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- c.JSON(nil, ecode.RequestErr)
- return
- }
- sub, err := rpSvc.Subject(c, oid, int32(tp))
- if err != nil {
- log.Error("rpSvr.AdminGetSubjectState(oid%d,tp,%d)error(%v)", oid, int32(tp))
- c.JSON(nil, err)
- return
- }
- c.JSON(sub, nil)
- return
- }
- // adminSubjectState modify subject state
- func adminSubjectState(c *bm.Context) {
- v := new(struct {
- Oid []int64 `form:"oid,split" validate:"required"`
- Type int32 `form:"type" validate:"required"`
- State int32 `form:"state"`
- Remark string `form:"remark"`
- })
- err := c.Bind(v)
- if err != nil {
- return
- }
- var adid int64
- if uid, ok := c.Get("uid"); ok {
- adid = uid.(int64)
- }
- var adName string
- if uname, ok := c.Get("username"); ok {
- adName = uname.(string)
- }
- fails, err := rpSvc.ModifySubState(c, adid, adName, v.Oid, v.Type, v.State, v.Remark)
- c.JSON(fails, err)
- return
- }
- // SubLogSearch returns all subjects in recent 3 months by default,
- // accept start time, end time, page, pagesize, order, sort as parameters.
- func SubLogSearch(c *bm.Context) {
- v := new(struct {
- Oid int64 `form:"oid"`
- Type int32 `form:"type"`
- StartTime string `form:"start_time"`
- EndTime string `form:"end_time"`
- Page int64 `form:"pn"`
- PageSize int64 `form:"ps"`
- Order string `form:"order"`
- Sort string `form:"sort"`
- })
- var err error
- err = c.Bind(v)
- if err != nil {
- return
- }
- if v.EndTime == "" {
- v.EndTime = time.Now().Format(model.DateFormat)
- }
- // 默认只展示3个月内的数据
- if v.StartTime == "" {
- v.StartTime = time.Now().AddDate(0, -3, 0).Format(model.DateFormat)
- }
- sp := model.LogSearchParam{
- Oid: v.Oid,
- Type: v.Type,
- CtimeFrom: v.StartTime,
- CtimeTo: v.EndTime,
- Pn: v.Page,
- Ps: v.PageSize,
- Order: v.Order,
- Sort: v.Sort,
- }
- data, err := rpSvc.SubjectLog(c, sp)
- res := map[string]interface{}{}
- res["data"] = data
- c.JSONMap(res, err)
- return
- }
- // SubFreeze freeze or unfreeze the comments.
- func SubFreeze(c *bm.Context) {
- v := new(struct {
- Oid []int64 `form:"oid,split"`
- Type int32 `form:"type"`
- Freeze int32 `form:"freeze"`
- Remark string `form:"remark"`
- })
- err := c.Bind(v)
- if err != nil {
- return
- }
- var adid int64
- if uid, ok := c.Get("uid"); ok {
- adid = uid.(int64)
- }
- var adName string
- if uname, ok := c.Get("username"); ok {
- adName = uname.(string)
- }
- fails, err := rpSvc.FreezeSub(c, adid, adName, v.Oid, v.Type, v.Freeze, v.Remark)
- c.JSON(fails, err)
- return
- }
|