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, "") } }