All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 7m32s
- 新增 RechargeOrder 和 Payment 模型及对应 Store - 新增 ClientRechargeOrderHandler 提供充值订单列表/详情接口 - 修改 client_wallet.go 使用新表读写充值数据 - 修改 callback/payment.go 将 CRCH 订单路由到 rechargeOrderService - 修改 client_order/service.go 的强充流程使用新表 - 修改 auto_purchase.go 从 tb_recharge_order 读取 linked_package_ids - 修改 order/service.go 的 WalletPay 使用 tb_payment 记录 - 修改 wechat_config_store.go 从 tb_recharge_order 统计待支付充值数 - 移除 AssetRechargeStore 和 AssetRechargeRecord 的注册引用 - 修复文档生成器缺失 ClientRechargeOrder handler - 状态枚举改为 0-based: Pending=0, Paid=1, Closed=2, Refunded=3
129 lines
3.9 KiB
Go
129 lines
3.9 KiB
Go
package bootstrap
|
|
|
|
import (
|
|
"github.com/break/junhong_cmp_fiber/internal/service/commission_calculation"
|
|
"github.com/break/junhong_cmp_fiber/internal/service/commission_stats"
|
|
iotCardSvc "github.com/break/junhong_cmp_fiber/internal/service/iot_card"
|
|
orderSvc "github.com/break/junhong_cmp_fiber/internal/service/order"
|
|
packagepkg "github.com/break/junhong_cmp_fiber/internal/service/package"
|
|
pollingSvc "github.com/break/junhong_cmp_fiber/internal/service/polling"
|
|
"github.com/break/junhong_cmp_fiber/pkg/queue"
|
|
)
|
|
|
|
type workerServices struct {
|
|
CommissionCalculation *commission_calculation.Service
|
|
CommissionStats *commission_stats.Service
|
|
UsageService *packagepkg.UsageService
|
|
ActivationService *packagepkg.ActivationService
|
|
ResetService *packagepkg.ResetService
|
|
AlertService *pollingSvc.AlertService
|
|
CleanupService *pollingSvc.CleanupService
|
|
}
|
|
|
|
func initWorkerServices(stores *queue.WorkerStores, deps *WorkerDependencies) *queue.WorkerServices {
|
|
commissionStatsService := commission_stats.New(stores.ShopSeriesCommissionStats)
|
|
|
|
commissionCalculationService := commission_calculation.New(
|
|
deps.DB,
|
|
stores.CommissionRecord,
|
|
stores.Shop,
|
|
stores.ShopPackageAllocation,
|
|
stores.ShopSeriesAllocation,
|
|
stores.PackageSeries,
|
|
stores.IotCard,
|
|
stores.Device,
|
|
stores.AgentWallet,
|
|
stores.AgentWalletTransaction,
|
|
stores.Order,
|
|
stores.OrderItem,
|
|
stores.Package,
|
|
stores.ShopSeriesCommissionStats,
|
|
commissionStatsService,
|
|
deps.Logger,
|
|
)
|
|
|
|
usageService := packagepkg.NewUsageService(
|
|
deps.DB,
|
|
deps.Redis,
|
|
stores.PackageUsage,
|
|
stores.PackageUsageDailyRecord,
|
|
stores.DeviceSimBinding,
|
|
deps.Logger,
|
|
)
|
|
|
|
activationService := packagepkg.NewActivationService(
|
|
deps.DB,
|
|
deps.Redis,
|
|
stores.PackageUsage,
|
|
stores.Package,
|
|
stores.PackageUsageDailyRecord,
|
|
deps.Logger,
|
|
)
|
|
|
|
resetService := packagepkg.NewResetService(
|
|
deps.DB,
|
|
deps.Redis,
|
|
stores.PackageUsage,
|
|
deps.Logger,
|
|
)
|
|
|
|
alertService := pollingSvc.NewAlertService(
|
|
stores.PollingAlertRule,
|
|
stores.PollingAlertHistory,
|
|
deps.Redis,
|
|
deps.Logger,
|
|
)
|
|
|
|
cleanupService := pollingSvc.NewCleanupService(
|
|
stores.DataCleanupConfig,
|
|
stores.DataCleanupLog,
|
|
deps.Logger,
|
|
)
|
|
|
|
// 初始化订单服务(仅用于超时自动取消,不需要微信支付和队列客户端)
|
|
orderService := orderSvc.New(
|
|
deps.DB,
|
|
deps.Redis,
|
|
stores.Order,
|
|
stores.OrderItem,
|
|
stores.AgentWallet,
|
|
stores.AssetWallet,
|
|
nil, // paymentStore: 超时取消不需要
|
|
nil, // purchaseValidationService: 超时取消不需要
|
|
stores.ShopPackageAllocation,
|
|
stores.ShopSeriesAllocation,
|
|
stores.IotCard,
|
|
stores.Device,
|
|
stores.PackageSeries,
|
|
stores.PackageUsage,
|
|
stores.Package,
|
|
nil, // wechatConfigService: 超时取消不需要
|
|
nil, // wechatPayment: 超时取消不需要
|
|
nil, // paymentLoader: 超时取消不需要
|
|
nil, // queueClient: 超时取消不触发分佣
|
|
deps.Logger,
|
|
stores.AssetIdentifier,
|
|
stores.PersonalCustomer,
|
|
stores.PersonalCustomerPhone,
|
|
)
|
|
|
|
// 创建停复机服务并注入回调:流量耗尽自动停机、套餐激活/重置/支付后自动复机
|
|
stopResumeService := iotCardSvc.NewStopResumeService(deps.Redis, stores.IotCard, stores.PackageUsage, stores.DeviceSimBinding, deps.GatewayClient, deps.Logger)
|
|
usageService.SetStopResumeCallback(stopResumeService)
|
|
activationService.SetResumeCallback(stopResumeService)
|
|
orderService.SetResumeCallback(stopResumeService)
|
|
resetService.SetResumeCallback(stopResumeService)
|
|
|
|
return &queue.WorkerServices{
|
|
CommissionCalculation: commissionCalculationService,
|
|
CommissionStats: commissionStatsService,
|
|
UsageService: usageService,
|
|
ActivationService: activationService,
|
|
ResetService: resetService,
|
|
AlertService: alertService,
|
|
CleanupService: cleanupService,
|
|
StopResumeService: stopResumeService,
|
|
OrderExpirer: orderService,
|
|
}
|
|
}
|