feat(subscription): cache plan lookups and stabilize pre-consume

Introduce hybrid caches for subscription plans, items, and plan info with explicit
invalidation on admin updates. Streamline pre-consume transactions to reduce
redundant queries while preserving idempotency and reset logic.
This commit is contained in:
t0ng7u
2026-01-31 01:11:32 +08:00
parent ffebb35499
commit 41489fc32a
2 changed files with 293 additions and 28 deletions

View File

@@ -192,6 +192,7 @@ func AdminCreateSubscriptionPlan(c *gin.Context) {
common.ApiError(c, err)
return
}
model.InvalidateSubscriptionPlanCache(req.Plan.Id)
common.ApiSuccess(c, req.Plan)
}
@@ -275,6 +276,7 @@ func AdminUpdateSubscriptionPlan(c *gin.Context) {
common.ApiError(c, err)
return
}
model.InvalidateSubscriptionPlanCache(id)
common.ApiSuccess(c, nil)
}
@@ -289,6 +291,7 @@ func AdminDeleteSubscriptionPlan(c *gin.Context) {
common.ApiError(c, err)
return
}
model.InvalidateSubscriptionPlanCache(id)
common.ApiSuccess(c, nil)
}