فهرست منبع

POS机绑定数据,重复推送逻辑变更

lcl 1 سال پیش
والد
کامیت
e4caf6e8f5
2فایلهای تغییر یافته به همراه19 افزوده شده و 4 حذف شده
  1. 2 2
      AppStart/Helper/PosPushDataNewHelper.cs
  2. 17 2
      AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

+ 2 - 2
AppStart/Helper/PosPushDataNewHelper.cs

@@ -13,7 +13,7 @@ namespace MySystem
         { }
 
         //绑定数据
-        public static void Bind(Merchants mer)
+        public static void Bind(Merchants mer, string rnd = "")
         {
             try
             {
@@ -27,7 +27,7 @@ namespace MySystem
                 dataContent.Add("id_card", mer.MerIdcardNo); //商户身份证
                 dataContent.Add("mer_name", mer.MerName); //商户姓名
                 dataContent.Add("mer_mobile", mer.MerMobile); //商户手机号
-                dataContent.Add("request_id", getRequestId(mer.SnNo + mer.MerNo, "bind")); //流水号
+                dataContent.Add("request_id", getRequestId(mer.SnNo + mer.MerNo + rnd, "bind")); //流水号
                 dataContent.Add("bind_time", mer.CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss")); //绑定时间
                 dataContent.Add("brand", int.Parse(function.CheckInt(mer.ProductType))); //品牌
                 if(mer.ProductType == "29")

+ 17 - 2
AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

@@ -41,6 +41,11 @@ namespace MySystem
                         {
                             if (Mer.Field2 != "解绑" && Mer.Field2 != "UNBIND")
                             {
+                                string rnd = "";
+                                if (!Utils.Instance.IsWifi(int.Parse(Mer.ProductType)) && !Utils.Instance.IsHaoDa(int.Parse(Mer.ProductType)) && Mer.ProductType != "14")
+                                {
+                                    rnd = GetRandom(spdb, Mer.SnNo, Mer.MerNo);
+                                }
                                 if (Utils.Instance.IsWifi(int.Parse(Mer.ProductType)))
                                 {
                                     Mer.MerNo = Mer.SnNo;
@@ -75,12 +80,12 @@ namespace MySystem
                                         {
                                             Mer.MerMobile = merInfo.Field2;
                                         }
-                                        PosPushDataNewHelper.Bind(Mer);
+                                        PosPushDataNewHelper.Bind(Mer, rnd);
                                     }
                                 }
                                 else if (!Utils.Instance.IsHaoDa(int.Parse(Mer.ProductType)))
                                 {
-                                    PosPushDataNewHelper.Bind(Mer);
+                                    PosPushDataNewHelper.Bind(Mer, rnd);
                                 }
                             }
                             Merchants edit = spdb.Merchants.FirstOrDefault(m => m.Id == Mer.Id);
@@ -111,6 +116,16 @@ namespace MySystem
             }
         }
 
+        public string GetRandom(WebCMSEntities spdb, string sn, string merno)
+        {
+            var list = spdb.BindRecord.Select(m => new { m.MerSnNo, m.MerNo, m.CreateTime }).Where(m => m.MerSnNo == sn && m.MerNo == merno).ToList().Select(m => m.CreateTime).Distinct().ToList();
+            if(list.Count > 1)
+            {
+                return function.get_Random(5);
+            }
+            return "";
+        }
+
         public void WifiSendPrize(PxcModels.WebCMSEntities db, PxcModels.PosMachinesTwo pos, PxcModels.PosMerchantInfo add)
         {
             PxcModels.WifiTradeRecord trade = db.WifiTradeRecord.FirstOrDefault(m => m.SnNo == pos.PosSn && m.Status == 0);