59 lines
1.8 KiB
Go
59 lines
1.8 KiB
Go
package controllers
|
||
|
||
import (
|
||
"git.rosy.net.cn/jx-print/model"
|
||
"git.rosy.net.cn/jx-print/services"
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
func CreateOrder(c *gin.Context) {
|
||
var (
|
||
err error
|
||
tokenInfo *model.TokenInfo
|
||
param = &struct {
|
||
OrderType string `json:"order_type" form:"order_type" binding:"required"` //订单类型,流量充值等
|
||
Origin string `json:"origin" form:"origin" binding:"required"` //订单来源,小程序,开放后台
|
||
ThingID string `json:"thing_id" form:"thing_id" binding:"required"` //订单充值项目ID,充流量就是iccid
|
||
TypeID string `json:"type_id" form:"type_id" binding:"required"` //类型ID,充流量就是套餐对应的id
|
||
}{}
|
||
)
|
||
if err = c.ShouldBind(¶m); err != nil {
|
||
buildErrJson(c, err)
|
||
return
|
||
}
|
||
if tokenInfo = checkToken(c); tokenInfo == nil {
|
||
return
|
||
}
|
||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||
retVal, err = services.CreateOrder(tokenInfo, param.OrderType, param.Origin, param.ThingID, param.TypeID)
|
||
return retVal, "", err
|
||
}) {
|
||
return
|
||
}
|
||
}
|
||
|
||
func Pay(c *gin.Context) {
|
||
var (
|
||
err error
|
||
tokenInfo *model.TokenInfo
|
||
param = &struct {
|
||
OrderID string `json:"order_id" form:"order_id" binding:"required"` //订单号
|
||
PayType string `json:"pay_type" form:"pay_type" binding:"required"` //支付类型
|
||
VendorPayType string `json:"vendor_pay_type" form:"vendor_pay_type" binding:"required"` //支付方式
|
||
}{}
|
||
)
|
||
if err = c.ShouldBind(¶m); err != nil {
|
||
buildErrJson(c, err)
|
||
return
|
||
}
|
||
if tokenInfo = checkToken(c); tokenInfo == nil {
|
||
return
|
||
}
|
||
if !callFunc(c, func() (retVal interface{}, errCode string, err error) {
|
||
retVal, err = services.Pay(tokenInfo, param.OrderID, param.PayType, param.VendorPayType)
|
||
return retVal, "", err
|
||
}) {
|
||
return
|
||
}
|
||
}
|