using Microsoft.Extensions.Logging; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace HealthMonitor.Service.Cache { public class DeviceCacheManager { private readonly ILogger _logger; private const string CACHE_KEY_GPSDEVICE_WATCH_CONFIG = "#GPSDEVICE_WATCH_CONFIG_HASH"; public DeviceCacheManager(ILogger logger) { _logger = logger; } /// /// /// /// /// /// 业务码 /// 0067 胎心启动配置 /// /// public async Task GetGpsDeviceWatchConfigCacheObjectBySerialNoAsync(string sn, string bizCode) { if (string.IsNullOrWhiteSpace(sn)) return null; try { var config = await RedisHelperDb7.HGetAsync(CACHE_KEY_GPSDEVICE_WATCH_CONFIG, $"{sn}_{bizCode}").ConfigureAwait(false); if (config == null) return null; return (JObject)JsonConvert.DeserializeObject(config)!; } catch (Exception ex) { _logger.LogWarning($"Redis DB7发生异常:{ex.Message}, {ex.StackTrace}"); } return null; } } }