diff --git a/internal/task/polling_handler.go b/internal/task/polling_handler.go index beaa751..4c59b50 100644 --- a/internal/task/polling_handler.go +++ b/internal/task/polling_handler.go @@ -365,7 +365,7 @@ func (h *PollingHandler) stopCardByUsageExhausted(ctx context.Context, card *mod updates := map[string]any{ "network_status": 0, // 停机 "stopped_at": now, - "stop_reason": "套餐流量耗尽自动停机", + "stop_reason": constants.StopReasonTrafficExhausted, "updated_at": now, } if err := h.db.Model(&model.IotCard{}). @@ -686,12 +686,13 @@ func (h *PollingHandler) stopCards(ctx context.Context, cards []*model.IotCard, zap.String("iccid", card.ICCID), zap.String("reason", "套餐超额")) - // 更新数据库:卡的网络状态 now := time.Now() if err := h.db.Model(&model.IotCard{}). Where("id = ?", card.ID). Updates(map[string]any{ - "network_status": 0, // 停机 + "network_status": 0, + "stopped_at": now, + "stop_reason": constants.StopReasonTrafficExhausted, "updated_at": now, }).Error; err != nil { h.logger.Error("更新卡状态失败", zap.Uint("card_id", card.ID), zap.Error(err)) @@ -1018,7 +1019,7 @@ func (h *PollingHandler) HandleProtectConsistencyCheck(ctx context.Context, t *a h.db.Model(&model.IotCard{}).Where("id = ?", card.ID).Updates(map[string]any{ "network_status": constants.NetworkStatusOffline, "stopped_at": time.Now(), - "stop_reason": "保护期一致性检查自动停机", + "stop_reason": constants.StopReasonProtectPeriod, }) h.updateCardCache(ctx, card.ID, map[string]any{"network_status": constants.NetworkStatusOffline}) return nil