This commit is contained in:
@@ -253,12 +253,6 @@ func (h *PackageActivationHandler) processExpiredPackage(ctx context.Context, pk
|
|||||||
zap.Error(err))
|
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
|
return nil
|
||||||
@@ -301,84 +295,6 @@ func (h *PackageActivationHandler) invalidateAddons(ctx context.Context, tx *gor
|
|||||||
return nil
|
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 获取载体信息
|
// getCarrierInfo 获取载体信息
|
||||||
func (h *PackageActivationHandler) getCarrierInfo(pkg *model.PackageUsage) (string, uint) {
|
func (h *PackageActivationHandler) getCarrierInfo(pkg *model.PackageUsage) (string, uint) {
|
||||||
if pkg.IotCardID > 0 {
|
if pkg.IotCardID > 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user