唐山轨道机控制端TCP服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.6 KiB

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Json;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Emergency_platform
{
public class Patrol
{
public async void PatrolD()
{
DAY day = new DAY();
int j = 0;
while (true)
{
using (var httpClient = new HttpClient())
{
//发送post请求
var response = await httpClient.GetAsync("http://192.168.10.104:8080/api/Patrol");
if (response.IsSuccessStatusCode)
{
var responseBody = await response.Content.ReadAsStringAsync();
//Console.WriteLine(responseBody);
JsonDocument jsonDocument = JsonDocument.Parse(responseBody);
var dataElement = jsonDocument.RootElement.GetProperty("data").ToString();
List<PatrolClass> dataList = JsonConvert.DeserializeObject<List<PatrolClass>>(dataElement);
foreach (var item in dataList)
{
bool state = item.State;
//Console.WriteLine(state);
if (state == true)
{
if (item.RunRule == "每日")
{
await TimedTask.DailyJob(item.StartTime.ToString(), "2,2;3,3;4,4");
}
else
{
j++;
List<DayOfWeek> dayOfWeeks = day.DayOfWeeks(item);
var daysOfWeek = new HashSet<DayOfWeek>();
foreach (var i in dayOfWeeks)
{
daysOfWeek.Add(i);
}
await TimedTask.WeeklyJob(daysOfWeek, item.StartTime.ToString(),j, "2,2;3,3;4,4");
}
}
}
}
else
{
//处理错误响应
Console.WriteLine("请求失败");
}
}
await Task.Delay(TimeSpan.FromDays(1));
}
}
}
}