refactor: 注册 AssetWallet 组件到 Bootstrap

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
2026-03-16 15:43:49 +08:00
parent 9b83f92fb6
commit fe77d9ca72
6 changed files with 19 additions and 14 deletions

View File

@@ -56,5 +56,6 @@ func initHandlers(svc *services, deps *Dependencies) *Handlers {
PollingCleanup: admin.NewPollingCleanupHandler(svc.PollingCleanup), PollingCleanup: admin.NewPollingCleanupHandler(svc.PollingCleanup),
PollingManualTrigger: admin.NewPollingManualTriggerHandler(svc.PollingManualTrigger), PollingManualTrigger: admin.NewPollingManualTriggerHandler(svc.PollingManualTrigger),
Asset: admin.NewAssetHandler(svc.Asset, svc.Device, svc.StopResumeService), Asset: admin.NewAssetHandler(svc.Asset, svc.Device, svc.StopResumeService),
AssetWallet: admin.NewAssetWalletHandler(svc.AssetWallet),
} }
} }

View File

@@ -13,6 +13,7 @@ import (
commissionWithdrawalSettingSvc "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal_setting" commissionWithdrawalSettingSvc "github.com/break/junhong_cmp_fiber/internal/service/commission_withdrawal_setting"
assetSvc "github.com/break/junhong_cmp_fiber/internal/service/asset" assetSvc "github.com/break/junhong_cmp_fiber/internal/service/asset"
assetWalletSvc "github.com/break/junhong_cmp_fiber/internal/service/asset_wallet"
deviceSvc "github.com/break/junhong_cmp_fiber/internal/service/device" deviceSvc "github.com/break/junhong_cmp_fiber/internal/service/device"
deviceImportSvc "github.com/break/junhong_cmp_fiber/internal/service/device_import" deviceImportSvc "github.com/break/junhong_cmp_fiber/internal/service/device_import"
enterpriseSvc "github.com/break/junhong_cmp_fiber/internal/service/enterprise" enterpriseSvc "github.com/break/junhong_cmp_fiber/internal/service/enterprise"
@@ -79,6 +80,7 @@ type services struct {
PollingCleanup *pollingSvc.CleanupService PollingCleanup *pollingSvc.CleanupService
PollingManualTrigger *pollingSvc.ManualTriggerService PollingManualTrigger *pollingSvc.ManualTriggerService
Asset *assetSvc.Service Asset *assetSvc.Service
AssetWallet *assetWalletSvc.Service
StopResumeService *iotCardSvc.StopResumeService StopResumeService *iotCardSvc.StopResumeService
} }
@@ -140,8 +142,8 @@ func initServices(s *stores, deps *Dependencies) *services {
ShopSeriesGrant: shopSeriesGrantSvc.New(deps.DB, s.ShopSeriesAllocation, s.ShopPackageAllocation, s.ShopPackageAllocationPriceHistory, s.Shop, s.Package, s.PackageSeries, deps.Logger), ShopSeriesGrant: shopSeriesGrantSvc.New(deps.DB, s.ShopSeriesAllocation, s.ShopPackageAllocation, s.ShopPackageAllocationPriceHistory, s.Shop, s.Package, s.PackageSeries, deps.Logger),
CommissionStats: commissionStatsSvc.New(s.ShopSeriesCommissionStats), CommissionStats: commissionStatsSvc.New(s.ShopSeriesCommissionStats),
PurchaseValidation: purchaseValidation, PurchaseValidation: purchaseValidation,
Order: orderSvc.New(deps.DB, deps.Redis, s.Order, s.OrderItem, s.AgentWallet, s.CardWallet, purchaseValidation, s.ShopPackageAllocation, s.ShopSeriesAllocation, s.IotCard, s.Device, s.PackageSeries, s.PackageUsage, s.Package, deps.WechatPayment, deps.QueueClient, deps.Logger), Order: orderSvc.New(deps.DB, deps.Redis, s.Order, s.OrderItem, s.AgentWallet, s.AssetWallet, purchaseValidation, s.ShopPackageAllocation, s.ShopSeriesAllocation, s.IotCard, s.Device, s.PackageSeries, s.PackageUsage, s.Package, deps.WechatPayment, deps.QueueClient, deps.Logger),
Recharge: rechargeSvc.New(deps.DB, s.CardRecharge, s.CardWallet, s.CardWalletTransaction, s.IotCard, s.Device, s.ShopSeriesAllocation, s.PackageSeries, s.CommissionRecord, deps.Logger), Recharge: rechargeSvc.New(deps.DB, s.AssetRecharge, s.AssetWallet, s.AssetWalletTransaction, s.IotCard, s.Device, s.ShopSeriesAllocation, s.PackageSeries, s.CommissionRecord, deps.Logger),
PollingConfig: pollingSvc.NewConfigService(s.PollingConfig), PollingConfig: pollingSvc.NewConfigService(s.PollingConfig),
PollingConcurrency: pollingSvc.NewConcurrencyService(s.PollingConcurrencyConfig, deps.Redis), PollingConcurrency: pollingSvc.NewConcurrencyService(s.PollingConcurrencyConfig, deps.Redis),
PollingMonitoring: pollingSvc.NewMonitoringService(deps.Redis), PollingMonitoring: pollingSvc.NewMonitoringService(deps.Redis),
@@ -149,6 +151,7 @@ func initServices(s *stores, deps *Dependencies) *services {
PollingCleanup: pollingSvc.NewCleanupService(s.DataCleanupConfig, s.DataCleanupLog, deps.Logger), PollingCleanup: pollingSvc.NewCleanupService(s.DataCleanupConfig, s.DataCleanupLog, deps.Logger),
PollingManualTrigger: pollingSvc.NewManualTriggerService(s.PollingManualTriggerLog, s.IotCard, deps.Redis, deps.Logger), PollingManualTrigger: pollingSvc.NewManualTriggerService(s.PollingManualTriggerLog, s.IotCard, deps.Redis, deps.Logger),
Asset: assetSvc.New(deps.DB, s.Device, s.IotCard, s.PackageUsage, s.Package, s.PackageSeries, s.DeviceSimBinding, s.Shop, deps.Redis, iotCard), Asset: assetSvc.New(deps.DB, s.Device, s.IotCard, s.PackageUsage, s.Package, s.PackageSeries, s.DeviceSimBinding, s.Shop, deps.Redis, iotCard),
AssetWallet: assetWalletSvc.New(s.AssetWallet, s.AssetWalletTransaction),
StopResumeService: iotCardSvc.NewStopResumeService(deps.DB, deps.Redis, s.IotCard, s.DeviceSimBinding, deps.GatewayClient, deps.Logger), StopResumeService: iotCardSvc.NewStopResumeService(deps.DB, deps.Redis, s.IotCard, s.DeviceSimBinding, deps.GatewayClient, deps.Logger),
} }
} }

