merge: 合入本地 Ops 扩展与 origin/main(ECR-009–016)
保留远程用户侧 ECR-009–016 与本地 Ops 目录/RBAC/CMS/危机等能力;文档标注分叉期间 ECR 编号冲突。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,6 +4,7 @@ package membership
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
@@ -34,7 +35,17 @@ func (s *Service) CreateOrder(ctx context.Context, userID uuid.UUID, in CreateOr
|
||||
amount := 990
|
||||
plan := in.Plan
|
||||
if in.Kind == "membership" {
|
||||
amount = 2500
|
||||
if plan == "" {
|
||||
plan = "month"
|
||||
}
|
||||
a, err := s.Reports.MembershipPlanAmountCents(ctx, plan)
|
||||
if err != nil {
|
||||
return uuid.Nil, err
|
||||
}
|
||||
if a <= 0 {
|
||||
return uuid.Nil, errors.New("invalid membership plan")
|
||||
}
|
||||
amount = a
|
||||
}
|
||||
if in.Kind == "ask_pack" {
|
||||
if plan == "" {
|
||||
@@ -48,6 +59,15 @@ func (s *Service) CreateOrder(ctx context.Context, userID uuid.UUID, in CreateOr
|
||||
return s.Reports.CreateOrder(ctx, userID, in.Kind, plan, in.ReportID, amount)
|
||||
}
|
||||
|
||||
// Redeem applies a redemption code for the current registered user.
|
||||
func (s *Service) Redeem(ctx context.Context, userID uuid.UUID, code string) (string, error) {
|
||||
code = strings.TrimSpace(code)
|
||||
if code == "" {
|
||||
return "", errors.New("code required")
|
||||
}
|
||||
return s.Reports.RedeemCode(ctx, userID, code)
|
||||
}
|
||||
|
||||
// PayMock completes mock payment.
|
||||
func (s *Service) PayMock(ctx context.Context, userID, orderID uuid.UUID) error {
|
||||
return s.Reports.PayMock(ctx, userID, orderID)
|
||||
|
||||
Reference in New Issue
Block a user