Files
2025-12-11 09:17:16 +08:00

1147 lines
42 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RestSharp;
using CommonEntity;
using RCUHost.Protocols;
using Common;
using RCUHost.Implement;
using System.Net;
using System.Collections;
using CacheManager.Core;
using CSRedis;
using System.Threading.Tasks;
using System.IO;
using System.Collections.Concurrent;
using System.Threading;
using Newtonsoft.Json.Linq;
using Domain;
using System.Diagnostics;
using Common.Logging;
using Quartz;
using Quartz.Impl;
using System.Net.Sockets;
using System.ComponentModel;
using SimpleUdp;
namespace ConsoleApplication1
{
public enum FF
{
A = 0x01 | 0x02 | 0x03,
B = 0x05
}
public class User : EqualityComparer<User>
{
public string username { get; set; }
public string password { get; set; }
public int oauth_id { get; set; }
public override bool Equals(User x, User y)
{
if (x.username.Equals(y.username))
{
return true;
}
return false;
}
public override int GetHashCode(User obj)
{
return obj.username.GetHashCode();
}
}
public class FCS_ReturnInfo
{
public int success { get; set; }
public FCS_ReturnData data { get; set; }
}
// {"success": 1, "data": true, "rmsg": {"code": "s_job_orders", "param": ["JO-0001970-01"]}}
public class FCS_JobResponse
{
public int success { get; set; }
public bool data { get; set; }
//"rmsg":
//[
//{
// "code": "s_user_not_found",
// "param": []
//}
//]
public List<FCSJobResponseData> rmsg { get; set; }
}
public class FCSJobResponseData
{
public string code { get; set; }
public List<string> param { get; set; }
}
public class FCS_ReturnData
{
public bool is_authenticated { get; set; }
public string access_token { get; set; }
public string refresh_token { get; set; }
public bool show_password_expire { get; set; }
public string password_expired_date { get; set; }
public bool password_expired { get; set; }
public bool valid_license_access { get; set; }
public bool require_reset { get; set; }
public string property_config { get; set; }
public string show_pp { get; set; }
public int oauth_id { get; set; }
public bool is_ip_valid { get; set; }
public bool is_support_aliyun { get; set; }
}
public class FCS_JobRequest
{
public List<string> location_uuid { get; set; }
public List<FCS_service_items> service_items { get; set; }
public string remark { get; set; }
public string assigned_to { get; set; }
public int user_type { get; set; }
}
public class FCS_service_items
{
public string item_uuid { get; set; }
public int quantity { get; set; }
}
class Program
{
public static byte ConvertLastFourBitsToByte(BitArray bitArray)
{
if (bitArray == null || bitArray.Count < 4)
throw new ArgumentException("BitArray is too short or null.");
byte result = 0;
for (int i = bitArray.Count - 4, j = 0; i < bitArray.Count; i++, j++)
{
if (bitArray[i])
{
result |= (byte)(1 << j);
}
}
return result;
}
public static byte CombineBitsToByte(bool bit0, bool bit1, bool bit2, bool bit3)
{
byte result = (byte)((bit0 ? 1 : 0) << 3); // 将bit0移到第4位高位
result |= (byte)((bit1 ? 1 : 0) << 2); // 将bit1移到第3位
result |= (byte)((bit2 ? 1 : 0) << 1); // 将bit2移到第2位
result |= (byte)(bit3 ? 1 : 0); // 将bit3移到第1位低位
return result;
}
public static string FCSLoginUrl = "https://api.fcs1cloud.com";
public static void Login()
{
byte gh = 0x05;
string HHH789 = gh.ToString("000");
MemoryCacheHelper.Set("a", "0x19", DateTimeOffset.Now.AddSeconds(5));
Thread.Sleep(6000);
var QQQQQ = MemoryCacheHelper.Get("a");
string str = Newtonsoft.Json.JsonConvert.SerializeObject("");
var client1 = new RestClient(FCSLoginUrl);
var request1 = new RestRequest("/api/security/authenticate", Method.POST);
Dictionary<string, string> dic = new Dictionary<string, string>();
User us = new User();
us.username = "hb.rcu";
us.password = "abc123";
us.oauth_id = 1;
request1.AddJsonBody(us);
var QQQ = client1.Execute(request1);
HttpStatusCode HHH = QQQ.StatusCode;
string ddd = QQQ.Content;
JObject jsonObject = JObject.Parse(ddd);
string city = (string)jsonObject.SelectToken("Person.Address.City");
var FFFA = Newtonsoft.Json.JsonConvert.DeserializeObject<FCS_ReturnInfo>(ddd);
//client1.ExecuteAsync(request1, (response) =>
//{
// Console.WriteLine(response.Content);
//});
}
public static void JobRequest()
{
var client1 = new RestClient(FCSLoginUrl);
var request1 = new RestRequest("/api-secure/job/request", Method.POST);
FCS_JobRequest fff = new FCS_JobRequest();
fff.location_uuid = new List<string>() { "bd5bd36e-67a9-4a76-93ea-3e1acc8f5f1f" };
fff.service_items = new List<FCS_service_items>()
{
new FCS_service_items()
{
item_uuid="f905590d-cae7-4d07-8d0d-f88b5b44b786",
quantity=1
}
};
fff.remark = "test_remark";
fff.assigned_to = "auto";
fff.user_type = 1;
string WER = Newtonsoft.Json.JsonConvert.SerializeObject(fff);
string Key = "FCS_Security_Authenticate";
string NNN = CSRedisCacheHelper.Get_Partition<string>(Key);
//这里不处理登录的逻辑
//缓存里面只保存 登录成功的token
//只 处理 请求 失败的
if (string.IsNullOrEmpty(NNN))
{
//并且将Token写入到缓存
}
else
{
}
request1.AddHeader("token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI2NGZjYjhjMS1jZDZjLTRkMTktOTc3My05YzkxYmZhNjQ2YWQiLCJpYXQiOjE3NDI0MzU1NDYsImV4cCI6MTc0MjQ0NjM0Niwic2NoZW1hIjoibnhnXzcwNzA1OTEzX2VhcXoiLCJ1c2VyIjoiYWYwNzg3YTQtMmM2NC00NWRiLWEzMjktNzg0ZGYwZWRjOGZjIiwiZGVmYXVsdF9wcm9wZXJ0eSI6IjA3MTY3M2IzLWQ4OTMtNDQwYi1iM2YwLTY0YTBkOTY0ZWIyOSIsInRvX3JlZnJlc2giOnRydWUsInR5cGUiOiJhY2Nlc3MiLCJpbml0X2Vwb2NoIjoxNzQyNDM1NTQ2LCJtZWRpdW1fY29kZSI6IldFQiJ9.cuRCfgu2sT2cThnAMv2H8B-XRQiJWgFR25O95bZdVz0");
request1.AddHeader("property", "071673b3-d893-440b-b3f0-64a0d964eb29");
request1.AddParameter("payload", WER);
var QQQ = client1.Execute(request1);
HttpStatusCode HHH = QQQ.StatusCode;
string ddd = QQQ.Content;
JObject jsonObject = JObject.Parse(ddd);
var error = jsonObject.SelectToken("error");
//如果有错
if (error != null)
{
//重新登录
//再次请求
}
}
public class QianLiMa_PMS
{
public static string FCSLoginUrl = "http://blv-rd.tech:19056";
public static void QiYong(string hotel_code, string add_or_remove)
{
var client1 = new RestClient(FCSLoginUrl);
var request1 = new RestRequest("/api/Values/PostData", Method.POST);
//注意方法是POST
//两个参数名字必须是 topic 和payload ,区分大小写的
request1.AddQueryParameter("hotelcode", hotel_code);
request1.AddQueryParameter("add_or_remove", add_or_remove);
string str = client1.Execute(request1).Content;
//client1.ExecuteAsync(request1, (response) =>
//{
// string str = response.Content;
//});
}
}
public class iotVoiceData
{
public string room { get; set; }
public int @event { get; set; }
}
public static void VVV_VVV()
{
string result = string.Empty;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;//设置这个安全协议必须在创建请求之前!
HttpWebRequest req = (HttpWebRequest)WebRequest.Create("https://skyworth-business.com//skill-api/web/sync/remoteControl");
req.Method = "POST";
req.ContentType = "application/json";
var WER = new iotVoiceData()
{
room = "0EC0",
@event = 4
};
var postData = Newtonsoft.Json.JsonConvert.SerializeObject(WER);
byte[] data = Encoding.UTF8.GetBytes(postData);
req.ContentLength = data.Length;
using (Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
}
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
using (Stream stream = resp.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();//获取响应内容
}
}
}
public virtual void Run()
{
long lll = 9223372036854775807;
lll = lll + 5;
Console.WriteLine(lll);
//log.Info("------- Initializing ----------------------");
//// First we must get a reference to a scheduler
ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();
//log.Info("------- Initialization Complete -----------");
//// computer a time that is on the next round minute
//DateTimeOffset runTime = DateBuilder.EvenMinuteDate(DateTimeOffset.UtcNow);
//log.Info("------- Scheduling Job -------------------");
//// define the job and tie it to our HelloJob class
//IJobDetail job = JobBuilder.Create<HelloJob>()
// .WithIdentity("job1", "group1")
// .Build();
//// Trigger the job to run on the next round minute
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger1", "group1")
// .StartAt(runTime)
// .Build();
//// Tell quartz to schedule the job using our trigger
//sched.ScheduleJob(job, trigger);
//log.Info(string.Format("{0} will run at: {1}", job.Key, runTime.ToString("r")));
//// Start up the scheduler (nothing can actually run until the
//// scheduler has been started)
//sched.Start();
//log.Info("------- Started Scheduler -----------------");
//// wait long enough so that the scheduler as an opportunity to
//// run the job!
//log.Info("------- Waiting 65 seconds... -------------");
//// wait 65 seconds to show jobs
//Thread.Sleep(TimeSpan.FromSeconds(65));
//// shut down the scheduler
//log.Info("------- Shutting Down ---------------------");
//sched.Shutdown(true);
//log.Info("------- Shutdown Complete -----------------");
}
public static void FanHui()
{
try
{
Console.WriteLine("111111111111111");
}
catch (Exception)
{
throw;
}
finally
{
}
}
public class EMP
{
public virtual void AAA()
{
Console.WriteLine("nnnnnnnnnnnn");
}
}
public class BOSS : EMP
{
public override void AAA()
{
Console.WriteLine("aaaaaaaaa");
}
}
public static void T_T()
{
Interlocked.Increment(ref DataTongJi.RecordLostPackage);
if (DataTongJi.RecordLostPackage == DataTongJi.DefineLostPackage)
{
Interlocked.Exchange(ref DataTongJi.RecordLostPackage, 0);
return;
}
else
{
}
}
public static void TcpClientInvoke()
{
// 服务器IP和端口
string serverIp = "127.0.0.1"; // 替换为你的服务器IP
int serverPort = 11000; // 替换为你的服务器端口
// 要发送的消息
string message = "Hello, UDP Server!";
try
{
// 创建UDP客户端
using (UdpClient client = new UdpClient())
{
Console.WriteLine("1111111111111");
// 将消息转换为字节数组
byte[] data = Encoding.ASCII.GetBytes(message);
// 发送数据
client.Send(data, data.Length, serverIp, serverPort);
// 可选:接收服务器响应(如果需要)
// IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 0);
// byte[] receivedData = client.Receive(ref remoteEP);
// string response = Encoding.ASCII.GetString(receivedData);
// Console.WriteLine($"收到来自 {remoteEP} 的响应: {response}");
}
}
catch (Exception ex)
{
}
}
public static long LLL333 = 0;
public enum DeviceType
{
/// <summary>
/// 主机继电器
/// </summary>
[Description("主机继电器")]
Relay = 1,
/// <summary>
/// 弱电输出
/// </summary>
[Description("弱电输出")]
LVout = 3,
/// <summary>
/// 服务信息
/// </summary>
[Description("服务信息")]
ServiceInfo = 4
}
public static void DuoGeTask()
{
var TotalKey = "UDPPackage_TotalRecvPackage";
UDPPackageCount LLL_T = null;
DataTongJi.TotalCount.TryGetValue(TotalKey, out LLL_T);
if (LLL_T != null)
{
//LLL_T.Count = LC;
//Interlocked.Increment(ref LLL_T.Count);
}
else
{
UDPPackageCount u = new UDPPackageCount();
u.Count = 1;
DataTongJi.TotalCount.TryAdd(TotalKey, u);
}
}
// 消费者组模式
//static async Task ConsumerGroup(string name, CancellationToken token)
//{
// var processed = 0;
// while (!token.IsCancellationRequested)
// {
// var messages = await _redis.XReadGroupAsync("mygroup", name, 1, 5000, (StreamKey, ">"));
// if (messages?.Length > 0)
// {
// foreach (var msg in messages[0].messages)
// {
// Console.WriteLine($"[{name}] 处理: {msg.field["content"]}");
// await _redis.XAckAsync(StreamKey, "mygroup", msg.id);
// processed++;
// }
// }
// }
// Console.WriteLine($"[{name}] 处理了 {processed} 条消息");
//}
public static void SC()
{
CSRedisCacheHelper.redis.XAdd("MyStr", "*", new ValueTuple<string, string>("d", "da"));
CSRedisCacheHelper.redis.XAdd("MyStr", "*", new ValueTuple<string, string>("d", "da"));
CSRedisCacheHelper.redis.XAdd("MyStr", "*", new ValueTuple<string, string>("d", "da"));
var str = CSRedisCacheHelper.redis.XRead(3, 10000, new ValueTuple<string, string>("MyStr", "$"));
//CSRedisCacheHelper.redis.XGroupCreate("AAA","BBB");
//CSRedisCacheHelper.redis.XAdd("AAA",new ValueTuple<string,string>("1","一个数据"));
//var messages= CSRedisCacheHelper.redis.XReadGroup("AA", "BBB", 10,5000,new ValueTuple<string, string>("AA", ">"));
//foreach (var stream in messages)
//{
// CSRedisCacheHelper.redis.XAck("AAA","BBB",stream.Item1);
// Console.WriteLine(stream.Item2);
//}
//await CSre _redis.XGroupCreateAsync(StreamKey, "competitors", "0-0", true);
CSRedisCacheHelper.StreamConsume(1, "", "");
}
static void FileRe()
{
string sourcePath = "1.txt";
string destinationPath = "2.txt";
// 如果目标文件存在,先删除
if (File.Exists(destinationPath))
{
File.Delete(destinationPath);
}
// 重命名/移动文件
File.Move(sourcePath, destinationPath);
}
static ConcurrentBag<ConcurrentQueue<string>> aaH = new ConcurrentBag<ConcurrentQueue<string>>();
static ConcurrentDictionary<string, ConcurrentQueue<string>> aaJ = new ConcurrentDictionary<string, ConcurrentQueue<string>>();
static void YiQianQueue()
{
aaJ.TryAdd("1", new ConcurrentQueue<string>());
Task.Factory.StartNew(() =>
{
ConcurrentQueue<string> a = null;
bool bf = aaJ.TryGetValue("1", out a);
if (bf)
{
for (int i = 0; i < 100; i++)
{
a.Enqueue(i.ToString());
}
}
});
Task.Factory.StartNew(() =>
{
ConcurrentQueue<string> a = null;
bool bf = aaJ.TryGetValue("1", out a);
if (bf)
{
string st = null;
a.TryDequeue(out st);
}
});
}
public static void UDPTTS()
{
UdpEndpoint u = new UdpEndpoint("127.0.0.1", 3350);
}
/// <summary>
/// 设置名单
/// </summary>
public static void SetBlockData()
{
var DDD = File.ReadAllText("2.txt", Encoding.UTF8);
var QS = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, object>>(DDD);
foreach (var item in QS)
{
var client1 = new RestClient("https://www.boonlive-rcu.com");
var request1 = new RestRequest("/api/BlockLWSet", Method.POST);
Block_NameList bas = new Block_NameList();
bas.HostNumberList = new List<string>();
bas.HotelCode = item.Key;
request1.AddJsonBody(bas);
var QQQ = client1.Execute(request1);
HttpStatusCode HHH = QQQ.StatusCode;
string ddd = QQQ.Content;
}
}
public class JiShu
{
public string Name { get; set; }
public int Count { get; set; }
}
static void Main(string[] args)
{
SetBlockData();
Console.ReadLine();
var redisusa = CSRedisCacheHelper.redis;
var key = "key_Issues457";
var group = "group_Issues457";
var consumer = "consumer_Issues457";
var maxLen = 9999;
//删除,重新创建,并加入数据,进行测试
redisusa.Del(key);
redisusa.XGroupCreate(key, group, "0", true);
redisusa.XAdd(key, maxLen, "*", new ValueTuple<string, string>("data", "my data1"));
//检查pending表的长度
//!!!!!!pending表不存在时读取会报错!!!!!!!!!
var pending0 = redisusa.XPending(key, group);
//消费确认前pending 应该等于0
//读取未阅读的消息1,读取2次
var new1 = redisusa.XReadGroup(group, consumer, 1, 1, new ValueTuple<string, string>(key, ">"));
var new2 = redisusa.XReadGroup(group, consumer, 1, 1, new ValueTuple<string, string>(key, ">"));
var ssa = new1[0].Item1;
//var id1 = new1[0].data[0].id;
redisusa.XAck(key, group, "1763536561353-0");
//string NSA1a= CSRedisCacheHelper.redis.BRPop<string>(3,"a");
//CSRedisCacheHelper.redis.LPush<string>("a","bbb");
//CSRedisCacheHelper.redis.LPush<string>("a","111");
//CSRedisCacheHelper.redis.LPush<string>("a","222");
//CSRedisCacheHelper.redis.LPush<string>("a","333");
//string NSA1= CSRedisCacheHelper.redis.BRPop<string>(300,"a");
//string NSA2= CSRedisCacheHelper.redis.BRPop<string>(300,"a");
//string NSA3= CSRedisCacheHelper.redis.BRPop<string>(300,"a");
UDPTTS();
Console.ReadLine();
//0011101000011100
ushort StatusReceiver = 0x3A1C;
int status = StatusReceiver >> 15;//开关
int modeas = (StatusReceiver >> 12) & 0x03;//模式
int fanSpeed = (StatusReceiver >> 11) & 0x03;//风速
int valve = (StatusReceiver >> 10) & 0x01;//阀门
int temperature = (StatusReceiver >> 5) & 0x1F;//设定温度
int currentTemp = StatusReceiver & 0x01F;//当前温度(室内温度)
byte[] bbb111 = new byte[] { 0x1c, 0x3a };
BitArray bit = new BitArray(bbb111);
BitArray bit2 = new BitArray(8);
bit2.SetAll(false);
for (int i = 0; i < bit2.Length; i++)
{
bit2.Set(i, bit[i]);
}
int[] array = new int[1];
bit2.CopyTo(array, 0);
Console.WriteLine(array[0]);
foreach (var item in bit2)
{
Console.WriteLine(item.ToString());
}
Console.WriteLine("*****************");
bool b111 = bit[13];
bool b222 = bit[12];
bool b333 = bit[11];
bool b444 = bit[10];
int mode = 0;
//1制冷2制热3送风
if (b222 == true && b111 == false)
{
mode = 1;
}
else if (b222 == false && b111 == true)
{
mode = 2;
}
else if (b222 == true && b111 == true)
{
mode = 3;
}
else
{
}
int fanspeed = 0;
//0自动1低速2中速3高速
if (b444 == true && b333 == false)
{
fanspeed = 1;
}
else if (b444 == false && b333 == true)
{
fanspeed = 2;
}
else if (b444 == true && b333 == true)
{
fanspeed = 3;
}
else if (b444 == false && b333 == false)
{
fanspeed = 0;
}
else
{
}
foreach (bool item in bit)
{
Console.WriteLine(item.ToString());
}
FileRe();
Console.ReadKey();
SC();
var US = DeviceType.Relay;
var enumValue = (DeviceType)Enum.ToObject(typeof(Device), US);
byte Chakaffsdf = CSRedisCacheHelper.Get_Partition<byte>("NNNNNNNNNNN", 5);
long lll = -9223372036854775807;
lll = lll + 5;
Console.WriteLine(lll);
StepInfo s = new StepInfo();
s.Step = 2;
s.StepDescription = "你好这是一个测试数据";
string ti = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
s.TriggerTime = ti;
string NNN35 = Newtonsoft.Json.JsonConvert.SerializeObject(s);
CSRedisCacheHelper.Publish("redis-roomstatus-monitor", NNN35);
return;
Interlocked.Exchange(ref LLL333, 3333);
Interlocked.Exchange(ref LLL333, 5555);
for (int i = 0; i < 10; i++)
{
T_T();
}
BOSS mnm = new BOSS();
mnm.AAA();
CSRedisCacheHelper.redis3.LPush<string>("abc", "a1");
CSRedisCacheHelper.redis3.LPush<string>("abc", "a2");
CSRedisCacheHelper.redis3.LPush<string>("abc", "a3");
var a23 = CSRedisCacheHelper.redis3.LPop("abc");
var a24 = CSRedisCacheHelper.redis3.LPop("abc");
var a25 = CSRedisCacheHelper.redis3.LPop("abc");
var Time = "*/10 * * * *";
string[] datalll = Time.Split('/', ' ');
var ak47 = new ValueTuple<string, Action<CSRedisClient.SubscribeMessageEventArgs>>("__keyevent@3__:expired", (sube) =>
{
var n = sube.Body;
Console.WriteLine("iiiiiiiiiiiiiiiiiiiii");
});
CSRedisCacheHelper.redis3.Subscribe(ak47);
CSRedisCacheHelper.redis3.Set("uuu", "xxxx", 5);
Console.ReadLine();
CSRedisCacheHelper.Set_Partition("hello", 0x01, 5);
byte Chaka = CSRedisCacheHelper.Get_Partition<byte>("hello", 5);
RedisTakeCardStatus xxx = new RedisTakeCardStatus();
xxx.HostNUMBER = "iiiii";
xxx.OriginalDat = new List<byte> { 0x01, 0x02, 0x03, 0xff, 0xce };
var X1 = Newtonsoft.Json.JsonConvert.SerializeObject(xxx);
DataTongJi.CeShi();
byte[] NU1 = new byte[] { 0x00, 0xbb, 0xcc };
byte[] NU2 = new byte[] { 0xbb, 0xcc };
//bool GAB= ContainsSubsequence<byte>(NU1.ToList(),NU2.ToList());
Console.ReadLine();
CSRedisCacheHelper.redis5.HMSet("TestHDel", "a", "b");
CSRedisCacheHelper.redis5.Expire("TestHDel", 20);
int I = CSRedisCacheHelper.redis5.HGetAll("TestHDel").Count;
FanHui();
XuanZhuResponse x = new XuanZhuResponse();
x.code = "1085";
x.roomNumber = "8088";
MyHttp.SendHttpData("http://f-xcx.blv-oa.com/rcu/report", x);
new Program().Run();
var uuu23 = Common.CPUData.GetCPU();
Console.WriteLine(uuu23);
string[] vvv = File.ReadAllLines("234.csv");
foreach (var item in vvv)
{
var now = DateTime.Now;
//string strn = "00:00,00:15,00:30,00:45,01:00,01:15,01:30,01:45,02:00,02:15,02:30,02:45,03:00,03:15,03:30,03:45,04:00,04:15,04:30,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,10:15,10:30,10:45,11:00,11:15,11:30,11:45,12:00,12:15,12:30,12:45,13:00,13:15,13:30,13:45,14:00,14:15,14:30,14:45,15:00,15:15,15:30,15:45,16:00,16:15,16:30,16:45,17:00,17:15,17:30,17:45,18:00,18:15,18:30,18:45,19:00,19:15,19:30,19:45,20:00,20:15,20:30,20:45,21:00,21:15,21:30,21:45,22:00,22:15,22:30,22:45,23:00,23:15,23:30,23:45";
foreach (string timing in item.Split(','))
{
Console.WriteLine(item);
DateTime dtTiming = Convert.ToDateTime(now.ToString("yyyy-MM-dd") + " " + timing);// row["Timing"].ToString());
double totalMinutes = (now - dtTiming).TotalMinutes;
}
}
byte gh = 0x1b;
string HHH789 = gh.ToString("000");
TCLCommon.SendData("1001", "1002", "111", "222", "30");
long NNN99 = CSRedisCacheHelper.Get_Partition<long>("uuuuuuuuuuuuu", 1);
MemoryCacheHelper.Set("a", "0x19", DateTimeOffset.Now.AddSeconds(5));
Thread.Sleep(6000);
var QQQQQ = MemoryCacheHelper.Get("a");
VVV_VVV();
var client1 = new RestClient("https://skyworth-business.com");
var request1 = new RestRequest("/skill-api/web/sync/remoteControl", Method.POST);
request1.AddHeader("authCode", "123e4567e89b12d3a456426614174003");
//request1.AddJsonBody(Newtonsoft.Json.JsonConvert.SerializeObject(WER));
//request1.AddJsonBody(WER);
var Responsse = client1.Execute(request1);
var AAF = Responsse.Content;
Console.WriteLine(AAF);
var client = new RestClient("https://pms.boonlive-rcu.com/");
//var client = new RestClient(Currentsys_address);
var request = new RestRequest("api/GetRoomServiceList", Method.GET);
Dictionary<string, string> dic111 = new Dictionary<string, string>();
dic111.Add("creatDate", "2021-03-29");
dic111.Add("roomNumber", "二楼H区");
dic111.Add("code", "1085");
string jsstr = Newtonsoft.Json.JsonConvert.SerializeObject(dic111);
request.AddParameter("jsonData", jsstr);
var response = client.Execute(request);
string erlangstr = "中国abc";
var q23 = Encoding.UTF8.GetBytes(erlangstr);
var q33 = Encoding.Unicode.GetBytes(erlangstr);
var q32 = Encoding.ASCII.GetBytes(erlangstr);
QianLiMa_PMS.QiYong("1008", "add");
ushort aac = 50;
ushort bbc = 110;
double d = (double)aac;
double d2 = (double)bbc;
double uuu = (d / bbc) * 100;
int roundedNumber111 = (int)Math.Round(uuu);
string BaiFenBi = roundedNumber111.ToString() + "%";
string Key = CacheKey.HostInfo_Key_HostNumber + "_" + "061004096203";
object obj = MemoryCacheHelper.Get(Key);
if (obj != null)
{
Host host = obj as Host;
}
List<User> uuua = new List<User>() {
new User() { username = "aaa", password = "ssss" },
new User() { username = "aaa", password = "ssss" },
new User() { username = "aaa", password = "ssss" },
new User() { username = "aaa", password = "ssss" },
new User() { username = "aaa", password = "ssss" }
};
var VVV = uuua.Distinct<User>(new User()).ToList();
string uuid = Guid.NewGuid().ToString("N");
JobRequest();
byte colorValue = 0x02; // 假设这是你想转换的字节值
FF color = (FF)colorValue; // 直接转换
byte[] osk = new byte[] { 0xAA, 0x0c, 0x01, 0x01, 0x7a, 0x74, 0x01, 0x01, 0x10, 0x01, 0x00, 0x0a };
for (int i = 0; i < 1000000; i++)
{
var reader = StreamReaderPool.GetReader(osk);
bool nnn = reader.ReadBoolean();
bool SysLock = reader.ReadBoolean();
}
Console.WriteLine("aaaaaaaaaaaaa");
for (int i = 0; i < 1000000; i++)
{
byte[] bbbyyy = osk.Take(3).ToArray();
Task.Factory.StartNew((state) =>
{
var NNN = state as byte[];
//byte[] bbbyyy = NNN.Take(3).ToArray();
using (MemoryStream stream = new MemoryStream(NNN, 0, NNN.Length))
{
using (BinaryReader reader = new BinaryReader(stream))
{
bool nnn = reader.ReadBoolean(); //RCU是否锁定0/否1/是
bool SysLock = reader.ReadBoolean(); //RCU是否锁定0/否1/是
int CardType = reader.ReadByte(); //房卡类型0/无人1/有人2/客人3/经理4/服务员
bool Door = reader.ReadBoolean(); //门磁开关1/开2/关
ushort ElecQty = reader.ReadUInt16(); //门锁电量单位MV
int HostTemp = reader.ReadByte(); //主机温
}
}
}, osk);
}
for (int i = 0; i < 1000000; i++)
{
using (MemoryStream stream = new MemoryStream(osk, 0, osk.Length))
{
using (BinaryReader reader = new BinaryReader(stream))
{
bool nnn = reader.ReadBoolean(); //RCU是否锁定0/否1/是
bool SysLock = reader.ReadBoolean(); //RCU是否锁定0/否1/是
int CardType = reader.ReadByte(); //房卡类型0/无人1/有人2/客人3/经理4/服务员
bool Door = reader.ReadBoolean(); //门磁开关1/开2/关
ushort ElecQty = reader.ReadUInt16(); //门锁电量单位MV
int HostTemp = reader.ReadByte(); //主机温
}
}
}
Console.WriteLine("aaaaaaaaaaaaaaa");
for (int i = 0; i < 100; i++)
{
Task.Factory.StartNew(() =>
{
Console.WriteLine(i.ToString());
});
}
int rrr = 0;
int.TryParse("220", out rrr);
double everydata = rrr / 2.55;
int roundedNumber = (int)Math.Round(everydata);
try
{
bool bka = SmartRobotTest();
Console.WriteLine(bka);
Task.Factory.StartNew(() =>
{
int aaa = 3;
int bbb1 = 0;
int c = aaa / bbb1;
}).ContinueWith((ttt) =>
{
if (ttt.IsFaulted)
{
var v = ttt.Exception.InnerExceptions;
foreach (var item in v)
{
Console.WriteLine(item.Message);
}
}
});
}
catch (AggregateException)
{
Console.WriteLine("");
}
int[] a = new int[] { 1, 2, 3, 4, 5 };
var sum = a.Aggregate(new List<int>(), (acc, current) =>
{
if (current % 2 == 0)
{
acc.Add(current);
}
return acc;
});
Console.WriteLine(sum);
Domain.IoTAliGenieEntity.Request req = new Domain.IoTAliGenieEntity.Request();
req.baseInfo = new Domain.IoTAliGenieEntity.BaseInfo()
{
appName = "xiaodu",
hotelId = "1",
requestId = "eeee",
requestTime = 300000,
roomNo = "2001",
token = ")%(&$(*%&$U*(%R&$(*Y%$*("
};
req.command = new Domain.IoTAliGenieEntity.Command()
{
commandType = "devicecommand",
devices = new List<Domain.IoTAliGenieEntity.DevicesItem>() { }
};
string hhg = Newtonsoft.Json.JsonConvert.SerializeObject(req);
CSRedisCacheHelper.Forever<String>("nnn", "ddd");
string redisHostStr = "127.0.0.1:6379";
var redis = new CSRedisClient(redisHostStr);//+ ",password=,defaultDatabase=0,poolsize=500,ssl=false,writeBuffer=10240,prefix=");
var redis1 = new CSRedisClient(redisHostStr + ",password=,defaultDatabase=1");
var redis2 = new CSRedisClient(redisHostStr + ",password=,defaultDatabase=2");
redis.Set("11", "22");
redis1.Set("22", "22");
redis2.Set("33", "22");
var cache = CacheFactory.Build("getStartedCache", settings =>
{
settings.WithSystemRuntimeCacheHandle("handleName");
});
cache.Add("keyA", "valueA");
cache.Put("keyB", 23);
cache.Update("keyB", v => 42);
for (int i = 0; i < 100; i++)
{
string ll = "hhh";
switch (ll)
{
case "hhh":
Console.WriteLine("nnnnnnnn");
break;
default:
break;
}
Console.WriteLine("1111111111111");
}
DateTime dddv = DateTime.Now.ToLocalTime();
ushort iii = 15;
// 假设我们有一个BitArray
byte[] bbbddd = BitConverter.GetBytes(iii);
BitArray bitArray = new BitArray(bbbddd);
var qqq1 = bitArray.Cast<bool>().Take(4).ToArray();
var qqq2 = bitArray.Cast<bool>().Skip(4).Take(4).ToArray();
byte hhhg = CombineBitsToByte(qqq1[0], qqq1[1], qqq1[2], qqq1[3]);
ushort hhh = 75;
BitArray bitnew = new BitArray(hhh);
foreach (bool item in bitnew)
{
Console.WriteLine(item);
}
byte bbb = (byte)hhh;
TFTPReceiver tf = new TFTPReceiver();
byte[] bbbbbb = tf.CreateDataPacket();
string str = "AA 55 17 00 54 33 53 41 02 E5 94 3D 04 2B 1B 34 D0 B8 11 2B 1B C5 F9 ";
str = str.Replace(" ", "");
byte[] data = TG(str);
var SystemHeader = DecodeSystemHeader(data);
var cmdtype = (CommandType)SystemHeader.Value.CmdType;
long hotelCode = SystemHeader.Value.HostNumber.ToHotelCode();//获取酒店编码
int startIndex = StructConverter.SizeOf(SystemHeader);
SearchHostPacketReply? reply = StructConverter.BytesToStruct(data, startIndex, typeof(SearchHostPacketReply)) as SearchHostPacketReply?;
string mac = BitConverter.ToString(reply.Value.MAC);
string version = reply.Value.Version;
//string sss = "固件:BLV-C5 || Launcher_C1F_V04 || C1F_A_L4_3C_241206_NM.bin";
//string[] ddd = sss.Split(new string[] { "||" }, StringSplitOptions.None);
//TimeSpan ts = DateTime.Now.ToLocalTime() - new DateTime(1970, 1, 1, 8, 0, 0, 0, DateTimeKind.Utc);
//string current_timestamp = Convert.ToInt64(ts.TotalSeconds).ToString();
//KongQiReport re = new KongQiReport();
//re.hotel_code = "1003";
//re.room_no = "1002";
//re.time = "2022-12-33";
//var client1 = new RestClient("http://localhost:5026");
//var request1 = new RestRequest("/rcu/vi/airjson", Method.POST);
////request1.RequestFormat = DataFormat.Json;
////request1.AddHeader("Context-Type", "application/json");
////string sss = Newtonsoft.Json.JsonConvert.SerializeObject(re);
////logger.Error("空气质量送了数据:" + AirReport_Address+" data: "+json);
//request1.AddBody(re);
//client1.ExecuteAsync(request1, (response) =>
//{
// string result = response.Content;
//});
Console.ReadKey();
}
static public bool SmartRobotTest()
{
string st = "11:00";
string et = "09:00";
string[] st_a = st.Split(':');
string[] et_a = et.Split(':');
int h_st = int.Parse(st_a[0]);
int M_st = int.Parse(st_a[1]);
int h_et = int.Parse(et_a[0]);
int M_et = int.Parse(et_a[1]);
int y = DateTime.Now.Year;
int m = DateTime.Now.Month;
int d = DateTime.Now.Day;
int hh = DateTime.Now.Hour;
int mm = DateTime.Now.Minute;
int ss = DateTime.Now.Second;
var t1 = new DateTime(y, m, d, h_st, M_st, ss);
var t2 = new DateTime(y, m, d, h_et, M_et, ss);
bool ShiJian = false;
//正常逻辑
if (t2 >= t1)
{
var ti = DateTime.Now;
//如果当前时间大于 起 小于 至,就代表 确实是 禁用
if (ti >= t1 && ti <= t2)
{
ShiJian = true;
}
}
else
{
var ti = DateTime.Now;
var zero_ti = new DateTime(y, m, d, 23, 59, 59);
var t3 = t2.AddDays(1);
if (ti < zero_ti && ti >= t1 && ti <= t3)
{
return true;
}
}
bool dis = true;
return dis && ShiJian;
}
public static byte[] TG(string hexString)
{
char[] hexCharacters = hexString.ToCharArray();
byte[] byteArray = new byte[hexCharacters.Length / 2];
for (int i = 0; i < byteArray.Length; i++)
{
string hexVal = string.Concat(hexCharacters[i * 2], hexCharacters[i * 2 + 1]);
byteArray[i] = Convert.ToByte(hexVal, 16);
}
return byteArray;
}
private static SystemHeader? DecodeSystemHeader(byte[] data)
{
return StructConverter.BytesToStruct(data, typeof(SystemHeader)) as SystemHeader?;
}
}
public static class StreamReaderPool
{
// 线程安全的对象池(按字节数组长度区分)
private static readonly ConcurrentDictionary<int, Lazy<BinaryReader>> _readers =
new ConcurrentDictionary<int, Lazy<BinaryReader>>();
// 获取或创建与指定字节数组关联的 BinaryReader
public static BinaryReader GetReader(byte[] data)
{
var lazyReader = _readers.GetOrAdd(data.Length, length =>
new Lazy<BinaryReader>(() =>
{
var stream = new MemoryStream(data, 0, length);
return new BinaryReader(stream);
}, LazyThreadSafetyMode.ExecutionAndPublication));
// 重置流位置以便复用
var reader = lazyReader.Value;
reader.BaseStream.Position = 0;
return reader;
}
}
}