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.
96 lines
2.0 KiB
96 lines
2.0 KiB
package http |
|
|
|
import ( |
|
api "go-common/app/interface/main/ugcpay/api/http" |
|
"go-common/app/interface/main/ugcpay/model" |
|
bm "go-common/library/net/http/blademaster" |
|
) |
|
|
|
func tradeCreate(ctx *bm.Context) { |
|
var ( |
|
err error |
|
arg = &api.ArgTradeCreate{} |
|
resp = &api.RespTradeCreate{} |
|
mid, _ = ctx.Get("mid") |
|
platform = ctx.Request.FormValue("platform") |
|
) |
|
if err = ctx.Bind(arg); err != nil { |
|
return |
|
} |
|
if resp.OrderID, resp.PayData, err = srv.TradeCreate(ctx, mid.(int64), platform, arg.OID, arg.OType, arg.Currency); err != nil { |
|
ctx.JSON(nil, err) |
|
return |
|
} |
|
ctx.JSON(resp, err) |
|
} |
|
|
|
func tradeQuery(ctx *bm.Context) { |
|
var ( |
|
err error |
|
arg = &api.ArgTradeOrder{} |
|
resp *api.RespTradeOrder |
|
order *model.TradeOrder |
|
) |
|
if err = ctx.Bind(arg); err != nil { |
|
return |
|
} |
|
if order, err = srv.TradeQuery(ctx, arg.OrderID); err != nil { |
|
ctx.JSON(nil, err) |
|
return |
|
} |
|
resp = &api.RespTradeOrder{ |
|
OrderID: order.OrderID, |
|
MID: order.MID, |
|
Biz: order.Biz, |
|
Platform: order.Platform, |
|
OID: order.OID, |
|
OType: order.OType, |
|
Fee: order.Fee, |
|
Currency: order.Currency, |
|
PayID: order.PayID, |
|
State: order.State, |
|
Reason: order.Reason, |
|
} |
|
ctx.JSON(resp, err) |
|
} |
|
|
|
func tradeConfirm(ctx *bm.Context) { |
|
var ( |
|
err error |
|
arg = &api.ArgTradeOrder{} |
|
resp *api.RespTradeOrder |
|
order *model.TradeOrder |
|
) |
|
if err = ctx.Bind(arg); err != nil { |
|
return |
|
} |
|
if order, err = srv.TradeConfirm(ctx, arg.OrderID); err != nil { |
|
ctx.JSON(nil, err) |
|
return |
|
} |
|
resp = &api.RespTradeOrder{ |
|
OrderID: order.OrderID, |
|
MID: order.MID, |
|
Biz: order.Biz, |
|
Platform: order.Platform, |
|
OID: order.OID, |
|
OType: order.OType, |
|
Fee: order.Fee, |
|
Currency: order.Currency, |
|
PayID: order.PayID, |
|
State: order.State, |
|
Reason: order.Reason, |
|
} |
|
ctx.JSON(resp, err) |
|
} |
|
|
|
func tradeCancel(ctx *bm.Context) { |
|
var ( |
|
err error |
|
arg = &api.ArgTradeOrder{} |
|
) |
|
if err = ctx.Bind(arg); err != nil { |
|
return |
|
} |
|
ctx.JSON(nil, srv.TradeCancel(ctx, arg.OrderID)) |
|
}
|
|
|