diff --git a/internal/polling/package_activation_handler.go b/internal/polling/package_activation_handler.go index fcc0e92..48a9a1f 100644 --- a/internal/polling/package_activation_handler.go +++ b/internal/polling/package_activation_handler.go @@ -253,12 +253,6 @@ func (h *PackageActivationHandler) processExpiredPackage(ctx context.Context, pk zap.Error(err)) } - if err := h.updateCarrierSuspendedStatus(ctx, tx, carrierType, carrierID); err != nil { - h.logger.Warn("更新载体停用状态失败", - zap.String("carrier_type", carrierType), - zap.Uint("carrier_id", carrierID), - zap.Error(err)) - } } return nil @@ -301,84 +295,6 @@ func (h *PackageActivationHandler) invalidateAddons(ctx context.Context, tx *gor return nil } -func (h *PackageActivationHandler) updateCarrierSuspendedStatus(ctx context.Context, tx *gorm.DB, carrierType string, carrierID uint) error { - if carrierType == constants.AssetTypeIotCard { - return h.updateIotCardSuspendedStatus(ctx, tx, carrierID) - } - if carrierType == constants.AssetTypeDevice { - return h.updateDeviceSuspendedStatus(ctx, tx, carrierID) - } - return nil -} - -func (h *PackageActivationHandler) updateIotCardSuspendedStatus(ctx context.Context, tx *gorm.DB, cardID uint) error { - var activeCount int64 - if err := tx.WithContext(ctx). - Model(&model.PackageUsage{}). - Where("iot_card_id = ?", cardID). - Where("status = ?", constants.PackageUsageStatusActive). - Count(&activeCount).Error; err != nil { - return err - } - - if activeCount > 0 { - return nil - } - - return tx.WithContext(ctx). - Model(&model.IotCard{}). - Where("id = ?", cardID). - Update("status", constants.IotCardStatusSuspended).Error -} - -func (h *PackageActivationHandler) updateDeviceSuspendedStatus(ctx context.Context, tx *gorm.DB, deviceID uint) error { - var activeCount int64 - if err := tx.WithContext(ctx). - Model(&model.PackageUsage{}). - Where("device_id = ?", deviceID). - Where("status = ?", constants.PackageUsageStatusActive). - Count(&activeCount).Error; err != nil { - return err - } - - if activeCount > 0 { - return nil - } - - var cardIDs []uint - if err := tx.WithContext(ctx). - Model(&model.DeviceSimBinding{}). - Where("device_id = ?", deviceID). - Where("bind_status = ?", constants.BindStatusBound). - Pluck("iot_card_id", &cardIDs).Error; err != nil { - return err - } - - if len(cardIDs) > 0 { - if err := tx.WithContext(ctx). - Model(&model.PackageUsage{}). - Where("iot_card_id IN ?", cardIDs). - Where("status = ?", constants.PackageUsageStatusActive). - Count(&activeCount).Error; err != nil { - return err - } - if activeCount > 0 { - return nil - } - } - - if len(cardIDs) > 0 { - if err := tx.WithContext(ctx). - Model(&model.IotCard{}). - Where("id IN ?", cardIDs). - Update("status", constants.IotCardStatusSuspended).Error; err != nil { - return err - } - } - - return nil -} - // getCarrierInfo 获取载体信息 func (h *PackageActivationHandler) getCarrierInfo(pkg *model.PackageUsage) (string, uint) { if pkg.IotCardID > 0 {