支付功能动态化扩展

This commit is contained in:
2026-03-18 13:07:06 +08:00
parent 99853b8514
commit 9d996acf5f
16 changed files with 1402 additions and 195 deletions

View File

@@ -60,21 +60,25 @@ func TradeCreate(c *fiber.Ctx) error {
return err
}
var product s.ProductInfo
switch req.Type {
case m.TradeTypePurchase:
if req.Resource == nil {
return core.NewBizErr("购买信息不能为空")
}
req.Product = req.Resource
product, err = s.NewCreateResourceByTradeData(req.Resource)
if err != nil {
return core.NewServErr("处理购买产品信息失败", err)
}
case m.TradeTypeRecharge:
if req.Recharge == nil {
return core.NewBizErr("充值信息不能为空")
}
req.Product = req.Recharge
product = req.Recharge
}
// 创建交易
result, err := s.Trade.CreateTrade(authCtx.User.ID, time.Now(), &req.CreateTradeData)
result, err := s.Trade.CreateTrade(authCtx.User.ID, time.Now(), &req.CreateTradeData, product)
if err != nil {
slog.Error("创建交易失败", "error", err)
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{"error": "创建交易失败"})