81 lines
2.8 KiB
C#
81 lines
2.8 KiB
C#
|
|
using APT.BaseData.Domain.Enums;
|
|||
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using APT.PF.WebApi;
|
|||
|
|
using IdentityModel.Client;
|
|||
|
|
using Microsoft.AspNetCore.Cors;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using Microsoft.IdentityModel.Tokens;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.IdentityModel.Tokens.Jwt;
|
|||
|
|
using System.Security.Claims;
|
|||
|
|
using System.Text;
|
|||
|
|
using System.Threading.Tasks;
|
|||
|
|
using TokenRequest = APT.Utility.TokenRequest;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using APT.BaseData.Domain.Entities;
|
|||
|
|
using System.Linq;
|
|||
|
|
using IdentityModel;
|
|||
|
|
using Microsoft.EntityFrameworkCore.Query;
|
|||
|
|
using APT.BaseData.Domain.ApiModel.Platform;
|
|||
|
|
using APT.BaseData.Domain.ApiModel;
|
|||
|
|
using APT.Infrastructure.Api.Redis;
|
|||
|
|
|
|||
|
|
namespace APT.PF.WebApi.Controllers.Api.FM
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
[Route("api/PF/HardCheck")]
|
|||
|
|
public partial class DataChannelController : AuthorizeApiController<T_PF_DATA_CHANNEL>
|
|||
|
|
{
|
|||
|
|
private int ErrCountLimit = 30;
|
|||
|
|
private int RAM = 32;
|
|||
|
|
[HttpGet, Route("Info")]
|
|||
|
|
public JsonActionResult<bool> Info(string checkResult)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
//var redisManager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
int count = 0;
|
|||
|
|
if (checkResult.ToLower() != "true")
|
|||
|
|
{
|
|||
|
|
if (CsRedisManager.KeyExists(RedisCacheKey.HardWareCheckErrCount))
|
|||
|
|
{
|
|||
|
|
count = CsRedisManager.StringGet<int>(RedisCacheKey.HardWareCheckErrCount);
|
|||
|
|
}
|
|||
|
|
count++;
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, count);
|
|||
|
|
if (count > ErrCountLimit)
|
|||
|
|
{
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, checkResult);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, count);
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareCheck, checkResult);
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
[HttpPost, Route("UpdateInfo")]
|
|||
|
|
public JsonActionResult<bool> UpdateInfo([FromBody] ComputerInfo info)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<bool>(() =>
|
|||
|
|
{
|
|||
|
|
//var redisManager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<RedisManager>();
|
|||
|
|
if (decimal.Parse(info.CPU) > 0)
|
|||
|
|
{
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareCpuInfo, info.CPU);
|
|||
|
|
}
|
|||
|
|
CsRedisManager.StringSet(RedisCacheKey.HardWareRamInfo, info.RAM);
|
|||
|
|
return true;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|