using JNPF.Common.Cache;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Tnb.Common.Redis;
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 RedisData _redisData;
public RedisDataService(RedisData redisData)
{
_redisData = redisData;
}
///
/// 根据机号获取重量
///
[HttpPost]
public async Task GetWeight(string device, string jihao)
{
bool flag = await _redisData.HashExist(device, jihao);
if (!flag)
{
throw Oops.Bah("没有找到" + device + "----" + jihao + "的数据");
}
string data = await _redisData.GetHash(device, jihao);
JObject? res = JsonConvert.DeserializeObject(data);
decimal result = res != null && res["Value"] != null ? decimal.Parse(res["Value"]!.ToString()) : throw Oops.Bah("数据格式错误");
return result;
}
}
}