迁移 Flutter 端与训练脚本,模型/训练产物移出 git(遵循纯代码约定)
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
|
||||
"observer-server/biz/model/dto"
|
||||
"observer-server/biz/service"
|
||||
"observer-server/common"
|
||||
)
|
||||
|
||||
// cPayment 支付回调接口:按渠道应答格式直接返回,不做统一响应包装
|
||||
type cPayment struct{}
|
||||
|
||||
var Payment = &cPayment{}
|
||||
|
||||
// WechatNotify 微信支付回调:验签+落授权在回调池执行,结果决定 SUCCESS/FAIL 应答;
|
||||
// 应答由本 controller 直接写 JSON(微信要求的格式),返回 nil res
|
||||
func (c *cPayment) WechatNotify(ctx context.Context, req *dto.WechatNotifyReq) (*dto.WechatNotifyRes, error) {
|
||||
r := g.RequestFromCtx(ctx)
|
||||
res := &dto.WechatNotifyRes{Code: "SUCCESS"}
|
||||
err := common.CallbackPoolInstance().Submit(ctx, func(ctx context.Context) error {
|
||||
return service.Payment.WechatNotify(ctx, r.Request.Header, r.GetBody())
|
||||
})
|
||||
if err != nil {
|
||||
g.Log().Warningf(ctx, "微信回调处理失败: %+v", err)
|
||||
res.Code = "FAIL"
|
||||
res.Message = err.Error()
|
||||
}
|
||||
r.Response.WriteJson(res)
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// AlipayNotify 支付宝回调:直接写 "success"/"failure" 文本(支付宝约定的应答格式),
|
||||
// 返回 nil res(框架对 nil 不再写响应体)
|
||||
func (c *cPayment) AlipayNotify(ctx context.Context, req *dto.AlipayNotifyReq) (*dto.AlipayNotifyRes, error) {
|
||||
r := g.RequestFromCtx(ctx)
|
||||
if err := r.Request.ParseForm(); err != nil {
|
||||
g.Log().Warningf(ctx, "支付宝回调表单解析失败: %+v", err)
|
||||
r.Response.Write("failure")
|
||||
return nil, nil
|
||||
}
|
||||
values := r.Request.PostForm
|
||||
err := common.CallbackPoolInstance().Submit(ctx, func(ctx context.Context) error {
|
||||
return service.Payment.AlipayNotify(ctx, values)
|
||||
})
|
||||
if err != nil {
|
||||
g.Log().Warningf(ctx, "支付宝回调处理失败: %+v", err)
|
||||
r.Response.Write("failure")
|
||||
return nil, nil
|
||||
}
|
||||
r.Response.Write("success")
|
||||
return nil, nil
|
||||
}
|
||||
Reference in New Issue
Block a user