View File

@@ -49,10 +49,10 @@ type stores struct {
AgentWallet *postgres.AgentWalletStore AgentWallet *postgres.AgentWalletStore
AgentWalletTransaction *postgres.AgentWalletTransactionStore AgentWalletTransaction *postgres.AgentWalletTransactionStore
AgentRecharge *postgres.AgentRechargeStore AgentRecharge *postgres.AgentRechargeStore
// 钱包系统 // 资产钱包系统
CardWallet *postgres.CardWalletStore AssetWallet *postgres.AssetWalletStore
CardWalletTransaction *postgres.CardWalletTransactionStore AssetWalletTransaction *postgres.AssetWalletTransactionStore
CardRecharge *postgres.CardRechargeStore AssetRecharge *postgres.AssetRechargeStore
} }
func initStores(deps *Dependencies) *stores { func initStores(deps *Dependencies) *stores {
@@ -101,9 +101,9 @@ func initStores(deps *Dependencies) *stores {
AgentWallet: postgres.NewAgentWalletStore(deps.DB, deps.Redis), AgentWallet: postgres.NewAgentWalletStore(deps.DB, deps.Redis),
AgentWalletTransaction: postgres.NewAgentWalletTransactionStore(deps.DB, deps.Redis), AgentWalletTransaction: postgres.NewAgentWalletTransactionStore(deps.DB, deps.Redis),
AgentRecharge: postgres.NewAgentRechargeStore(deps.DB, deps.Redis), AgentRecharge: postgres.NewAgentRechargeStore(deps.DB, deps.Redis),
// 钱包系统 // 资产钱包系统
CardWallet: postgres.NewCardWalletStore(deps.DB, deps.Redis), AssetWallet: postgres.NewAssetWalletStore(deps.DB, deps.Redis),
CardWalletTransaction: postgres.NewCardWalletTransactionStore(deps.DB, deps.Redis), AssetWalletTransaction: postgres.NewAssetWalletTransactionStore(deps.DB, deps.Redis),
CardRecharge: postgres.NewCardRechargeStore(deps.DB, deps.Redis), AssetRecharge: postgres.NewAssetRechargeStore(deps.DB, deps.Redis),
} }
} }

