StableVersion4.3/HL_FristAidPlatform_Public/Util.cs

200 lines
6.7 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00
using Newtonsoft.Json;
using System;
using System.IO;
using System.Net;
using System.Security.Cryptography;
using System.Text;
namespace HL_FristAidPlatform_Public
{
public class Util
{
/// <summary>
///
/// </summary>
/// <param name="summaryValue">MD5计算值</param>
/// <param name="serviceCode">业务代码</param>
/// <param name="parameter">参数</param>
/// <returns></returns>
public static string GetECG(string summaryValue, string serviceCode, string parameter)
{
try
{
string guid = Guid.NewGuid().ToString();
string authorKey = Information.Hospital.Ecg_AuthorKey;
string appId = Information.Hospital.Ecg_AppId;
string token = Information.Hospital.Ecg_Token;
string Url = Information.Hospital.Ecg_URL;
string postText = "header[authorKey]=" + authorKey + "&header[appId]=" + appId + "&header[token]=" + token + "&header[ssid]" +
"=" + guid + "&header[service]=" + serviceCode + "&header[summary]=" + summaryValue;
postText += parameter;
string responseString = Util.ECGPost(Url, postText);
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "GetECG\r\n" + ex);
return "";
}
}
/// <summary>
/// MD5加密
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
public static string Encryption(string text)
{
try
{
//初始化MD5对象
MD5 md5 = MD5.Create();
//将源字符串转化为byte数组
byte[] soucebyte = Encoding.UTF8.GetBytes(text);
//soucebyte转化为mf5的byte数组
byte[] md5bytes = md5.ComputeHash(soucebyte);
//将md5的byte数组再转化为MD5数组
StringBuilder sb = new StringBuilder();
foreach (Byte b in md5bytes)
{
//x表示16进制2表示2位
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "Encryption\r\n" + ex);
return "";
}
}
/// <summary>
/// Post
/// </summary>
/// <param name="url"></param>
/// <param name="t"></param>
/// <returns></returns>
public static string ECGPost(string url, string postText)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
//在转换字节时指定编码格式
byte[] byteData = Encoding.UTF8.GetBytes(postText);
var length = byteData.Length;
request.ContentLength = length;
var writer = request.GetRequestStream();
writer.Write(byteData, 0, length);
writer.Close();
//接收数据
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")).ReadToEnd();
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "ECGPost\r\n" + ex);
return "";
}
}
public static string ECGPostEncoding(string url, string postText)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
//在转换字节时指定编码格式
byte[] byteData = Encoding.UTF8.GetBytes(postText);
var length = byteData.Length;
request.ContentLength = length;
var writer = request.GetRequestStream();
writer.Write(byteData, 0, length);
writer.Close();
//接收数据
var response = (HttpWebResponse)request.GetResponse();
string responseString = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")).ReadToEnd();
responseString = JsonConvert.DeserializeObject(responseString).ToString();
return responseString;
}
catch (Exception ex)
{
PublicClass.WriteErrorLog("Util", "ECGPost\r\n" + ex);
return "";
}
}
public enum ServiceCode
{
/// <summary>
/// 表示上传静态心电数据
/// </summary>
UPLOADEDATA,
/// <summary>
/// 表示获取心电图的判读和报告
/// </summary>
GETEREPORT,
/// <summary>
/// 提交心电医疗订单
/// </summary>
POSTMEDICALFORM,
/// <summary>
/// 查询心电片段截图(代理模式)
/// </summary>
QUERYHEARTPICBYPROXY,
/// <summary>
/// 查询心电图报告(代理模式)
/// </summary>
QUERYHEARTREPORTBYPROXY,
/// <summary>
/// 获取动态密钥
/// </summary>
GETTOKEN,
/// <summary>
/// 获取设备列表
/// </summary>
GETEQMTLIST,
/// <summary>
/// 通过代理商获取服务机构
/// </summary>
GETSERVICEORGLIST,
/// <summary>
/// 通过代理商获取动态报告
/// </summary>
GETDYNAMICREPORT,
/// <summary>
/// 通过代理商获取动态合同
/// </summary>
GETDYNAMICWARDSHIP,
/// <summary>
/// 通过代理商获取动态业务统计信息
/// </summary>
GETDYNAMICBSSTATIS,
/// <summary>
/// 上传存储报告记录
/// </summary>
UPLOADSTOREREPORT,
/// <summary>
/// 查询存储报告记录
/// </summary>
QUERYSTOREREPORT
}
}
}