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.
177 lines
4.0 KiB
177 lines
4.0 KiB
package http |
|
|
|
import ( |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
"go-common/library/net/metadata" |
|
"strconv" |
|
) |
|
|
|
func webFeedbacks(c *bm.Context) { |
|
params := c.Request.Form |
|
stateStr := params.Get("state") |
|
tagIDStr := params.Get("tag_id") |
|
pnStr := params.Get("pn") |
|
psStr := params.Get("ps") |
|
start := params.Get("start") |
|
end := params.Get("end") |
|
platform := params.Get("platform") |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
tagID, err := strconv.ParseInt(tagIDStr, 10, 64) |
|
if err != nil { |
|
tagID = 0 |
|
} |
|
pn, err := strconv.ParseInt(pnStr, 10, 64) |
|
if err != nil || pn < 1 { |
|
pn = 1 |
|
} |
|
ps, err := strconv.ParseInt(psStr, 10, 64) |
|
if err != nil || pn < 1 { |
|
ps = 10 |
|
} |
|
if platform == "" { //兼容老逻辑 |
|
platform = "ugc" |
|
} |
|
feedbacks, count, err := fdSvc.Feedbacks(c, mid, ps, pn, tagID, stateStr, start, end, platform, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSONMap(map[string]interface{}{ |
|
"data": feedbacks, |
|
"pager": map[string]int64{ |
|
"pn": pn, |
|
"ps": ps, |
|
"count": count, |
|
}, |
|
}, nil) |
|
} |
|
|
|
func webFeedbackAdd(c *bm.Context) { |
|
params := c.Request.Form |
|
tagIDStr := params.Get("tag_id") |
|
aid := params.Get("aid") |
|
title := params.Get("title") |
|
browser := params.Get("browser") |
|
content := params.Get("content") |
|
sessionIDStr := params.Get("session_id") |
|
qq := params.Get("qq") |
|
imgURL := params.Get("img_url") |
|
platform := params.Get("platform") |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
tagID, err := strconv.ParseInt(tagIDStr, 10, 64) |
|
if err != nil { |
|
log.Error("tagID(%s) format error", tagIDStr) |
|
tagID = 0 |
|
} |
|
sessionID, err := strconv.ParseInt(sessionIDStr, 10, 64) |
|
if err != nil { |
|
log.Error("sessionID(%s) format error", sessionIDStr) |
|
sessionID = 0 |
|
} |
|
if content == "" { |
|
log.Error("content empty") |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if sessionID == 0 && tagID == 0 { |
|
log.Error("add feedback session tag empty") |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if sessionID == 0 { |
|
// add feedback |
|
content = title + "#p#" + content |
|
} |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
if platform == "" { //兼容老逻辑 |
|
platform = "ugc" |
|
} |
|
c.JSON(nil, fdSvc.AddFeedback(c, mid, tagID, sessionID, qq, content, aid, imgURL, browser, platform, ip)) |
|
} |
|
|
|
func webFeedbackDetail(c *bm.Context) { |
|
params := c.Request.Form |
|
sessionIDStr := params.Get("session_id") |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
sessionID, err := strconv.ParseInt(sessionIDStr, 10, 64) |
|
if err != nil { |
|
log.Error("sessionID(%s) format error", sessionIDStr) |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
feedbacks, err := fdSvc.Detail(c, mid, sessionID, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(feedbacks, nil) |
|
} |
|
|
|
func webFeedbackTags(c *bm.Context) { |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
tags, err := fdSvc.Tags(c, mid, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(tags, nil) |
|
} |
|
|
|
func webFeedbackClose(c *bm.Context) { |
|
params := c.Request.Form |
|
sessionIDStr := params.Get("session_id") |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
_, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
sessionID, err := strconv.ParseInt(sessionIDStr, 10, 64) |
|
if err != nil { |
|
log.Error("sessionID(%s) format error", sessionIDStr) |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
c.JSON(nil, fdSvc.CloseSession(c, sessionID, ip)) |
|
} |
|
|
|
func webFeedbackNewTags(c *bm.Context) { |
|
ip := metadata.String(c, metadata.RemoteIP) |
|
midI, ok := c.Get("mid") |
|
if !ok { |
|
c.JSON(nil, ecode.NoLogin) |
|
return |
|
} |
|
mid, _ := midI.(int64) |
|
tags, err := fdSvc.NewTags(c, mid, ip) |
|
if err != nil { |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(tags, nil) |
|
}
|
|
|