Files
2025-11-20 15:56:40 +08:00

442 lines
14 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.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Messaging;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using BLWWS_BLL;
using ConsoleApp1;
using Newtonsoft.Json;
using RestSharp;
namespace ConsoleApp1
{
public class portinfo
{
/// <summary>
/// 名称
/// </summary>
public string LodgerNmae { get; set; }
/// <summary>
/// 身份证
/// </summary>
public string IDNumber { get; set; }
/// <summary>
/// 性别 0女 1男
/// </summary>
public Nullable<int> Sex { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public Nullable<System.DateTime> CheckInDate { get; set; }
/// <summary>
/// 消息来源
/// </summary>
public int Sourcedian { get; set; }
/// <summary>
/// 图片
/// </summary>
public string picture { get; set; }
/// <summary>
/// 备注
/// </summary>
public string remark { get; set; }
/// <summary>
/// 图片时间
/// </summary>
public Nullable<System.DateTime> pictureDate { get; set; }
/// <summary>
/// 酒店code
/// </summary>
public string HotelCode { get; set; }
/// <summary>
/// 房间号
/// </summary>
public string roomid { get; set; }
/// <summary>
/// 电话号码
/// </summary>
public string phonenumber { get; set; }
/// <summary>
/// 开房时间
/// </summary>
public DateTime CheckTime { get; set; }
/// <summary>
/// 退房时间
/// </summary>
public DateTime checkOutTime { get; set; }
/// <summary>
/// 密钥
/// </summary>
public string key { get; set; }
public int pmsinfoid { get; set; }
}
}
public class XMSData
{
public string hotelid { get; set; }
/// <summary>
/// 订单账号(酒店唯一)
/// </summary>
public string accnt { get; set; }
public string groupid { get; set; }
public string name { get; set; }
public Dictionary<string, string> original { get; set; }
public extrasData extras { get; set; }
}
public class originalData
{
//public string name { get; set; }
//public string mobile { get; set; }
//public string roomno { get; set; }
//public string type { get; set; }
//public string rtc { get; set; }
//public string rmnum { get; set; }
//public string sta { get; set; }
}
// "arr":"1750586400000",
// "rtc":"CPC",
// "sta":"R",
// "rmnum":"1",
// "roomno":"",
// "mobile":"1212345678",
// "name":"李二",
// "type":"CPC",
// "dep":"1750651200000"
public class extrasData
{
public string name { get; set; }
public string mobile { get; set; }
/// <summary>
/// 房间号
/// </summary>
public string roomno { get; set; }
public string type { get; set; }
public string rtc { get; set; }
public string rmnum { get; set; }
/// <summary>
/// 订单状态
///Q问询
///X取消预订
///Nnoshow
///R预订
///I在住
///O本日结账
///S挂账退房
///D昨日结账
///H历史订单
/// </summary>
public string sta { get; set; }
public string arr { get; set; }
public string dep { get; set; }
}
internal class Program
{
public static long GetCurrentTimeStamp(DateTime dt)
{
TimeSpan ts = dt - new DateTime(1970, 1, 1, 8, 0, 0, DateTimeKind.Local);
long current_timestamp = Convert.ToInt64(ts.TotalSeconds);
return current_timestamp;
}
public class PMSDataBase
{
public string hotel_code { get; set; } = "";
public string time { get; set; } = "";
public string sign { get; set; } = "";
public string hotel_id { get; set; } = "";
public string order_no { get; set; } = "";
public string room_no { get; set; } = "";
public string check_out_original { get; set; }
}
static void Main(string[] args)
{
var DQQQ = File.ReadAllText("1.txt");
//<items><item customer="安赞同" idcard="2110**********222X" sex="女" country="0" checkindate="2025-06-19 16:26:14" checkoutdate="2025-06-20 12:00:00"/></items>
XDocument doc32 = XDocument.Parse(DQQQ);
XElement Root1 = doc32.Root;
string orderno = Root1.Attribute("orderno")?.Value;
string cost = Root1.Attribute("cost")?.Value;
//是否有早餐
string breakfast = Root1.Attribute("breakfast")?.Value;
//押金
string deposit = Root1.Attribute("deposit")?.Value;
var LESuuu = Root1.Elements("item");
var NNNjkl = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, object>>>(DQQQ);
PMSDataBase data = new PMSDataBase()
{
hotel_code = "2079",
time = "1751426235",
sign = "a68b2596ce7c1ca970e82a00626c16e3",
hotel_id = "1101",
order_no = "",
room_no = "1102",
check_out_original = ""
};
string BaseURL = "https://f.blv-oa.com:8099/rcu_pms_api/v1";
var client123 = new RestClient(BaseURL);
var request123 = new RestRequest("/order/checkOut", Method.POST);
request123.AddJsonBody(data);
var Response = client123.Execute(request123).Content;
string content12345 = Response;
long lllhhh = GetCurrentTimeStamp(DateTime.Now);
decimal DDD = Convert.ToDecimal(32432423.34343);
decimal lll = DDD / 1024;
decimal a = Math.Round(lll, 2);
Console.WriteLine("aaaaaaaaaaaa");
string content = "";
string PPP = File.ReadAllText("3.txt");
byte[] photo = Tools.HEXString2ByteArray(PPP);
//分辨率 判断
using (var ms = new MemoryStream(photo))
{
ms.Write(photo, 0, photo.Length);
using (System.Drawing.Image image = System.Drawing.Image.FromStream(ms, false, false)) // 不加载图像数据
{
bool bf = image.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg);
Console.WriteLine(image.Height);
Console.WriteLine(image.Width);
}
}
try
{
string sss111 = File.ReadAllText("3.txt");
var OOO = JsonConvert.DeserializeObject<XMSData>(sss111);
string Url111 = "http://pms.boonlive-rcu.com:8989";
var client1 = new RestClient(Url111);
//var request1 = new RestRequest("api/XMSOrderPush?xrsecret=Ip202rSR132zJGKH", Method.POST);
var request1 = new RestRequest("api/XMSOrderPush", Method.POST);
request1.AddQueryParameter("xrsecret", "Ip202rSR132zJGKH");
request1.AddJsonBody(OOO);
var response = client1.Execute(request1);
var content111 = response.Content;
////string url = "http://face.blv-oa.com/Interface/checkinInterface?key=abc&data={"LodgerNmae":"王悦","IDNumber":"1133397752487743488","Sex":0,"picture":"http://pms.boonlive-rcu.com:89/pic/1133397752487743488_1384391.jpg","HotelCode":"2079","roomid":"1906","phonenumber":"19847388255","CheckTime":"2025-06-20 11:19:04","pmsinfoid":1905524}";
//string url = File.ReadAllText("2.txt");
//var NNN1= JsonConvert.DeserializeObject<portinfo>(url);
//return;
//var client1 = new RestClient(url);
//var request1 = new RestRequest(Method.POST);
//request1.AddJsonBody(null);
//var Response = client1.Execute(request1).Content;
//content = Response;
//string result = string.Empty;
//HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
//req.ContentType = "application/json";
//req.Method = "POST";
////req.Timeout = 10000;//设置请求超时时间,单位为毫秒
//byte[] data = Encoding.UTF8.GetBytes("");
//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();//获取响应内容
// }
//}
}
catch (Exception ex)
{
}
Console.ReadKey();
string xmlString = File.ReadAllText("1.txt");
XDocument doc1 = XDocument.Parse(xmlString);
XElement Root = doc1.Root;
string NNN = Root.Attribute("orderno")?.Value;
var LES = Root.Elements("item");
foreach (var item in LES)
{
string customer = item.Attribute("customer").Value;
string sex = item.Attribute("sex").Value;
}
//ServiceReference1.blwwsSoapClient c = new ServiceReference1.blwwsSoapClient();
//c.Test();
//string token = GetToken_G();
//Console.WriteLine(token);
//ConcurrentDictionary<string, string> GlobalData = new ConcurrentDictionary<string, string>();
//GlobalData.AddOrUpdate("A", token, (k, v) => { return token; });
//GlobalData.AddOrUpdate("A", token, (k, v) => { return token; });
//GlobalData.AddOrUpdate("A", token, (k, v) => { return token; });
//GlobalData.AddOrUpdate("A", token, (k, v) => { return token; });
Console.ReadKey();
}
static public string UserCode = "KKJK";
static public string UserKey = "KKJK0428";
static public string BaseUrl = "https://armitage-ipms.shijicloud.com";
public static string GetToken_G()
{
Dictionary<string, string> Params = new Dictionary<string, string>();
Params.Add("userCode", UserCode);
Params.Add("key", UserKey);
var tokenstr = Send_Http_Request_Params("/iPMSAPI/iPMSApiService/api/applySecurityToken", Params);
Console.WriteLine(tokenstr);
if (!string.IsNullOrEmpty(tokenstr))
{
var dic = JsonConvert.DeserializeObject<Dictionary<string, string>>(tokenstr);
string token = dic["securityToken"];
return token;
}
return "";
}
public static string Send_Http_Request_Params(string Url, Dictionary<string, string> Params)
{
var client1 = new RestClient(BaseUrl);
var request1 = new RestRequest(Url, Method.POST);
foreach (KeyValuePair<string, string> item in Params)
{
request1.AddParameter(item.Key, item.Value);
}
var response = client1.Execute(request1);
var content = response.Content;
return content;
}
public static string queueName2 = @".\private$\faceServerToWeb";
public static MessageQueue mq2 = null;
/// <summary>
/// 从消息队列中读取命令,并执行
/// </summary>
public static void ReceiveCmdLoop()
{
while (true)
{
try
{
//判断队列是否存在
if (MessageQueue.Exists(queueName2))
{
mq2 = new MessageQueue(queueName2);
}
else
{
//创建队列
mq2 = MessageQueue.Create(queueName2);
}
//给管理员队列权力
mq2.SetPermissions("Administrator", MessageQueueAccessRights.FullControl);
//匿名登录
mq2.SetPermissions("ANONYMOUS LOGON", MessageQueueAccessRights.FullControl);
mq2.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
while (true)
{
Message msgRx = mq2.Receive();
msgRx.Formatter = new XmlMessageFormatter(new Type[] { typeof(string) });
string strRx = msgRx.Body.ToString();
Thread.Sleep(1300); //阻塞当前线程1秒让其他线程运行
}
}
catch (Exception ex)
{
Thread.Sleep(5000); //阻塞当前线程5秒再重新启动
continue;
}
}
}
/// <summary>
/// 向消息队列中发送消息
/// </summary>
/// <param name="sendMsg">消息</param>
/// <returns></returns>
public static string QueueSend(string sendMsg)
{
try
{
if (mq2 == null)
{
if (MessageQueue.Exists(queueName2))
{
mq2 = new MessageQueue(queueName2);
}
else
{
mq2 = MessageQueue.Create(queueName2);
}
mq2.SetPermissions("Administrator", MessageQueueAccessRights.FullControl);
mq2.SetPermissions("ANONYMOUS LOGON", MessageQueueAccessRights.FullControl);
mq2.SetPermissions("Everyone", MessageQueueAccessRights.FullControl);
}
Message msgTx = new Message
{
Body = "",
Formatter = new XmlMessageFormatter(new Type[] { typeof(string) })
};
mq2.Send(msgTx);
return "Succeed push msg to MQ !";
}
catch (Exception ex)
{
mq2 = null;
return ex.ToString();
}
}
}