View File

@@ -54,6 +54,7 @@ type Handlers struct {
PollingCleanup *admin.PollingCleanupHandler PollingCleanup *admin.PollingCleanupHandler
PollingManualTrigger *admin.PollingManualTriggerHandler PollingManualTrigger *admin.PollingManualTriggerHandler
Asset *admin.AssetHandler Asset *admin.AssetHandler
AssetWallet *admin.AssetWalletHandler
} }
// Middlewares 封装所有中间件 // Middlewares 封装所有中间件

View File

@@ -85,7 +85,7 @@ func initWorkerServices(stores *queue.WorkerStores, deps *WorkerDependencies) *q
stores.Order, stores.Order,
stores.OrderItem, stores.OrderItem,
stores.AgentWallet, stores.AgentWallet,
stores.CardWallet, stores.AssetWallet,
nil, // purchaseValidationService: 超时取消不需要 nil, // purchaseValidationService: 超时取消不需要
stores.ShopPackageAllocation, stores.ShopPackageAllocation,
stores.ShopSeriesAllocation, stores.ShopSeriesAllocation,

View File

@@ -28,7 +28,7 @@ type workerStores struct {
DataCleanupLog *postgres.DataCleanupLogStore DataCleanupLog *postgres.DataCleanupLogStore
AgentWallet *postgres.AgentWalletStore AgentWallet *postgres.AgentWalletStore
AgentWalletTransaction *postgres.AgentWalletTransactionStore AgentWalletTransaction *postgres.AgentWalletTransactionStore
CardWallet *postgres.CardWalletStore AssetWallet *postgres.AssetWalletStore
} }
func initWorkerStores(deps *WorkerDependencies) *queue.WorkerStores { func initWorkerStores(deps *WorkerDependencies) *queue.WorkerStores {
@@ -55,7 +55,7 @@ func initWorkerStores(deps *WorkerDependencies) *queue.WorkerStores {
DataCleanupLog: postgres.NewDataCleanupLogStore(deps.DB), DataCleanupLog: postgres.NewDataCleanupLogStore(deps.DB),
AgentWallet: postgres.NewAgentWalletStore(deps.DB, deps.Redis), AgentWallet: postgres.NewAgentWalletStore(deps.DB, deps.Redis),
AgentWalletTransaction: postgres.NewAgentWalletTransactionStore(deps.DB, deps.Redis), AgentWalletTransaction: postgres.NewAgentWalletTransactionStore(deps.DB, deps.Redis),
CardWallet: postgres.NewCardWalletStore(deps.DB, deps.Redis), AssetWallet: postgres.NewAssetWalletStore(deps.DB, deps.Redis),
} }
return &queue.WorkerStores{ return &queue.WorkerStores{
@@ -81,6 +81,6 @@ func initWorkerStores(deps *WorkerDependencies) *queue.WorkerStores {
DataCleanupLog: stores.DataCleanupLog, DataCleanupLog: stores.DataCleanupLog,
AgentWallet: stores.AgentWallet, AgentWallet: stores.AgentWallet,
AgentWalletTransaction: stores.AgentWalletTransaction, AgentWalletTransaction: stores.AgentWalletTransaction,
CardWallet: stores.CardWallet, AssetWallet: stores.AssetWallet,
} }
} }