This commit is contained in:
邹宗楠
2025-06-24 13:50:48 +08:00
parent 7fd163485c
commit b2d23c1587
15 changed files with 3268 additions and 72 deletions

View File

@@ -2,7 +2,9 @@ package controllers
import (
"encoding/json"
"git.rosy.net.cn/baseapi/platformapi/tao_vegetable"
"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"
"github.com/astaxie/beego/server/web"
"io/ioutil"
)
@@ -11,68 +13,135 @@ type LaKaLaCallbackController struct {
web.Controller
}
// SeparateMsg 商户开通/修改分账业务回调(分账接收方没得回调)
// SeparateMsg 商户开通/修改分账业务回调
func (c *LaKaLaCallbackController) SeparateMsg() {
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
if err != nil {
c.Data["json"] = tao_vegetable.CallBackResultInfo(err)
c.Data["json"] = lakala.CallBackResultInfo(err)
c.ServeJSON()
return
}
separate := &SeparateCallback{}
separate := &lakala.SeparateCallback{}
if err = json.Unmarshal(body, &separate); err != nil {
c.Data["json"] = tao_vegetable.CallBackResultInfo(err)
c.Data["json"] = lakala.CallBackResultInfo(err)
c.ServeJSON()
return
}
// todo
c.Data["json"] = lakala.CallBackResultInfo(lakalaServer.CreateSeparateShop(separate))
c.ServeJSON()
return
}
// SeparateCallback 商户分账创建/修改回调
type SeparateCallback struct {
ApplyId int64 `json:"applyId"`
MerCupNo string `json:"merCupNo"`
RetUrl string `json:"retUrl"`
EntrustFileName string `json:"entrustFileName"`
AuditStatus string `json:"auditStatus"`
MerInnerNo string `json:"merInnerNo"`
Remark string `json:"remark"`
AuditStatusText string `json:"auditStatusText"`
UploadAttachType string `json:"uploadAttachType"`
EntrustFilePath string `json:"entrustFilePath"`
}
// SeparateBind 分账关系绑定回调
// SeparateBind 分账关系绑定回调,解绑回调
func (c *LaKaLaCallbackController) SeparateBind() {
body, err := ioutil.ReadAll(c.Ctx.Request.Body)
if err != nil {
c.Data["json"] = tao_vegetable.CallBackResultInfo(err)
c.Data["json"] = lakala.CallBackResultInfo(err)
c.ServeJSON()
return
}
separate := &SeparateBindCallback{}
separate := &lakala.SeparateBindCallback{}
if err = json.Unmarshal(body, &separate); err != nil {
c.Data["json"] = tao_vegetable.CallBackResultInfo(err)
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
}
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
}
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
}
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
}
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
// SeparateBindCallback 分账关系绑定回调
type SeparateBindCallback struct {
OptType string `json:"optType"` // 操作类型
ApplyId int64 `json:"applyId"` // 申请编号
MerCupNo string `json:"merCupNo"` // 商户号
EntrustFileName string `json:"entrustFileName"` // 附件
AuditStatus string `json:"auditStatus"` // 附件路径
MerInnerNo string `json:"merInnerNo"` // 分账商户内部商户号
ReceiverNo string `json:"receiverNo"` // 分账接收方编号
Remark string `json:"remark"` // 备注
AuditStatusText string `json:"auditStatusText"` // 审核状态
EntrustFilePath string `json:"entrustFilePath"` // 附件路径
}