go-common/app/interface/main/space/http/setting.go

105 lines
2.3 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package http
import (
"strconv"
"strings"
"go-common/app/interface/main/space/model"
"go-common/library/ecode"
bm "go-common/library/net/http/blademaster"
)
func settingInfo(c *bm.Context) {
var (
mid int64
err error
)
midStr := c.Request.Form.Get("mid")
if mid, err = strconv.ParseInt(midStr, 10, 64); err != nil || mid <= 0 {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(spcSvc.SettingInfo(c, mid))
}
func privacyModify(c *bm.Context) {
var (
mid int64
field string
value int
fieldCheck bool
err error
)
params := c.Request.Form
midStr, _ := c.Get("mid")
mid = midStr.(int64)
if field = params.Get("field"); field == "" {
c.JSON(nil, ecode.RequestErr)
return
}
for _, v := range model.PrivacyFields {
if v == field {
fieldCheck = true
break
}
}
if !fieldCheck {
c.JSON(nil, ecode.RequestErr)
return
}
valueStr := params.Get("value")
if value, err = strconv.Atoi(valueStr); err != nil || (value != 0 && value != 1) {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, spcSvc.PrivacyModify(c, mid, field, value))
}
func privacyBatchModify(c *bm.Context) {
params := c.Request.Form
midStr, _ := c.Get("mid")
mid := midStr.(int64)
batch := make(map[string]int)
for _, v := range model.PrivacyFields {
if valueStr := params.Get(v); valueStr != "" {
if value, err := strconv.Atoi(params.Get(v)); err == nil && (value == 0 || value == 1) {
batch[v] = value
}
}
}
c.JSON(nil, spcSvc.PrivacyBatchModify(c, mid, batch))
}
func indexOrderModify(c *bm.Context) {
var (
mid int64
indexOrderStr string
indexOrder []string
)
params := c.Request.Form
midStr, _ := c.Get("mid")
mid = midStr.(int64)
if indexOrderStr = params.Get("index_order"); indexOrderStr == "" {
c.JSON(nil, ecode.RequestErr)
return
}
indexOrders := strings.Split(indexOrderStr, ",")
for _, v := range indexOrders {
i, err := strconv.Atoi(v)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if _, ok := model.IndexOrderMap[i]; !ok {
c.JSON(nil, ecode.RequestErr)
return
}
indexOrder = append(indexOrder, v)
}
if len(indexOrder) != len(model.DefaultIndexOrder) {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, spcSvc.IndexOrderModify(c, mid, indexOrder))
}