208 lines
4.5 KiB
Go
208 lines
4.5 KiB
Go
package http
|
|
|
|
import (
|
|
"strconv"
|
|
|
|
"go-common/app/service/live/wallet/model"
|
|
"go-common/library/ecode"
|
|
bm "go-common/library/net/http/blademaster"
|
|
)
|
|
|
|
func getBasicParam(c *bm.Context) *model.BasicParam {
|
|
bp := new(model.BasicParam)
|
|
var err error
|
|
bp.TransactionId = c.Request.Form.Get("transaction_id")
|
|
bp.BizCode = c.Request.Form.Get("biz_code")
|
|
bp.Area, err = strconv.ParseInt(c.Request.Form.Get("area_id"), 10, 64)
|
|
if err != nil {
|
|
bp.Area = 0
|
|
}
|
|
bp.Source = c.Request.Form.Get("source")
|
|
bp.BizSource = c.Request.Form.Get("biz_source")
|
|
bp.MetaData = c.Request.Form.Get("metadata")
|
|
bp.Reason, err = strconv.ParseInt(c.Request.Form.Get("biz_reason"), 10, 64)
|
|
if err != nil {
|
|
bp.Reason = 0
|
|
}
|
|
|
|
bp.Version, err = strconv.ParseInt(c.Request.Form.Get("version"), 10, 64)
|
|
if err != nil {
|
|
bp.Version = 0
|
|
}
|
|
|
|
return bp
|
|
|
|
}
|
|
|
|
func getWithMetal(c *bm.Context) (withMetal int, err error) {
|
|
withMetalStr := c.Request.Form.Get("with_metal")
|
|
if withMetalStr == "" {
|
|
withMetal = 0
|
|
return
|
|
}
|
|
// check params
|
|
withMetal, err = strconv.Atoi(withMetalStr)
|
|
if err != nil || (withMetal != 0 && withMetal != 1) {
|
|
err = ecode.RequestErr
|
|
return
|
|
}
|
|
return
|
|
}
|
|
|
|
func get(c *bm.Context) {
|
|
uidStr := c.Request.Form.Get("uid")
|
|
// check params
|
|
uid, err := strconv.ParseInt(uidStr, 10, 64)
|
|
if err != nil || uid <= 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
withMetal, err := getWithMetal(c)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
c.JSON(walletSvr.Get(c, bp, uid, platform, withMetal))
|
|
}
|
|
|
|
func delCache(c *bm.Context) {
|
|
uidStr := c.Request.Form.Get("uid")
|
|
// check params
|
|
uid, err := strconv.ParseInt(uidStr, 10, 64)
|
|
if err != nil || uid <= 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
bp := getBasicParam(c)
|
|
c.JSON(walletSvr.DelCache(c, bp, uid))
|
|
}
|
|
|
|
func getAll(c *bm.Context) {
|
|
uidStr := c.Request.Form.Get("uid")
|
|
// check params
|
|
uid, err := strconv.ParseInt(uidStr, 10, 64)
|
|
if err != nil || uid <= 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
withMetal, err := getWithMetal(c)
|
|
if err != nil {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
c.JSON(walletSvr.GetAll(c, bp, uid, platform, withMetal))
|
|
}
|
|
|
|
func getTid(c *bm.Context) {
|
|
typeStr := c.Request.Form.Get("type")
|
|
// check params
|
|
serviceType64, err := strconv.ParseInt(typeStr, 10, 64)
|
|
serviceType := int32(serviceType64)
|
|
if err != nil || serviceType < 0 {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
params := c.Request.Form.Get("params")
|
|
if params == "" {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
bp := getBasicParam(c)
|
|
c.JSON(walletSvr.GetTid(c, bp, 0, serviceType, params))
|
|
}
|
|
|
|
func recharge(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
|
|
arg := &model.RechargeOrPayForm{}
|
|
if err := c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
|
|
c.JSON(walletSvr.Recharge(c, bp, arg.Uid, platform, arg))
|
|
}
|
|
|
|
func modify(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
|
|
arg := &model.RechargeOrPayForm{}
|
|
if err := c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
|
|
c.JSON(walletSvr.Modify(c, bp, arg.Uid, platform, arg))
|
|
}
|
|
|
|
func pay(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
|
|
arg := &model.RechargeOrPayForm{}
|
|
if err := c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
|
|
var reason interface{}
|
|
reasonFromHttp := c.Request.Form.Get("reason")
|
|
if reasonFromHttp == "" {
|
|
reason = nil
|
|
} else {
|
|
reason = reasonFromHttp
|
|
}
|
|
|
|
c.JSON(walletSvr.Pay(c, bp, arg.Uid, platform, arg, reason))
|
|
}
|
|
|
|
func exchange(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
|
|
arg := &model.ExchangeForm{}
|
|
if err := c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
|
|
c.JSON(walletSvr.Exchange(c, bp, arg.Uid, platform, arg))
|
|
}
|
|
|
|
func query(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
if platform == "" {
|
|
platform = "pc"
|
|
}
|
|
|
|
tid := c.Request.Form.Get("transaction_id")
|
|
if tid == "" {
|
|
c.JSON(nil, ecode.RequestErr)
|
|
return
|
|
}
|
|
|
|
uidStr := c.Request.Form.Get("uid")
|
|
uid, err := strconv.ParseInt(uidStr, 10, 64)
|
|
if err != nil || uid <= 0 {
|
|
uid = 0
|
|
return
|
|
}
|
|
|
|
c.JSON(walletSvr.Query(c, bp, uid, platform, tid))
|
|
|
|
}
|
|
|
|
func recordCoinStream(c *bm.Context) {
|
|
bp := getBasicParam(c)
|
|
platform := c.Request.Header.Get("platform")
|
|
|
|
arg := &model.RecordCoinStreamForm{}
|
|
if err := c.Bind(arg); err != nil {
|
|
return
|
|
}
|
|
c.JSON(walletSvr.RecordCoinStream(c, bp, arg.Uid, platform, arg))
|
|
}
|