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.
154 lines
3.0 KiB
154 lines
3.0 KiB
package http |
|
|
|
import ( |
|
"strings" |
|
|
|
"go-common/app/service/main/point/model" |
|
"go-common/library/ecode" |
|
"go-common/library/log" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
func pointInfo(c *bm.Context) { |
|
var ( |
|
mid, _ = c.Get("mid") |
|
) |
|
c.JSON(svc.PointInfo(c, mid.(int64))) |
|
} |
|
|
|
func pointInfoInner(c *bm.Context) { |
|
m := new(model.ArgMid) |
|
if err := c.Bind(m); err != nil { |
|
return |
|
} |
|
c.JSON(svc.PointInfo(c, m.Mid)) |
|
} |
|
|
|
func pointAddByBp(c *bm.Context) { |
|
var ( |
|
err error |
|
p int64 |
|
) |
|
if err = checkAuth(c); err != nil { |
|
c.JSON(nil, err) |
|
} |
|
pa := new(model.ArgPointAdd) |
|
if err = c.Bind(pa); err != nil { |
|
log.Error("point add by bp bind %+v", err) |
|
return |
|
} |
|
if p, err = svc.PointAddByBp(c, pa); err != nil { |
|
log.Error("point add by bp(%+v) faild(%+v)", pa, err) |
|
c.JSON(nil, err) |
|
return |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"point": p, |
|
}, nil) |
|
} |
|
|
|
func pointConsume(c *bm.Context) { |
|
var ( |
|
err error |
|
status int8 |
|
) |
|
if err = checkAuth(c); err != nil { |
|
c.JSON(nil, err) |
|
} |
|
arg := new(model.ArgPointConsume) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("point consume bind %+v", err) |
|
return |
|
} |
|
if arg.Point <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if status, err = svc.ConsumePoint(c, arg); err != nil { |
|
log.Error("point consume(%+v) faild(%+v)", arg, err) |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"status": status, |
|
}, nil) |
|
} |
|
|
|
func pointHistory(c *bm.Context) { |
|
var ( |
|
mid, _ = c.Get("mid") |
|
m = new(model.ArgPointHistory) |
|
) |
|
if err := c.Bind(m); err != nil { |
|
return |
|
} |
|
phs, total, cursor, err := svc.PointHistory(c, mid.(int64), m.Cursor, m.PS) |
|
data := make(map[string]interface{}) |
|
data["total"] = total |
|
data["phs"] = phs |
|
data["cursor"] = cursor |
|
c.JSON(data, err) |
|
} |
|
|
|
func oldPointHistory(c *bm.Context) { |
|
var ( |
|
m = new(model.ArgOldPointHistory) |
|
) |
|
if err := c.Bind(m); err != nil { |
|
return |
|
} |
|
phs, total, err := svc.OldPointHistory(c, m.Mid, m.PN, m.PS) |
|
data := make(map[string]interface{}) |
|
data["total"] = total |
|
data["phs"] = phs |
|
c.JSON(data, err) |
|
} |
|
|
|
func configs(c *bm.Context) { |
|
c.JSON(svc.AllConfig(c), nil) |
|
} |
|
|
|
func config(c *bm.Context) { |
|
arg := new(model.ArgConfig) |
|
if err := c.Bind(arg); err != nil { |
|
return |
|
} |
|
if arg.ChangeType == 0 { |
|
arg.ChangeType = model.Contract |
|
} |
|
c.JSON(svc.Config(c, int(arg.ChangeType), arg.Mid, arg.Bp)) |
|
} |
|
|
|
func checkAuth(c *bm.Context) (err error) { |
|
req := c.Request |
|
params := req.Form |
|
sappkey := params.Get("appkey") |
|
if len(sappkey) == 0 || !strings.Contains(whiteAppkeys, sappkey) { |
|
err = ecode.AccessDenied |
|
return |
|
} |
|
return |
|
} |
|
|
|
func pointAdd(c *bm.Context) { |
|
var ( |
|
err error |
|
status int8 |
|
) |
|
if err = checkAuth(c); err != nil { |
|
c.JSON(nil, err) |
|
} |
|
arg := new(model.ArgPoint) |
|
if err = c.Bind(arg); err != nil { |
|
log.Error("point add bind %+v", err) |
|
return |
|
} |
|
if arg.Point <= 0 { |
|
c.JSON(nil, ecode.RequestErr) |
|
return |
|
} |
|
if status, err = svc.AddPoint(c, arg); err != nil { |
|
log.Error("point add(%+v) faild(%+v)", arg, err) |
|
} |
|
c.JSON(map[string]interface{}{ |
|
"status": status, |
|
}, nil) |
|
}
|
|
|