瀏覽代碼

金控30元奖励开放4月的机具

lichunlei 2 年之前
父節點
當前提交
30fc30e655

+ 181 - 6
AppStart/Helper/SetDepositPostService.cs

@@ -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;
         }

+ 1 - 1
AppStart/Helper/StatService.cs

@@ -314,7 +314,7 @@ namespace MySystem
         }
         private void doJk30(WebCMSEntities db, PosMachinesTwo pos, PosMerchantInfo merchant, int GetUserId, string ParentNav, int TopUserId)
         {
-            DateTime check = DateTime.Parse("2022-04-01 00:00:00");
+            DateTime check = DateTime.Parse("2022-05-01 00:00:00");
             if((pos.BrandId == 1 || pos.BrandId == 3) && pos.CreateDate < check)
             {
                 decimal amt = 0;

+ 6 - 5
AppStart/Helper/SycnSpServer/SycnSpTradeService.cs

@@ -196,11 +196,12 @@ namespace MySystem
                                         {
                                             ulong MerHelpFlag = 0;
                                             decimal DepositAmt = decimal.Parse(function.CheckNum(pos.SeoKeyword));
-                                            if (pos.DownFeeFlag == 1)
-                                            {
-                                                MerHelpFlag = 2;
-                                            }
-                                            else if (DepositAmt > 0 && pos.IsFirst == 1)
+                                            // if (pos.DownFeeFlag == 1)
+                                            // {
+                                            //     MerHelpFlag = 2;
+                                            // }
+                                            // else 
+                                            if (DepositAmt > 0 && pos.IsFirst == 1)
                                             {
                                                 int Days = int.Parse(RedisDbconn.Instance.Get<string>("pobjrule:" + pos.BrandId + ":HelpPolicy:Days")); //天数
                                                 if (pos.BindingTime != null)

+ 1 - 1
Startup.cs

@@ -210,7 +210,7 @@ namespace MySystem
             HelpProfitPreMerchantHelper.Instance.Start();
             SetDepositService.Instance.Start(); //调整费率(通知、标记)
             SetDepositPostService.Instance.Start(); //提交支付公司设置费率接口
-            SetFeeFlagService.Instance.Start(); //178天提前通知创客费率调升消息
+            // SetFeeFlagService.Instance.Start(); //178天提前通知创客费率调升消息
 
             // StatService.Instance.StartPosActNum(); //实时统计激活数
             // StatService.Instance.StartNewUserNum(); //实时统计新增创客数