Parcourir la source

防止盒易付重新推送绑定消息判断

lcl il y a 2 ans
Parent
commit
410a02dbe8

+ 36 - 4
AppStart/Helper/SycnSpServer/SycnSpBindService.cs

@@ -150,11 +150,43 @@ namespace MySystem
                                 }
                                 else
                                 {
-                                    BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
-                                    if (edit != null)
+                                    if(pos.BrandId == 12 && pos.BrandId == 13)
                                     {
-                                        edit.Status = 0;
-                                        spdb.SaveChanges();
+                                        pos = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == Bind.MerSnNo && m.BindingState == 1);
+                                        if (pos != null)
+                                        {
+                                            string MerNo = Bind.MerNo;
+                                            PxcModels.MachineForMerNo merFor = db.MachineForMerNo.FirstOrDefault(m => m.MerNo == MerNo);
+                                            if (merFor == null)
+                                            {
+                                                merFor = db.MachineForMerNo.Add(new PxcModels.MachineForMerNo()
+                                                {
+                                                    MerNo = MerNo,
+                                                    SnId = pos.Id,
+                                                }).Entity;
+                                            }
+                                            else
+                                            {
+                                                merFor.SnId = pos.Id;
+                                            }
+                                            db.SaveChanges();
+
+                                            BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
+                                            if (edit != null)
+                                            {
+                                                edit.Status = 2;
+                                                spdb.SaveChanges();
+                                            }
+                                        }
+                                    }
+                                    else
+                                    {
+                                        BindRecord edit = spdb.BindRecord.FirstOrDefault(m => m.Id == Bind.Id);
+                                        if (edit != null)
+                                        {
+                                            edit.Status = 0;
+                                            spdb.SaveChanges();
+                                        }
                                     }
                                 }
                             }

+ 13 - 0
AppStart/Helper/SycnSpServer/SycnSpMerchantService.cs

@@ -58,6 +58,11 @@ namespace MySystem
                                 }
 
                                 PxcModels.PosMerchantInfo add = db.PosMerchantInfo.FirstOrDefault(m => m.KqMerNo == Mer.MerNo);
+                                //防盒易付重推判断
+                                if(pos.BrandId == 12 && pos.BrandId == 13)
+                                {
+                                    add = db.PosMerchantInfo.FirstOrDefault(m => m.KqSnNo == Mer.SnNo && m.MerIdcardNo == Mer.MerIdcardNo && m.MerchantName == Mer.MerName);
+                                }
                                 //如果是好哒和WIFI品牌需要和SN一起判断
                                 if(pos.BrandId >= 18 && pos.BrandId <= 21)
                                 {
@@ -147,6 +152,14 @@ namespace MySystem
                                     db.SaveChanges();
                                     function.WriteLog("MerNo:" + Mer.MerNo + ",PosSn:" + pos.PosSn + ",IsFirst:" + IsFirst + "\n\n", "监控机具是否互斥");
                                 }
+                                else
+                                {
+                                    if(pos.BrandId == 12 && pos.BrandId == 13)
+                                    {
+                                        add.KqMerNo = Mer.MerNo;
+                                        add.MerchantNo = Mer.MerNo.Length > 16 ? Mer.MerNo.Substring(0, 16) : Mer.MerNo;
+                                    }
+                                }
                                 if(pos.BrandId >= 23 && pos.BrandId <= 26)
                                 {
                                     add.KqMerNo = Mer.SnNo;