Rewrite BillingService onto Account-based entities

RefactorBillingService
Ya
27 Aprili 2026, 22:36 UTC
Mwandishi
Kamo
Ahadi ya
c984b72

The BillingService is now Account-centric. Member-driven flows (e.g. "add a card", "subscribe to a plan") now go through an Account that auto-creates for the member when one doesn't yet exist; the Account holds Stripe customer id, one or more cards, subscriptions, licenses, invoices, and a billing config. Renamed/replaced services: - BillingGroupService -> AccountBillingService - BillingGroupMemberService -> AccountBillingMemberService - BillingGroupSubscriptionService -> AccountSubscriptionService - **************** -> AccountPaymentMethodService - BillingGroupInvoiceService -> AccountInvoiceService - LicenseService (rebalanceGroup -> rebalanceAccount) - StripeCustomerManager (operates on Account) - StripeWebhookService (Account-scoped webhook handlers) - PlatformAdminService (rolls up by Account, not by Group) Renamed/replaced controllers: - BillingGroupController -> AccountBillingController Endpoints now mounted at **************** AccountUid is a Long (CockroachDB int64) carried as path variable; payment method primary marker renamed from "default" to "primary". Renamed/replaced DTOs: - BillingGroupDto -> AccountBillingDto - BillingGroupMemberDto -> AccountBillingMemberDto - BillingGroupLicenseDto -> AccountLicenseDto - BillingGroupSubscriptionDto -> AccountSubscriptionDto - BillingGroupRequests -> AccountBillingRequests - PlatformGroupSummary -> PlatformAccountSummary EntitlementInvalidator: invalidateGroup(UUID) replaced by invalidateAccount(Long); pub/sub payload changed from "GROUP:{uuid}" to "ACCOUNT:{accountUid}". Removed: every BillingGroup* file in this service.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei