|
@@ -44,11 +44,17 @@ namespace PTMedicalInsurance.Helper
|
|
Global.inf.downURL = ini.ReadValue("CENTER", "download");
|
|
Global.inf.downURL = ini.ReadValue("CENTER", "download");
|
|
Global.inf.ecURL = ini.ReadValue("CENTER", "ecToken");
|
|
Global.inf.ecURL = ini.ReadValue("CENTER", "ecToken");
|
|
Global.inf.mobilePayURL = ini.ReadValue("CENTER", "mobilePay");
|
|
Global.inf.mobilePayURL = ini.ReadValue("CENTER", "mobilePay");
|
|
|
|
+ Global.inf.ecPrescURL = ini.ReadValue("CENTER", "prescription");
|
|
if (string.IsNullOrEmpty(Global.inf.mobilePayURL))
|
|
if (string.IsNullOrEmpty(Global.inf.mobilePayURL))
|
|
{
|
|
{
|
|
Global.inf.mobilePayURL = "http://10.123.185.12:8080";
|
|
Global.inf.mobilePayURL = "http://10.123.185.12:8080";
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (string.IsNullOrEmpty(Global.inf.ecPrescURL))
|
|
|
|
+ {
|
|
|
|
+ Global.inf.ecPrescURL = "http://10.123.185.12:8080/epc/api";
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -497,9 +503,9 @@ namespace PTMedicalInsurance.Helper
|
|
{
|
|
{
|
|
JObject joRtn = new JObject();
|
|
JObject joRtn = new JObject();
|
|
string outPar = "";
|
|
string outPar = "";
|
|
-
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
|
|
+ Global.curEvt.URL = Global.inf.ecPrescURL;
|
|
switch (funNO)
|
|
switch (funNO)
|
|
{
|
|
{
|
|
case "7101":
|
|
case "7101":
|
|
@@ -548,11 +554,6 @@ namespace PTMedicalInsurance.Helper
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- Global.inf.appId = "8B7E69400A55431DAAE3043AD881B0B5";
|
|
|
|
- Global.inf.secretKey = "5011A6002FA041AB8431DCB49854B7A8";
|
|
|
|
- Global.inf.privateKey = "Cy4Fh9fdVSNfiPRp98W2c6nMxIcQ3PlwD8IvzRp7kLY=";
|
|
|
|
- Global.inf.publicKey = "BCR/UBg3Jy7d2cR56rYl5tRv/fmlTm100GbCCMQVfyLZfwe+7RmU6Xx54HiIcDNk6VgVkQh3fBl60ZODjAeguSg=";
|
|
|
|
-
|
|
|
|
|
|
|
|
joRtn = invokeEPCenterService(data);
|
|
joRtn = invokeEPCenterService(data);
|
|
outPar = JsonHelper.Compress(joRtn);
|
|
outPar = JsonHelper.Compress(joRtn);
|
|
@@ -602,20 +603,16 @@ namespace PTMedicalInsurance.Helper
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
- EncryptHelper encrypt = new EncryptHelper(Global.inf.appId,Global.inf.secretKey,Global.inf.publicKey,Global.inf.privateKey);
|
|
|
|
- string signData = "";
|
|
|
|
- string output = encrypt.encrypt(data, ref signData);
|
|
|
|
-
|
|
|
|
|
|
|
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Global.curEvt.URL);
|
|
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Global.curEvt.URL);
|
|
|
|
+ req.Method = "POST";
|
|
req.ContentType = "application/json;charset=utf8";
|
|
req.ContentType = "application/json;charset=utf8";
|
|
req.Timeout = 5 * 10000;
|
|
req.Timeout = 5 * 10000;
|
|
|
|
|
|
try
|
|
try
|
|
{
|
|
{
|
|
var writer = new StreamWriter(req.GetRequestStream());
|
|
var writer = new StreamWriter(req.GetRequestStream());
|
|
- writer.Write(signData);
|
|
+ writer.Write(data);
|
|
writer.Flush();
|
|
writer.Flush();
|
|
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
|
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
|
|
StreamReader reader = new StreamReader(resp.GetResponseStream());
|
|
StreamReader reader = new StreamReader(resp.GetResponseStream());
|
|
@@ -623,11 +620,40 @@ namespace PTMedicalInsurance.Helper
|
|
string RtnStr = reader.ReadToEnd();
|
|
string RtnStr = reader.ReadToEnd();
|
|
joRtn = JObject.Parse(RtnStr);
|
|
joRtn = JObject.Parse(RtnStr);
|
|
|
|
|
|
- JValue encDataObj = (JValue)joRtn.GetValue("encData");
|
|
+ EncryptHelper encrypt = new EncryptHelper(Global.inf.appId, Global.inf.secretKey, Global.inf.publicKey, Global.inf.privateKey);
|
|
- string encData = encDataObj.ToString();
|
|
+ string encData = JsonHelper.getDestValue(joRtn, "encData");
|
|
- string decDatas = encrypt.decrypt(encData);
|
|
+ string signData = JsonHelper.getDestValue(joRtn, "signData");
|
|
- joRtn = JObject.Parse(decDatas);
|
|
+
|
|
|
|
+ Global.writeLog("【密文出参】:\r\n" + RtnStr);
|
|
|
|
+
|
|
|
|
+ if (!string.IsNullOrEmpty(encData) && !string.IsNullOrEmpty(signData))
|
|
|
|
+ {
|
|
|
|
+ joRtn.Remove("encData");
|
|
|
|
+ joRtn.Remove("signData");
|
|
|
|
+ joRtn.Remove("data");
|
|
|
|
+
|
|
|
|
+ string decData = encrypt.decrypt(encData);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ JsonConvert.DefaultSettings = () => new JsonSerializerSettings
|
|
|
|
+ {
|
|
|
|
+ FloatParseHandling = FloatParseHandling.Decimal
|
|
|
|
+ };
|
|
|
|
+ joRtn.Add("data", JToken.FromObject(JsonConvert.DeserializeObject(decData)));
|
|
|
|
+
|
|
|
|
+ bool rtn = encrypt.verify(joRtn, signData);
|
|
|
|
+ if (rtn)
|
|
|
|
+ {
|
|
|
|
+ Global.writeLog("【明文出参】:\r\n" + decData);
|
|
|
|
|
|
|
|
+ joRtn = JObject.Parse(decData);
|
|
|
|
+ joRtn.Add("success", "True");
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ Global.writeLog("验签失败,请核查!");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
return joRtn;
|
|
return joRtn;
|
|
}
|
|
}
|