|
@@ -136,6 +136,20 @@ namespace PTMedicalInsurance.Helper
|
|
|
// Global.inf.uploadURL = ini.ReadValue("CENTER", "upload");
|
|
|
//Global.inf.downURL = ini.ReadValue("CENTER", "download");
|
|
|
// Global.inf.ecURL = ini.ReadValue("CENTER", "ecToken");
|
|
|
+
|
|
|
+ Global.inf.mobilePayURL = ini.ReadValue("CENTER", "mobilePay");
|
|
|
+ Global.inf.ecPrescURL = ini.ReadValue("CENTER", "prescription");
|
|
|
+ // 移动支付
|
|
|
+ if (string.IsNullOrEmpty(Global.inf.mobilePayURL))
|
|
|
+ {
|
|
|
+ Global.inf.mobilePayURL = "http://10.66.159.55:7080";
|
|
|
+ }
|
|
|
+ // 电子处方
|
|
|
+ if (string.IsNullOrEmpty(Global.inf.ecPrescURL))
|
|
|
+ {
|
|
|
+ Global.inf.ecPrescURL = "http://10.123.185.12:8080/epc/api";
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -439,18 +453,20 @@ namespace PTMedicalInsurance.Helper
|
|
|
string prefix = Global.inf.centerURL;
|
|
|
switch (funNo)
|
|
|
{
|
|
|
- case "9101":
|
|
|
- prefix = Global.inf.uploadURL;
|
|
|
- break;
|
|
|
- case "9102":
|
|
|
- prefix = Global.inf.downURL;
|
|
|
+ case "4101A":
|
|
|
+ case "3101":
|
|
|
+ case "3102":
|
|
|
+ prefix = "http://10.66.155.173:8086/1.0.0/hsa-fsi-";
|
|
|
break;
|
|
|
default:
|
|
|
prefix = Global.inf.centerURL;
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
- prefix = "http://10.67.248.214:8086/1.0.0/hsa-fsi-"; //测试
|
|
|
+ //移动支付使用医保测试环境【测试】,正式使用时须去掉
|
|
|
+ if (funNo.StartsWith("62") || funNo.StartsWith("63") || funNo.StartsWith("64"))
|
|
|
+ {
|
|
|
+ prefix = "http://10.67.248.214:8086/1.0.0/hsa-fsi-"; //测试
|
|
|
+ }
|
|
|
|
|
|
Global.curEvt.URL = prefix + funNo;
|
|
|
}
|
|
@@ -477,20 +493,7 @@ namespace PTMedicalInsurance.Helper
|
|
|
return JObject.Parse(outPar);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //Global.inf.centerURL = "http://10.67.240.74:8086/1.0.0/hsa-fsi-" + funNO;
|
|
|
- Global.curEvt.URL = Global.inf.centerURL + funNO;
|
|
|
- if (funNO == "4101A") {
|
|
|
- Global.curEvt.URL = "http://10.66.155.173:8086/1.0.0/hsa-fsi-4101A";
|
|
|
- }
|
|
|
- if (funNO == "3101")
|
|
|
- {
|
|
|
- Global.curEvt.URL = "http://10.66.155.173:8086/1.0.0/hsa-fsi-3101";
|
|
|
- }
|
|
|
- if (funNO == "3102")
|
|
|
- {
|
|
|
- Global.curEvt.URL = "http://10.66.155.173:8086/1.0.0/hsa-fsi-3102";
|
|
|
- }
|
|
|
+ setCenterURL(funNO);
|
|
|
|
|
|
joRtn = invokeCenterService(data);
|
|
|
return joRtn;
|
|
@@ -552,42 +555,69 @@ namespace PTMedicalInsurance.Helper
|
|
|
EncryptHelper encrypt = new EncryptHelper();
|
|
|
string data = JsonHelper.setMPCenterInpar(funNO, joInput);
|
|
|
// 移动支付地址
|
|
|
- Global.curEvt.URL = "http://10.66.159.55:7080" + url;
|
|
|
- joRtn = invokeCenterService(data);
|
|
|
+ Global.curEvt.URL = Global.inf.mobilePayURL + url;
|
|
|
|
|
|
- Global.writeLog(funNO + "【密文出参】:\r\n" + joRtn.ToString());
|
|
|
-
|
|
|
- string encData = JsonHelper.getDestValue(joRtn, "encData");
|
|
|
- string signData = JsonHelper.getDestValue(joRtn, "signData");
|
|
|
- if (!string.IsNullOrEmpty(encData) && !string.IsNullOrEmpty(signData))
|
|
|
+ // 动态调试模式
|
|
|
+ if (Global.curEvt.enabledDebug)
|
|
|
{
|
|
|
- joRtn.Remove("encData");
|
|
|
- joRtn.Remove("signData");
|
|
|
- joRtn.Remove("data");
|
|
|
- //解密
|
|
|
- string decData = encrypt.decrypt(encData);
|
|
|
- // 验签
|
|
|
- JsonConvert.DefaultSettings = () => new JsonSerializerSettings
|
|
|
+ CenterResult center = new CenterResult();
|
|
|
+ center.setTradeNo(funNO);
|
|
|
+ if (center.ShowDialog() == DialogResult.OK)
|
|
|
{
|
|
|
- FloatParseHandling = FloatParseHandling.Decimal
|
|
|
- };
|
|
|
- joRtn.Add("data", JToken.FromObject(JsonConvert.DeserializeObject(decData)));
|
|
|
+ outPar = center.returnData;
|
|
|
+ return JObject.Parse(outPar);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- bool rtn = encrypt.verify(joRtn, signData);
|
|
|
- if (rtn)
|
|
|
- {
|
|
|
- Global.writeLog(funNO+ "【明文出参】:\r\n" + decData);
|
|
|
+ try
|
|
|
+ {
|
|
|
+ joRtn = invokeCenterService(data);
|
|
|
|
|
|
- joRtn = JObject.Parse(decData);
|
|
|
- joRtn.Add("success", "True");
|
|
|
- }
|
|
|
- else
|
|
|
+ Global.writeLog(funNO + "【密文出参】:\r\n" + joRtn.ToString());
|
|
|
+
|
|
|
+ string encData = JsonHelper.getDestValue(joRtn, "encData");
|
|
|
+ string signData = JsonHelper.getDestValue(joRtn, "signData");
|
|
|
+ if (!string.IsNullOrEmpty(encData) && !string.IsNullOrEmpty(signData))
|
|
|
{
|
|
|
- Global.writeLog("验签失败,请核查!");
|
|
|
+ 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("验签通过!");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ Global.writeLog("验签失败,请核查!");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!string.IsNullOrEmpty(decData))
|
|
|
+ {
|
|
|
+ Global.writeLog(funNO + "【明文出参】:\r\n" + decData);
|
|
|
+
|
|
|
+ joRtn = JObject.Parse(decData);
|
|
|
+ joRtn.Add("success", "True");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ return joRtn;
|
|
|
+
|
|
|
+ }
|
|
|
+ finally
|
|
|
+ {
|
|
|
+ this.saveCenterLog(JsonHelper.Compress(data), joRtn.ToString(), JsonHelper.Compress(data), joRtn.ToString());
|
|
|
}
|
|
|
|
|
|
- return joRtn;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -600,8 +630,8 @@ namespace PTMedicalInsurance.Helper
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
- //Global.writeLog(funNO + "(" + Global.curEvt.URL + ")", joInput.ToString(), joRtn.ToString());
|
|
|
- //this.saveCenterLog(joInput.ToString(), joRtn.ToString(), joInput.ToString(), joRtn.ToString());
|
|
|
+ Global.writeLog(funNO + "(" + Global.curEvt.URL + ")", joInput.ToString(), joRtn.ToString());
|
|
|
+ this.saveCenterLog(joInput.ToString(), joRtn.ToString(), joInput.ToString(), joRtn.ToString());
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|