tijian_jichuang/Code/QianTai/frm_Pa_DJHX.cs
2025-02-20 11:54:48 +08:00

177 lines
6.0 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SOH.Kernel;
using EAS.Services;
using SOH.BLL;
using SOH.Entities;
using SOH.Data;
using SOH.Common;
using System.Text.RegularExpressions;
using System.Security.Cryptography;
using System.Web;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Net;
using System.IO;
using System.Threading;
namespace SOH.QianTai
{
public partial class frm_Pa_DJHX : Form
{
DataRowView drv;
frmJiBenYeWu jbyw;
public frm_Pa_DJHX()
{
InitializeComponent();
}
public frm_Pa_DJHX(DataRowView o,frmJiBenYeWu jb)
{
drv = o;
jbyw = jb;
InitializeComponent();
}
/// <summary>
/// 用MD5加密字符串
/// </summary>
/// <param name="password">待加密的字符串</param>
/// <returns></returns>
public string MD5Encrypt(string password)
{
MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
byte[] hashedDataBytes;
hashedDataBytes = md5Hasher.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(password));
StringBuilder tmp = new StringBuilder();
foreach (byte i in hashedDataBytes)
{
tmp.Append(i.ToString("x2"));
}
return tmp.ToString();
}
public string Get_Http(string url, int timeout, string parm)
{
string strResult = "";
try
{
//创建请求
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url);
//请求响应时间
myReq.Timeout = timeout;
//得到响应对象
HttpWebResponse myRes = (HttpWebResponse)myReq.GetResponse();
//获取流
Stream myStream = myRes.GetResponseStream();
//读取字符
StreamReader sr = new StreamReader(myStream, Encoding.UTF8);
StringBuilder sb = new StringBuilder();
while (-1 != sr.Peek())
{
sb.Append(sr.ReadLine());
}
strResult = sb.ToString();
}
catch (Exception exp)
{
strResult = "错误:" + exp.Message;
}
return strResult;
}
private void button2_Click(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty(this.tb_yzm.Text))
{
string timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
string sign = MD5Encrypt("tianrui" + "0871338ce2bddd34fd02a0c383d0b73a" + timestamp);
//string jm = Md5Decrypt(sign);
string orderState = drv.Row["orderState"].ToString() == "预约已确认" ? "01" : "03";
//orderState= (d.orderState == "01") ? "预约已确认" : "预约待确认",
var dic = new Dictionary<string, string>() {
{"pajkKey","tianrui"},
{"sign",sign },
{"timestamp",timestamp },
{"hospitalOrderId",drv.Row["hospitalOrderId"].ToString() },
{"orderId",drv.Row["orderId"].ToString() },
{"orderState","03" },
{"captcha",this.tb_yzm.Text }
};
//var builder = new UriBuilder("https://tj.test.pajk.cn/tj/api/updateOrder"); //测试环境
var builder = new UriBuilder("https://tj.jk.cn/tj/api/updateOrder");//正式环境
var query = HttpUtility.ParseQueryString(builder.Query);
foreach (var item in dic.Keys)
{
query[item] = dic[item];
}
string url= builder+"?"+query.ToString().Trim('?');
var vservice = ServiceContainer.GetService<IPingAn>();
string js = Get_Http(url,10000,"");
//{"status":"401"} 解析
JObject jo = (JObject)JsonConvert.DeserializeObject(js);
string status = jo["status"].ToString();
switch(status)
{
case "400":
MessageBox.Show("参数异常!");
break;
case "401":
MessageBox.Show("权限异常!");
break;
case "500":
MessageBox.Show("未知错误!");
break;
case "402":
MessageBox.Show("验证码错误!");
break;
case "200":
MessageBox.Show("验证成功!");
pa_yysq yysq = vservice.Djhx(drv.Row["hospitalOrderId"].ToString(), drv.Row["orderId"].ToString(), this.tb_yzm.Text);
frmJiBenYeWu fjbyw = new frmJiBenYeWu();
fjbyw.DjhxTz(yysq.customerIdentityNo,yysq.customerName,yysq.phone);
this.Close();
break;
}
}
else
{
MessageBox.Show("验证码不能为空!");
this.tb_yzm.Focus();
}
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void button3_Click(object sender, EventArgs e)
{
//this.Hide();
//frmJiBenYeWu fjbyw = new frmJiBenYeWu();
//fjbyw.DjhxTz("123456", "测试姓名", "110");
//打开另一个窗口的同时关闭当前窗口
//Thread th = new Thread(delegate () { new frmJiBenYeWu("123456", "测试姓名", "110"); });
//th.Start();
//this.Close();
}
}
}