go-common/app/admin/main/member/http/member.go
2019-04-22 18:49:16 +08:00

197 lines
4.0 KiB
Go

package http
import (
"io/ioutil"
"time"
"go-common/app/admin/main/member/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
"go-common/library/net/metadata"
xtime "go-common/library/time"
)
func members(ctx *bm.Context) {
arg := &model.ArgList{}
if err := ctx.Bind(arg); err != nil {
return
}
if arg.PN <= 0 {
arg.PN = 1
}
if arg.PS <= 0 {
arg.PS = 10
}
ctx.JSON(svc.Members(ctx, arg))
}
func memberProfile(ctx *bm.Context) {
arg := &model.ArgMid{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.MemberProfile(ctx, arg.Mid))
}
func delSign(ctx *bm.Context) {
arg := &model.ArgMids{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(nil, svc.DelSign(ctx, arg))
}
// pubExpMsg is.
func pubExpMsg(ctx *bm.Context) {
arg := &model.ArgPubExpMsg{}
if err := ctx.Bind(arg); err != nil {
return
}
if arg.IP == "" {
arg.IP = metadata.String(ctx, metadata.RemoteIP)
}
if arg.Ts == 0 {
arg.Ts = time.Now().Unix()
}
ctx.JSON(nil, svc.PubExpMsg(ctx, arg))
}
func expSet(ctx *bm.Context) {
arg := &model.ArgExpSet{}
if err := ctx.Bind(arg); err != nil {
return
}
arg.IP = metadata.String(ctx, metadata.RemoteIP)
ctx.JSON(nil, svc.SetExp(ctx, arg))
}
func moralSet(ctx *bm.Context) {
arg := &model.ArgMoralSet{}
if err := ctx.Bind(arg); err != nil {
return
}
arg.IP = metadata.String(ctx, metadata.RemoteIP)
ctx.JSON(nil, svc.SetMoral(ctx, arg))
}
func coinSet(ctx *bm.Context) {
arg := &model.ArgCoinSet{}
if err := ctx.Bind(arg); err != nil {
return
}
arg.IP = metadata.String(ctx, metadata.RemoteIP)
ctx.JSON(nil, svc.SetCoin(ctx, arg))
}
func rankSet(ctx *bm.Context) {
arg := &model.ArgRankSet{}
if err := ctx.Bind(arg); err != nil {
return
}
arg.IP = metadata.String(ctx, metadata.RemoteIP)
ctx.JSON(nil, svc.SetRank(ctx, arg))
}
func additRemarkSet(ctx *bm.Context) {
arg := &model.ArgAdditRemarkSet{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(nil, svc.SetAdditRemark(ctx, arg))
}
func baseReview(ctx *bm.Context) {
arg := &model.ArgBaseReview{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.BaseReview(ctx, arg))
}
func clearFace(ctx *bm.Context) {
arg := &model.ArgMids{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.ClearFace(ctx, arg), nil)
}
func clearSign(ctx *bm.Context) {
arg := &model.ArgMids{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.ClearSign(ctx, arg), nil)
}
func clearName(ctx *bm.Context) {
arg := &model.ArgMids{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.ClearName(ctx, arg), nil)
}
func expLog(ctx *bm.Context) {
arg := &model.ArgMid{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.ExpLog(ctx, arg.Mid))
}
func faceHistory(ctx *bm.Context) {
arg := &model.ArgFaceHistory{}
if err := ctx.Bind(arg); err != nil {
return
}
if ctx.Request.Form.Get("status") == "" {
// 0:队列中 1:待审核 2:通过 3:驳回
arg.Status = []int8{0, 1, 2, 3}
}
if arg.PN <= 0 {
arg.PN = 1
}
if arg.PS <= 0 {
arg.PS = 50
}
if arg.ETime <= 0 {
arg.ETime = xtime.Time(time.Now().Unix())
}
ctx.JSON(svc.FaceHistory(ctx, arg))
}
func moralLog(ctx *bm.Context) {
arg := &model.ArgMid{}
if err := ctx.Bind(arg); err != nil {
return
}
ctx.JSON(svc.MoralLog(ctx, arg.Mid))
}
func batchFormal(ctx *bm.Context) {
arg := &model.ArgBatchFormal{}
if err := ctx.Bind(arg); err != nil {
return
}
defer ctx.Request.Form.Del("file") // 防止日志不出现
ctx.Request.ParseMultipartForm(32 << 20)
fd, _, err := ctx.Request.FormFile("file")
if err != nil {
log.Warn("Failed to parse form file: %+v", err)
ctx.JSON(nil, ecode.RequestErr)
return
}
defer fd.Close()
file, err := ioutil.ReadAll(fd)
if err != nil {
log.Warn("Failed to read form file: %+v", err)
ctx.JSON(nil, ecode.RequestErr)
return
}
log.Info("Succeeded to parse file data: file-length: %d", len(file))
arg.FileData = file
ctx.JSON(nil, svc.BatchFormal(ctx, arg))
}