|
@@ -91,6 +91,25 @@ namespace MySystem
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
}
|
|
|
+ else if(pos.BrandId == 2) //金控
|
|
|
+ {
|
|
|
+ Fee = Fee / 100;
|
|
|
+ string content = ModifyFee(pos.PosSn, Fee);
|
|
|
+ JsonData obj = JsonMapper.ToObject(content);
|
|
|
+ if(obj["code"].ToString() == "0000")
|
|
|
+ {
|
|
|
+ pos.SeoDescription = "设置成功";
|
|
|
+ SetRecordResult(db, RecordId, 1, "设置成功");
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ string msg = obj["msg"].ToString();
|
|
|
+ pos.SeoDescription = msg;
|
|
|
+ SetRecordResult(db, RecordId, -1, msg);
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+ }
|
|
|
// else if(pos.BrandId == 6) //立刷
|
|
|
// {
|
|
|
// string content = SetLiSFee(pos.PosSn, Fee);
|
|
@@ -242,7 +261,163 @@ namespace MySystem
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
-
|
|
|
+
|
|
|
+ #region 开店宝
|
|
|
+
|
|
|
+ //生产环境
|
|
|
+ // string KdbApiUrl = "https://kzy.kdb-tj.com:5055/api";
|
|
|
+ // string KDBAESKEY = "F@xh#sga41c08@pe";
|
|
|
+ // string Kdb_Rsa_PrivateKey = "MIIBUwIBADANBgkqhkiG9w0BAQEFAASCAT0wggE5AgEAAkEAl2x9dSSCfNDik6VM2dn/SK1ONSbb7AKyXM1gHw8PMbzWN1pK7YGaPqHlIRbAeFeIvLKVeMxrji+63W6LpB0yDQIDAQABAkAfpHUnCIUYDhJ65f0EPTDCgCyqoL8uN3YMPIKMmvoC22/i7AC6zf/bWk4JdratN+gvvnjGgHQff6HH5dOQ6sbFAiEAxPYSLADzIv374J8O+LluXIcgI5zXm4r4dMtKbCmmWSsCIQDE0BRKsBcBZ9NvJ9Km+m/d1hN9v5hFT842zrkUFJmVpwIgBdYc17z3d3P7QL613NzxzkAazbNaGDvX/O4BOI9LZJ0CICrZElHgXGHV9NYyWU45H7mwLbYmzEPqx/5uqySQB4/pAiBgKYv3RGnsZ8Zm1EKAJjUX7ehdteBgPSA/UgIDZQ4oyw==";
|
|
|
+ // string AgencyId = "3013890129";
|
|
|
+
|
|
|
+ //开发环境
|
|
|
+ string KdbApiUrl = "https://kzy-test.kdb-tj.com:5056/api";
|
|
|
+ string KDBAESKEY = "Ebn4N28MvEXEvPTA";
|
|
|
+ string Kdb_Rsa_PrivateKey = "MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAsPyH5Y5NySHHKWIgPwxbZFkd33vzuWKv+Kdpug5/qYAnpTShDSMXQ2Ib7gc+B/yvj4uZ/k1A/xHpzHTPl6MzQQIDAQABAkA2sGHhyj45B2n+XKbwNIZNFMiJVUjzoQ4VPM4Lww0pt781GeqBCGgEIgTjmmg/FTGjgwTb7ta1A5G9Qn2nPG0RAiEA4x7W6XKdSL/FyVdlt4jijNQNZfLEqEPy1NnchRWUf40CIQDHfb49KP3pW4ZDX3xS42fYd9p7AGZ+qpVBnJfGGyFrhQIhALk3HCHyowuBwMUKLdw3mDEqeOarzO4/w1cLd8dcKua9AiEAtdPAj9JLDGWljMb9dDddsYockzwcL5ufizwFgkW8QlkCIADYU4+fFKqySLGX3MmEIJ/mU632PRtJAh4LSL8/Ij1H";
|
|
|
+ string AgencyId = "3013890202";
|
|
|
+
|
|
|
+ // 查询机构政策列表
|
|
|
+ public string GetPolicyList()
|
|
|
+ {
|
|
|
+ string url = KdbApiUrl + "/marketing/plan/query/list";
|
|
|
+ //[{"id":100014,"name":"韩测试营销方案(韩测试营销方案)"}]
|
|
|
+ return PostKDB(url, "{}");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 修改费率接口
|
|
|
+ public string ModifyFee(string PosSn, decimal Fee)
|
|
|
+ {
|
|
|
+ string url = KdbApiUrl + "/pos/rate/modify/single/remote";
|
|
|
+ string content = "{\"posSn\":\"" + PosSn + "\",\"type\":\"贷记卡刷卡\",\"rate\":\"" + Fee + "\",\"d0Fee\":\"0\"}";
|
|
|
+ return PostKDB(url, content);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询费率接口
|
|
|
+ public string QueryFee(string orderNo)
|
|
|
+ {
|
|
|
+ string url = KdbApiUrl + "/pos/rate/change/query/orderno";
|
|
|
+ string content = "{\"orderNo\":\"" + orderNo + "\"}";
|
|
|
+ return PostKDB(url, content);
|
|
|
+ }
|
|
|
+
|
|
|
+ public string KDBDecrypt(string data)
|
|
|
+ {
|
|
|
+ string result = AesDecrypt(data, KDBAESKEY);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ public string AesDecrypt(string str, string key)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrEmpty(str)) return null;
|
|
|
+ byte[] toEncryptArray = Convert.FromBase64String(str);
|
|
|
+
|
|
|
+ System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
|
|
|
+ {
|
|
|
+ Key = Encoding.UTF8.GetBytes(key),
|
|
|
+ Mode = System.Security.Cryptography.CipherMode.ECB,
|
|
|
+ Padding = System.Security.Cryptography.PaddingMode.PKCS7,
|
|
|
+ };
|
|
|
+
|
|
|
+ System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
|
|
|
+ byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
|
|
|
+ return Encoding.UTF8.GetString(resultArray);
|
|
|
+ }
|
|
|
+
|
|
|
+ public string AesEncrypt(string str)
|
|
|
+ {
|
|
|
+ // if (string.IsNullOrEmpty(str)) return null;
|
|
|
+ Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);
|
|
|
+
|
|
|
+ System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
|
|
|
+ {
|
|
|
+ Key = Encoding.UTF8.GetBytes(KDBAESKEY),
|
|
|
+ Mode = System.Security.Cryptography.CipherMode.ECB,
|
|
|
+ Padding = System.Security.Cryptography.PaddingMode.PKCS7
|
|
|
+ };
|
|
|
+ System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateEncryptor();
|
|
|
+ Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
|
|
|
+ return Convert.ToBase64String(resultArray);
|
|
|
+ }
|
|
|
+
|
|
|
+ public string PostKDB(string url, string content)
|
|
|
+ {
|
|
|
+ content = AesEncrypt(content);
|
|
|
+ string timestamp = function.GetCurTimestamp().ToString();
|
|
|
+ string sign = KDBSign(content + timestamp);
|
|
|
+ string req = "{\"agencyId\":\"" + AgencyId + "\",\"content\":\"" + content + "\",\"timestamp\":\"" + timestamp + "\",\"sign\":\"" + sign + "\"}";
|
|
|
+ string result = PostWebRequestKdb(url, req, new Dictionary<string, string>());
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private string PostWebRequestKdb(string postUrl, string paramData, Dictionary<string, string> headers)
|
|
|
+ {
|
|
|
+ string ret = string.Empty;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ function.WriteLog(DateTime.Now.ToString(), "请求开店宝API日志");
|
|
|
+ function.WriteLog(postUrl, "请求开店宝API日志");
|
|
|
+ function.WriteLog(paramData, "请求开店宝API日志");
|
|
|
+ byte[] postData = System.Text.Encoding.UTF8.GetBytes(paramData);
|
|
|
+ // 设置提交的相关参数
|
|
|
+ System.Net.HttpWebRequest request = System.Net.WebRequest.Create(postUrl) as System.Net.HttpWebRequest;
|
|
|
+ System.Text.Encoding myEncoding = System.Text.Encoding.UTF8;
|
|
|
+ request.Method = "POST";
|
|
|
+ request.KeepAlive = false;
|
|
|
+ request.AllowAutoRedirect = true;
|
|
|
+ request.ContentType = "application/json";
|
|
|
+ foreach (string key in headers.Keys)
|
|
|
+ {
|
|
|
+ request.Headers.Add(key, headers[key]);
|
|
|
+ }
|
|
|
+ request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
|
|
|
+
|
|
|
+ request.ContentLength = postData.Length;
|
|
|
+
|
|
|
+ // 提交请求数据
|
|
|
+ System.IO.Stream outputStream = request.GetRequestStream();
|
|
|
+ outputStream.Write(postData, 0, postData.Length);
|
|
|
+ outputStream.Close();
|
|
|
+ System.Net.HttpWebResponse response;
|
|
|
+ System.IO.Stream responseStream;
|
|
|
+ System.IO.StreamReader reader;
|
|
|
+ string srcString;
|
|
|
+ response = request.GetResponse() as System.Net.HttpWebResponse;
|
|
|
+ responseStream = response.GetResponseStream();
|
|
|
+ reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.UTF8);
|
|
|
+ srcString = reader.ReadToEnd();
|
|
|
+ ret = srcString; //返回值赋值
|
|
|
+ reader.Close();
|
|
|
+ function.WriteLog(srcString, "请求开店宝API日志");
|
|
|
+ }
|
|
|
+ catch (System.Net.WebException ex)
|
|
|
+ {
|
|
|
+ System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)ex.Response;
|
|
|
+ System.IO.Stream myResponseStream = response.GetResponseStream();
|
|
|
+ //获取响应内容
|
|
|
+ System.IO.StreamReader myStreamReader = new System.IO.StreamReader(myResponseStream);
|
|
|
+ ret = myStreamReader.ReadToEnd();
|
|
|
+ myResponseStream.Close();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ ret = "fail";
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "请求开店宝API异常");
|
|
|
+ }
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ public string KDBSign(string data)
|
|
|
+ {
|
|
|
+ var rsa = RSA.Create();
|
|
|
+ var key = Convert.FromBase64String(Kdb_Rsa_PrivateKey);
|
|
|
+ var content = Encoding.UTF8.GetBytes(data);
|
|
|
+ rsa.ImportPkcs8PrivateKey(key, out _);
|
|
|
+ var result = rsa.SignData(content, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1);
|
|
|
+ return Convert.ToBase64String(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
#region 立刷
|
|
|
|
|
|
string LiSAgentId = "50814834";
|
|
@@ -306,9 +481,9 @@ namespace MySystem
|
|
|
string ret = string.Empty;
|
|
|
try
|
|
|
{
|
|
|
- function.WriteLog(DateTime.Now.ToString(), "请求开店宝API日志");
|
|
|
- function.WriteLog(postUrl, "请求开店宝API日志");
|
|
|
- function.WriteLog(paramData, "请求开店宝API日志");
|
|
|
+ function.WriteLog(DateTime.Now.ToString(), "请求立刷API日志");
|
|
|
+ function.WriteLog(postUrl, "请求立刷API日志");
|
|
|
+ function.WriteLog(paramData, "请求立刷API日志");
|
|
|
byte[] postData = System.Text.Encoding.UTF8.GetBytes(paramData);
|
|
|
// 设置提交的相关参数
|
|
|
System.Net.HttpWebRequest request = System.Net.WebRequest.Create(postUrl) as System.Net.HttpWebRequest;
|
|
@@ -339,12 +514,12 @@ namespace MySystem
|
|
|
srcString = reader.ReadToEnd();
|
|
|
ret = srcString; //返回值赋值
|
|
|
reader.Close();
|
|
|
- function.WriteLog(srcString, "请求开店宝API日志");
|
|
|
+ function.WriteLog(srcString, "请求立刷API日志");
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
ret = "fail";
|
|
|
- function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "请求开店宝API异常");
|
|
|
+ function.WriteLog(DateTime.Now.ToString() + "\r\n" + ex.ToString(), "请求立刷API异常");
|
|
|
}
|
|
|
return ret;
|
|
|
}
|