72 lines
2.0 KiB
Go
72 lines
2.0 KiB
Go
package app
|
|
|
|
import (
|
|
"git.rosy.net.cn/jx-print/controllers"
|
|
"git.rosy.net.cn/jx-print/globals"
|
|
"git.rosy.net.cn/jx-print/model"
|
|
"git.rosy.net.cn/jx-print/model/app_model"
|
|
"git.rosy.net.cn/jx-print/services/api"
|
|
"git.rosy.net.cn/jx-print/services/print_server/app_server"
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
)
|
|
|
|
// Pay4Order 充值打印机
|
|
// @Title 充值打印机
|
|
// @Description 充值打印机
|
|
// @Param token header string true "认证token"
|
|
// @Param data body app_model.PayOrder true "请求参数"
|
|
// @Success 200 {object} controllers.CallResult
|
|
// @Failure 200 {object} controllers.CallResult
|
|
// @router /pay4Order [post]
|
|
func (a *Auth2Controller) Pay4Order(c *gin.Context) {
|
|
// 参数绑定
|
|
var (
|
|
err error
|
|
params *app_model.PayOrder
|
|
service = app_server.PrintPayServer
|
|
tokenInfo *model.TokenInfo
|
|
)
|
|
|
|
if err = c.ShouldBind(¶ms); err != nil {
|
|
c.JSON(http.StatusOK, &model.CallBack{
|
|
Code: model.ErrCodeNormal,
|
|
Desc: err.Error(),
|
|
})
|
|
return
|
|
}
|
|
|
|
if tokenInfo = controllers.CheckToken(c); tokenInfo == nil {
|
|
return
|
|
}
|
|
|
|
controllers.CallFunc(c, func() (retVal interface{}, errCode string, err error) {
|
|
pay, err := service.Pay4Order(tokenInfo.User, service.GetRealRemoteIP(c), params.TotalFee, params.PayType, params.VendorPayType, params.PrintNo)
|
|
if err != nil {
|
|
return nil, "", err
|
|
}
|
|
|
|
return map[string]interface{}{"pay": pay}, "", nil
|
|
})
|
|
}
|
|
|
|
func (a *Auth2Controller) PayCallBack(c *gin.Context) {
|
|
if c.Request.Method == http.MethodPost {
|
|
call, err := api.TLpayAPI.GetCallbackMsg(c.Request)
|
|
if err != nil {
|
|
globals.SugarLogger.Errorf("通联支付,结构体转换错误:%v", err)
|
|
c.JSON(http.StatusNotFound, "")
|
|
}
|
|
|
|
var service = app_server.PrintPayServer
|
|
if err := service.OnTLPayCallback(call); err != nil {
|
|
globals.SugarLogger.Errorf("通联支付,回调函数错误处理异常:%v", err)
|
|
c.JSON(http.StatusNotFound, "")
|
|
}
|
|
|
|
c.JSON(http.StatusOK, call)
|
|
} else {
|
|
c.JSON(http.StatusNotFound, "")
|
|
}
|
|
}
|