初始化
This commit is contained in:
107
看板定阅/Services/MyTimer.cs
Normal file
107
看板定阅/Services/MyTimer.cs
Normal file
@@ -0,0 +1,107 @@
|
||||
|
||||
using System.Text;
|
||||
using Common;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using MySQLAccess.PGModels;
|
||||
using NLog;
|
||||
using 看板定阅.Models;
|
||||
|
||||
namespace 看板定阅.Services
|
||||
{
|
||||
public class MyTimer : BackgroundService
|
||||
{
|
||||
//public PostgresContext dbcontext { get; set; }
|
||||
public IServiceProvider pivider { get; set; }
|
||||
public System.Timers.Timer jiankong_timer { get; set; }
|
||||
public MyTimer(IServiceProvider db)
|
||||
{
|
||||
this.pivider = db;
|
||||
}
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
try
|
||||
{
|
||||
jiankong_timer = new System.Timers.Timer();
|
||||
jiankong_timer.Interval = 15000;
|
||||
jiankong_timer.Elapsed += Jiankong_timer_Elapsed; ;
|
||||
jiankong_timer.Start();
|
||||
await Task.CompletedTask;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static Logger logger = LogManager.GetCurrentClassLogger();
|
||||
private void Jiankong_timer_Elapsed(object? sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
//var db= pivider.GetRequiredKeyedService<PostgresContext>("");
|
||||
//using var db = pivider.GetService<PostgresContext>();
|
||||
//PostgresContext db = new PostgresContext();
|
||||
|
||||
using var scope = pivider.CreateScope();
|
||||
var db = scope.ServiceProvider.GetRequiredService<PostgresContext>();
|
||||
var data = db.TcpHeartbeatData.Where(A => A.DeviceId.Equals(WaiBuJianKong.data.device_id)).OrderByDescending(A => A.CreateTime).FirstOrDefault();
|
||||
|
||||
|
||||
var df = WaiBuJianKong.data;
|
||||
df.device_id = data.DeviceId;
|
||||
df.device_status = data.WorkStatus;
|
||||
df.realtime_value = data.RealTimeValue;
|
||||
df.environment_value = data.EnvValue;
|
||||
df.mcu_temperature = data.McuT;
|
||||
df.sensor_temperature = data.Temperature;
|
||||
df.sensor_humidity = data.Humidity;
|
||||
df.adc_raw_value = data.AdcOriginalValuue;
|
||||
|
||||
string NewStringData = WaiBuJianKong.Data;
|
||||
NewStringData = NewStringData.Replace("{1}", df.device_id)
|
||||
.Replace("{2}", df.device_status)
|
||||
.Replace("{3}", df.realtime_value)
|
||||
.Replace("{4}", df.environment_value)
|
||||
.Replace("{5}", df.mcu_temperature)
|
||||
.Replace("{6}", df.sensor_temperature)
|
||||
.Replace("{7}", df.sensor_humidity)
|
||||
.Replace("{8}", df.adc_raw_value)
|
||||
.Replace("{9}", "0")
|
||||
.Replace("{10}", "0")
|
||||
.Replace("{11}", "0")
|
||||
.Replace("{12}", "0")
|
||||
.Replace("{13}", "0")
|
||||
.Replace("{14}", "0")
|
||||
.Replace("{15}", "0");
|
||||
|
||||
|
||||
WanBuJianKong(NewStringData, "1.txt");
|
||||
File.WriteAllText("2.txt", NewStringData, Encoding.UTF8);
|
||||
Console.WriteLine("here");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
Console.WriteLine(ex.StackTrace);
|
||||
logger.Error(ex.Message);
|
||||
logger.Error(ex.StackTrace);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static void WanBuJianKong(string Data, string SourceTxt)
|
||||
{
|
||||
System.IO.File.WriteAllText(SourceTxt, Data, Encoding.UTF8);
|
||||
// 如果目标文件存在,先删除
|
||||
if (System.IO.File.Exists(WaiBuJianKong.WaiBuJianKongTargetFileName))
|
||||
{
|
||||
System.IO.File.Delete(WaiBuJianKong.WaiBuJianKongTargetFileName);
|
||||
}
|
||||
|
||||
// 重命名/移动文件
|
||||
System.IO.File.Move(SourceTxt, WaiBuJianKong.WaiBuJianKongTargetFileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user