Files
jx-callback/controllers/lakala_callback.go
邹宗楠 6ab49beafe 1
2025-08-29 15:20:05 +08:00

198 lines
5.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
}
//
//// ApplyContractByPeople 合同申请人工审核回调
//func (c *LaKaLaCallbackController) ApplyContractByPeople() {
// body, err := ioutil.ReadAll(c.Ctx.Request.Body)
// if err != nil {
// c.Data["json"] = lakala.CallBackResultInfo(err)
// c.ServeJSON()
// return
// }
// globals.SugarLogger.Debugf("-----applyContractByPeople := %s", string(body))
// apply := &lakala.ApplyContractByPeopleCallBack{}
// if err = json.Unmarshal(body, apply); err != nil {
// c.Data["json"] = lakala.CallBackResultInfo(err)
// c.ServeJSON()
// return
// }
//
// c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.ApplyContractByPeople(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
}