迁移 Flutter 端与训练脚本,模型/训练产物移出 git(遵循纯代码约定)
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"observer-server/biz/model/dto"
|
||||
"observer-server/biz/service"
|
||||
)
|
||||
|
||||
// cAdmin 后台管理端接口:薄透传;service 按表归入各表文件
|
||||
// (订单→service.Order、授权→service.License)。
|
||||
// 独立 controller 聚合,避免同一 controller 挂客户端组 + 管理组时路由重复注册。
|
||||
type cAdmin struct{}
|
||||
|
||||
var Admin = &cAdmin{}
|
||||
|
||||
// ListOrders 订单列表
|
||||
func (c *cAdmin) ListOrders(ctx context.Context, req *dto.AdminOrderListReq) (*dto.AdminOrderListRes, error) {
|
||||
return service.Order.AdminListOrders(ctx, req)
|
||||
}
|
||||
|
||||
// ListLicenses 授权列表
|
||||
func (c *cAdmin) ListLicenses(ctx context.Context, req *dto.AdminLicenseListReq) (*dto.AdminLicenseListRes, error) {
|
||||
return service.License.AdminListLicenses(ctx, req)
|
||||
}
|
||||
|
||||
// Grant 手动授权
|
||||
func (c *cAdmin) Grant(ctx context.Context, req *dto.AdminGrantReq) (*dto.AdminGrantRes, error) {
|
||||
return service.License.AdminGrant(ctx, req)
|
||||
}
|
||||
|
||||
// Revoke 撤销授权
|
||||
func (c *cAdmin) Revoke(ctx context.Context, req *dto.AdminRevokeReq) (*dto.AdminRevokeRes, error) {
|
||||
return service.License.AdminRevoke(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"observer-server/biz/model/dto"
|
||||
"observer-server/biz/service"
|
||||
)
|
||||
|
||||
// cAuth 账号接口:注册/登录(公开,无需登录态)
|
||||
type cAuth struct{}
|
||||
|
||||
var Auth = &cAuth{}
|
||||
|
||||
// Register 手机号注册
|
||||
func (c *cAuth) Register(ctx context.Context, req *dto.RegisterReq) (*dto.RegisterRes, error) {
|
||||
return service.Auth.Register(ctx, req)
|
||||
}
|
||||
|
||||
// Login 手机号登录,返回 token
|
||||
func (c *cAuth) Login(ctx context.Context, req *dto.LoginReq) (*dto.LoginRes, error) {
|
||||
return service.Auth.Login(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"observer-server/biz/model/dto"
|
||||
"observer-server/biz/service"
|
||||
)
|
||||
|
||||
// cLicense 授权接口
|
||||
type cLicense struct{}
|
||||
|
||||
var License = &cLicense{}
|
||||
|
||||
// Get 查询授权状态
|
||||
func (c *cLicense) Get(ctx context.Context, req *dto.LicenseReq) (*dto.LicenseRes, error) {
|
||||
return service.License.Get(ctx, req)
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"observer-server/biz/model/dto"
|
||||
"observer-server/biz/service"
|
||||
)
|
||||
|
||||
// cOrder 订单接口:薄透传,组装在 service
|
||||
type cOrder struct{}
|
||||
|
||||
var Order = &cOrder{}
|
||||
|
||||
// ListPlans 套餐列表(config.yml plans)
|
||||
func (c *cOrder) ListPlans(ctx context.Context, req *dto.ListPlansReq) (*dto.ListPlansRes, error) {
|
||||
return service.Order.ListPlans(ctx, req)
|
||||
}
|
||||
|
||||
// Create 创建支付订单
|
||||
func (c *cOrder) Create(ctx context.Context, req *dto.CreateOrderReq) (*dto.CreateOrderRes, error) {
|
||||
return service.Order.Create(ctx, req)
|
||||
}
|
||||
|
||||
// Confirm 确认支付结果
|
||||
func (c *cOrder) Confirm(ctx context.Context, req *dto.ConfirmOrderReq) (*dto.ConfirmOrderRes, error) {
|
||||
return service.Order.Confirm(ctx, req)
|
||||
}
|
||||
@@ -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