176 lines
5.3 KiB
Go
176 lines
5.3 KiB
Go
package controllers
|
||
|
||
import (
|
||
"encoding/json"
|
||
"git.rosy.net.cn/baseapi/platformapi/lakala"
|
||
lakalaServer "git.rosy.net.cn/jx-callback/business/lakala"
|
||
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
|
||
"git.rosy.net.cn/jx-callback/globals"
|
||
"github.com/astaxie/beego/server/web"
|
||
"io/ioutil"
|
||
)
|
||
|
||
type LaKaLaCallbackController struct {
|
||
web.Controller
|
||
}
|
||
|
||
// applyContract 合同申请回调
|
||
func (c *LaKaLaCallbackController) applyContract() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
globals.SugarLogger.Debugf("-----applyContract := %s", string(body))
|
||
apply := &lakala.ApplyContractCallBack{}
|
||
if err = json.Unmarshal(body, apply); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.ApplyContract(apply))
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// SeparateMsg 商户开通/修改分账业务回调
|
||
func (c *LaKaLaCallbackController) SeparateMsg() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----SeparateMsg := %s", string(body))
|
||
separate := &lakala.SeparateCallback{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.CreateSeparateShop(separate))
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// SeparateBind 分账关系绑定回调,解绑回调
|
||
func (c *LaKaLaCallbackController) SeparateBind() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----SeparateBind := %s", string(body))
|
||
separate := &lakala.SeparateBindCallback{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.BindSeparateBand(separate))
|
||
c.ServeJSON()
|
||
return
|
||
|
||
}
|
||
|
||
// Separate 分账申请/撤回/退回 回调
|
||
func (c *LaKaLaCallbackController) Separate() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----Separate := %s", string(body))
|
||
separate := &lakala.SeparateResult{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.GetSeparateRecordsCallback(separate))
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// EwalletWithdrawD1 账户D1提现回调
|
||
func (c *LaKaLaCallbackController) EwalletWithdrawD1() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----EwalletWithdrawD1 := %s", string(body))
|
||
separate := &lakala.EwalletWithdrawD1CallBack{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.EwalletWithdrawD1Callback(separate))
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// OrderStatus 收银台订单通知
|
||
func (c *LaKaLaCallbackController) OrderStatus() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----OrderStatus := %s", string(body))
|
||
separate := &lakala.QueryOrderCallBackResp{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.OrderStatusCallback(separate))
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// PayStatus 主扫支付状态回调
|
||
//(1)交易通知接口是交易成功完成后会向 notify_url这个地址(主扫交易或者被扫交易请求中的notify_url字段)发起交易结果通知。拉卡拉系统通知时,如果商户的应答没有按照以下“响应参考报文”示例返回成功状态时,则系统认为通知失败,系统会通过一定的策略定期重新发起通知。
|
||
//(2)同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。
|
||
//(3)在没有收到拉卡拉支付交易通知的情况下,建议商户主动调用【06查询交易】确认交易状态。
|
||
//(4)被扫交易如果交易接口实时返回成功结果,则不再通过该接口发出交易通知;只有没有实时返回成功结果时,才会通过该接口发出交易通知。
|
||
func (c *LaKaLaCallbackController) PayStatus() {
|
||
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
|
||
if err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
globals.SugarLogger.Debugf("-----PayStatus := %s", string(body))
|
||
separate := &lakala.PayStatusCallBack{}
|
||
if err = json.Unmarshal(body, separate); err != nil {
|
||
c.Data["json"] = lakala.CallBackResultInfo(err)
|
||
c.ServeJSON()
|
||
return
|
||
}
|
||
|
||
// todo
|
||
c.Data["json"] = lakala.CallBackResultInfo(localjx.OnLaKaLaPayCallback(separate))
|
||
c.ServeJSON()
|
||
return
|
||
|
||
}
|