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(); } /// /// 用MD5加密字符串 /// /// 待加密的字符串 /// 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() { {"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(); 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(); } } }