diff --git a/ProductionMgr/Tnb.ProductionMgr.Interfaces/IRedisDataService.cs b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IRedisDataService.cs
new file mode 100644
index 00000000..c32ab2af
--- /dev/null
+++ b/ProductionMgr/Tnb.ProductionMgr.Interfaces/IRedisDataService.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Tnb.ProductionMgr.Interfaces
+{
+ public interface IRedisDataService
+ {
+ ///
+ /// 根据机号获取重量
+ ///
+ Task GetWeight(string key, string field);
+
+
+ }
+}
diff --git a/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs b/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
new file mode 100644
index 00000000..58ecd15b
--- /dev/null
+++ b/ProductionMgr/Tnb.ProductionMgr/RedisDataService.cs
@@ -0,0 +1,47 @@
+using System.Collections;
+using JNPF.Common.Cache;
+using JNPF.Common.Manager;
+using JNPF.DependencyInjection;
+using JNPF.DynamicApiController;
+using JNPF.FriendlyException;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Tnb.ProductionMgr.Interfaces;
+
+namespace Tnb.ProductionMgr
+{
+ ///
+ /// 数据采集
+ ///
+ [ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 700)]
+ [Route("api/[area]/[controller]/[action]")]
+ public class RedisDataService: IRedisDataService, IDynamicApiController, ITransient
+ {
+ private readonly RedisCache _redisCache;
+ public RedisDataService(RedisCache redisCache)
+ {
+ _redisCache = redisCache;
+ }
+ ///
+ /// 根据机号获取重量
+ ///
+ [HttpPost]
+ public async Task GetWeight(string device, string jihao)
+ {
+ decimal result = 0;
+ if (!_redisCache.HashExist(device, jihao))
+ throw Oops.Bah("没有找到" + device + "----" + jihao + "的数据");
+ var data = _redisCache.GetHash(device, jihao);
+
+ var res = JsonConvert.DeserializeObject(data);
+ if (res != null && res["Value"] != null)
+ {
+ result=decimal.Parse( res["Value"]!.ToString());
+ }
+
+ return data;
+ }
+
+ }
+}
diff --git a/common/Tnb.Common/Cache/RedisCache.cs b/common/Tnb.Common/Cache/RedisCache.cs
index 5cebbd3d..a58db000 100644
--- a/common/Tnb.Common/Cache/RedisCache.cs
+++ b/common/Tnb.Common/Cache/RedisCache.cs
@@ -224,4 +224,12 @@ public class RedisCache : ICache, ISingleton
long second = RedisHelper.PTtl(key);
return DateTime.Now.AddMilliseconds(second);
}
+ public string GetHash(string key, string field)
+ {
+ return RedisHelper.HGet(key, field);
+ }
+ public bool HashExist(string key, string field)
+ {
+ return RedisHelper.HExists(key, field);
+ }
}
\ No newline at end of file