123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782 |
- package http
- import (
- "strconv"
- "strings"
- "text/template"
- "go-common/app/interface/main/reply/conf"
- "go-common/library/ecode"
- "go-common/library/log"
- bm "go-common/library/net/http/blademaster"
- "go-common/library/xstr"
- )
- const (
- _remarkLength = 200
- )
- func adminSubjectMid(c *bm.Context) {
- var (
- err error
- tp int64
- oid int64
- mid int64
- adid int64
- )
- params := c.Request.Form
- tpStr := params.Get("type")
- oidStr := params.Get("oid")
- midStr := params.Get("mid")
- adidStr := params.Get("adid")
- remark := params.Get("remark")
- if tp, err = strconv.ParseInt(tpStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if oid, err = strconv.ParseInt(oidStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", midStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if adid, err = strconv.ParseInt(adidStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- err = rpSvr.AdminSubjectMid(c, adid, mid, oid, int8(tp), remark)
- c.JSON(nil, err)
- }
- func adminSubRegist(c *bm.Context) {
- var (
- err error
- oid int64
- tp int64
- state int64
- mid int64
- )
- params := c.Request.Form
- midStr := params.Get("mid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- stateStr := params.Get("state")
- appkey := params.Get("appkey")
- if oid, err = strconv.ParseInt(oidStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", midStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if stateStr != "" {
- if state, err = strconv.ParseInt(stateStr, 10, 8); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", stateStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- if tpStr != "" {
- if tp, err = strconv.ParseInt(tpStr, 10, 8); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- err = rpSvr.AdminSubRegist(c, oid, mid, int8(tp), int8(state), appkey)
- c.JSON(nil, err)
- }
- 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)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- sub, err := rpSvr.AdminGetSubject(c, oid, int8(tp))
- if err != nil {
- log.Warn("rpSvr.AdminGetSubjectState(oid%d,tp,%d)error(%v)", oid, int8(tp))
- c.JSON(nil, err)
- return
- }
- c.JSON(sub, nil)
- }
- // adminModifySubject modify subject state.
- func adminSubjectState(c *bm.Context) {
- var (
- err error
- mid int64
- )
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- stateStr := params.Get("state")
- midStr := params.Get("mid")
- remark := params.Get("remark")
- // check params
- remark = strings.TrimSpace(remark)
- rml := len([]rune(remark))
- if rml > _remarkLength {
- log.Warn("remark(%s) length %d, max %d", remark, rml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oid, err := strconv.ParseInt(oidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- state, err := strconv.ParseInt(stateStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", stateStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if midStr != "" {
- if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", midStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- err = rpSvr.AdminSubjectState(c, adid, oid, mid, int8(tp), int8(state), remark)
- c.JSON(nil, err)
- }
- func adminAuditSub(c *bm.Context) {
- }
- // adminPassReply pass reply normal.
- func adminPassReply(c *bm.Context) {
- var err error
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- remark := params.Get("remark")
- // check params
- remark = strings.TrimSpace(remark)
- rml := len([]rune(remark))
- if rml > _remarkLength {
- log.Warn("remark(%s) length %d, max %d", remark, rml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- // remark = template.JSEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if len(oids) != len(rpIDs) {
- log.Warn("oids:%s rpIDs:%s ", oids, rpIDs)
- return
- }
- for i := 0; i < len(oids); i++ {
- err = rpSvr.AdminPass(c, adid, oids[i], rpIDs[i], int8(tp), remark)
- }
- c.JSON(nil, err)
- }
- // adminRecoverReply recover reply normal.
- func adminRecoverReply(c *bm.Context) {
- var err error
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- remark := params.Get("remark")
- // check params
- remark = strings.TrimSpace(remark)
- rml := len([]rune(remark))
- if rml > _remarkLength {
- log.Warn("remark(%s) length %d, max %d", remark, rml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oid, err := strconv.ParseInt(oidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpID, err := strconv.ParseInt(rpIDStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- err = rpSvr.AdminRecover(c, adid, oid, rpID, int8(tp), remark)
- c.JSON(nil, err)
- }
- // adminEditReply edit reply content by admin.
- func adminEditReply(c *bm.Context) {
- var err error
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- msg := params.Get("message")
- remark := params.Get("remark")
- // check params
- msg = strings.TrimSpace(msg)
- ml := len([]rune(msg))
- if conf.Conf.Reply.MaxConLen < ml || ml < conf.Conf.Reply.MinConLen {
- log.Warn("content(%s) length %d, max %d, min %d", msg, ml, conf.Conf.Reply.MaxConLen, conf.Conf.Reply.MinConLen)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- msg = template.HTMLEscapeString(msg)
- remark = strings.TrimSpace(remark)
- rml := len([]rune(remark))
- if rml > _remarkLength {
- log.Warn("remark(%s) length %d, max %d", remark, rml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oid, err := strconv.ParseInt(oidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpID, err := strconv.ParseInt(rpIDStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- err = rpSvr.AdminEdit(c, adid, oid, rpID, int8(tp), msg, remark)
- c.JSON(nil, err)
- }
- // report reason
- const (
- TypeReportReasonOthers = 0
- )
- // _delReply delete reply, this call be limited to this file.
- func _delReply(c *bm.Context, isReport bool) {
- var (
- err error
- reason int64
- freason int64
- )
- params := c.Request.Form
- adidStr := params.Get("adid")
- adname := params.Get("adname")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- morStr := params.Get("moral")
- notStr := params.Get("notify")
- remark := params.Get("remark")
- ftimeStr := params.Get("ftime")
- auditStr := params.Get("audit")
- reasonStr := params.Get("reason")
- content := params.Get("reason_content")
- freasonStr := params.Get("freason")
- // check params
- remark = strings.TrimSpace(remark)
- ml := len([]rune(remark))
- if ml > _remarkLength {
- log.Warn("remark (%s) length %d, max %d", remark, ml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tps, err := xstr.SplitInts(tpStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- moral, err := strconv.ParseInt(morStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- notify, err := strconv.ParseBool(notStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if reasonStr != "" {
- if reason, err = strconv.ParseInt(reasonStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", reasonStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- if freasonStr != "" {
- if freason, err = strconv.ParseInt(freasonStr, 10, 64); err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", freasonStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- ftime, _ := strconv.ParseInt(ftimeStr, 10, 64)
- audit, _ := strconv.ParseInt(auditStr, 10, 8)
- if len(oids) == 0 || len(rpIDs) != len(oids) || len(tps) != len(oids) {
- log.Warn("admin del reply oids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if reason != TypeReportReasonOthers {
- content = ""
- }
- for i := 0; i < len(oids); i++ {
- if isReport {
- err = rpSvr.AdminDeleteByReport(c, adid, oids[i], rpIDs[i], ftime, int8(tps[i]), int(moral), notify, adname, remark, int8(audit), int8(reason), content, int8(freason))
- } else {
- err = rpSvr.AdminDelete(c, adid, oids[i], rpIDs[i], ftime, int8(tps[i]), int(moral), notify, adname, remark, int8(reason), int8(freason))
- }
- }
- c.JSON(nil, err)
- }
- // adminDelReply delete reply by admin.
- func adminDelReply(c *bm.Context) {
- _delReply(c, false)
- }
- // adminDelReplyByReport delete a report reply by admin.
- func adminDelReplyByReport(c *bm.Context) {
- _delReply(c, true)
- }
- func adminReportStateSet(c *bm.Context) {
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- stateStr := params.Get("state")
- var adid int64
- if adidStr != "" {
- var err error
- adid, err = strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tps, err := xstr.SplitInts(tpStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if len(oids) == 0 || len(rpIDs) != len(oids) || len(tps) != len(oids) {
- log.Warn("admin set report oids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- state, err := strconv.ParseInt(stateStr, 10, 8)
- if err != nil {
- log.Warn("admin set report soids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- for i := 0; i < len(oids); i++ {
- err = rpSvr.AdminReportStateSet(c, adid, oids[i], rpIDs[i], int8(tps[i]), int8(state))
- }
- c.JSON(nil, err)
- }
- func adminTransferReport(c *bm.Context) {
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- auditStr := params.Get("audit")
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.SplitInts(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.SplitInts(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tps, err := xstr.SplitInts(tpStr)
- if err != nil {
- log.Warn("strconv.SplitInts(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if len(oids) == 0 || len(rpIDs) != len(oids) || len(tps) != len(oids) {
- log.Warn("admin del reply oids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- audit, _ := strconv.ParseInt(auditStr, 10, 8)
- for i := 0; i < len(oids); i++ {
- err = rpSvr.AdminReportTransfer(c, adid, oids[i], rpIDs[i], int8(tps[i]), int8(audit))
- }
- c.JSON(nil, err)
- }
- // adminIgnoreReport ignore a report.
- func adminIgnoreReport(c *bm.Context) {
- var err error
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- auditStr := params.Get("audit")
- remark := params.Get("remark")
- // check params
- remark = strings.TrimSpace(remark)
- ml := len([]rune(remark))
- if ml > _remarkLength {
- log.Warn("remark (%s) length %d, max %d", remark, ml, 255)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tps, err := xstr.SplitInts(tpStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- audit, _ := strconv.ParseInt(auditStr, 10, 8)
- if len(oids) == 0 || len(rpIDs) != len(oids) || len(tps) != len(oids) {
- log.Warn("admin del reply oids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- for i := 0; i < len(oids); i++ {
- err = rpSvr.AdminReportIgnore(c, adid, oids[i], rpIDs[i], int8(tps[i]), int8(audit), remark)
- }
- c.JSON(nil, err)
- }
- // adminAddTopReply add top reply
- func adminAddTopReply(c *bm.Context) {
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- actStr := params.Get("action")
- // check params
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oid, err := strconv.ParseInt(oidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpID, err := strconv.ParseInt(rpIDStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tp, err := strconv.ParseInt(tpStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- act, err := strconv.ParseInt(actStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(actStr :%s) err(%v)", actStr, err)
- act = 1
- }
- err = rpSvr.AdminAddTop(c, adid, oid, rpID, int8(tp), int8(act))
- c.JSON(nil, err)
- }
- func adminReportRecover(c *bm.Context) {
- var err error
- params := c.Request.Form
- adidStr := params.Get("adid")
- oidStr := params.Get("oid")
- tpStr := params.Get("type")
- rpIDStr := params.Get("rpid")
- auditStr := params.Get("audit")
- remark := params.Get("remark")
- // check params
- remark = strings.TrimSpace(remark)
- rml := len([]rune(remark))
- if rml > _remarkLength {
- log.Warn("remark(%s) length %d, max %d", remark, rml, _remarkLength)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- remark = template.HTMLEscapeString(remark)
- adid, err := strconv.ParseInt(adidStr, 10, 64)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", adidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- oids, err := xstr.SplitInts(oidStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", oidStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- rpIDs, err := xstr.SplitInts(rpIDStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", rpIDStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- tps, err := xstr.SplitInts(tpStr)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- audit, err := strconv.ParseInt(auditStr, 10, 8)
- if err != nil {
- log.Warn("strconv.ParseInt(%s) error(%v)", tpStr, err)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- if len(oids) == 0 || len(rpIDs) != len(oids) || len(tps) != len(oids) {
- log.Warn("admin del reply oids: %v, rpIDs: %v, tps: %v", oids, rpIDs, tps)
- err = ecode.RequestErr
- c.JSON(nil, err)
- return
- }
- for i := 0; i < len(oids); i++ {
- err = rpSvr.AdminReportRecover(c, adid, oids[i], rpIDs[i], int8(tps[i]), int8(audit), remark)
- }
- c.JSON(nil, err)
- }
|