Parcourir la source

更新大盟主标记扫描方法

lichunlei il y a 2 ans
Parent
commit
d21049d256
1 fichiers modifiés avec 62 ajouts et 27 suppressions
  1. 62 27
      Controllers/HomeController.cs

+ 62 - 27
Controllers/HomeController.cs

@@ -926,62 +926,84 @@ namespace MySystem.Controllers
         {
             WebCMSEntities db = new WebCMSEntities();
             List<int> ids = new List<int>();
-            List<PosCouponRecord> records = db.PosCouponRecord.Where(m => m.FromUserId == 123354).ToList();
-            foreach(PosCouponRecord record in records)
+            // List<PosCouponRecord> records = db.PosCouponRecord.Where(m => m.FromUserId == 597).ToList();
+            // foreach(PosCouponRecord record in records)
+            // {
+            //     ids.Add(record.PosCouponId);
+            // }
+            ids.Add(6843);
+            List<PosCoupons> coupons = db.PosCoupons.Where(m => ids.Contains(m.Id) && m.IsUse == 1).ToList();
+            foreach (PosCoupons coupon in coupons)
             {
-                ids.Add(record.PosCouponId);
+                PosSns.Add(coupon.ExchangeCode);
             }
-            List<PosCoupons> coupons = db.PosCoupons.Where(m => ids.Contains(m.Id) && m.IsUse == 1).ToList();
             foreach (PosCoupons coupon in coupons)
             {
-                MachineApply apply = db.MachineApply.FirstOrDefault(m => m.SwapSnExpand.Contains(coupon.ExchangeCode));
-                if(apply != null)
-                {
-                    Orders order = db.Orders.FirstOrDefault(m => m.Id == apply.QueryCount);
-                    if(order != null)
-                    {
-                        if(!string.IsNullOrEmpty(order.SnNos))
-                        {
-                            string[] SwapSnExpands = order.SnNos.TrimEnd('\n').Split('\n');
-                            foreach(string no in SwapSnExpands)
-                            {
-                                ChildNo(db, no, coupon.LeaderUserId);
-                            }
-                        }
-                    }
-                }
+                ChildNo(db, coupon.ExchangeCode, coupon.ExchangeCode, coupon.LeaderUserId);
             }
             // db.SaveChanges();
             db.Dispose();
             return "ok";
         }
         List<string> nos = new List<string>();
-        private void ChildNo(WebCMSEntities db, string CheckNo, int LeaderUserId)
+        private void ChildNo(WebCMSEntities db, string RootCheckNo, string CheckNo, int LeaderUserId)
         {
             MachineApply apply = db.MachineApply.FirstOrDefault(m => m.SwapSnExpand.Contains(CheckNo));
             if(apply != null)
             {
+                int len = 0;
+                string[] SnList = apply.SwapSnExpand.TrimEnd('\n').Split('\n');
+                foreach(string sn in SnList)
+                {
+                    if(PosSns.Contains(sn.Split(':')[0]) || nos.Contains(sn.Split(':')[0]))
+                    {
+                        len += 1;
+                    }
+                }
                 Orders order = db.Orders.FirstOrDefault(m => m.Id == apply.QueryCount);
                 if(order != null)
                 {
                     if(!string.IsNullOrEmpty(order.SnNos))
                     {
-                        string[] SwapSnExpands = order.SnNos.TrimEnd('\n').Split('\n');
-                        foreach(string no in SwapSnExpands)
+                        if(order.SnNos.Contains(","))
+                        {
+                            string[] SwapSnExpands = order.SnNos.TrimEnd(',').Split(',');
+                            int index = 0;
+                            foreach(string no in SwapSnExpands)
+                            {
+                                if(!nos.Contains(no) && index < len)
+                                {
+                                    index += 1;
+                                    nos.Add(no);
+                                    ChildNo(db, RootCheckNo, no, LeaderUserId);
+                                }
+                            }
+                        }
+                        else
                         {
-                            ChildNo(db, no, LeaderUserId);
+                            string[] SwapSnExpands = order.SnNos.TrimEnd('\n').Split('\n');
+                            int index = 0;
+                            foreach(string no in SwapSnExpands)
+                            {
+                                if(!nos.Contains(no) && index < len)
+                                {
+                                    index += 1;
+                                    nos.Add(no);
+                                    ChildNo(db, RootCheckNo, no, LeaderUserId);
+                                }
+                            }
                         }
                     }
                     else
                     {
                         MachineForSnNo forSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == CheckNo) ?? new MachineForSnNo();
-                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m=>m.Id == forSnNo.SnId);
+                        PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == forSnNo.SnId);
                         if(pos != null)
                         {
                             // pos.LeaderUserId = LeaderUserId;
                             // Library.function.WriteLog(LeaderUserId + ":" + pos.PosSn + ":" + apply.SwapSnExpand.TrimEnd('\n').Split('\n').Length, "大盟主奖励标记机具");
                             Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
-                            Library.function.WriteLog(pos.PosSn + ":" + user.MakerCode + ":" + user.RealName, "大盟主奖励标记机具");
+                            Library.function.WriteLog(pos.PosSn + ":" + RootCheckNo + ":" + user.MakerCode + ":" + user.RealName, "大盟主奖励标记机具");
                         }
                     }
                 }
@@ -995,10 +1017,23 @@ namespace MySystem.Controllers
                     // pos.LeaderUserId = LeaderUserId;
                     // Library.function.WriteLog(LeaderUserId + ":" + pos.PosSn, "大盟主奖励标记机具");
                     Users user = db.Users.FirstOrDefault(m => m.Id == pos.BuyUserId) ?? new Users();
-                    Library.function.WriteLog(pos.PosSn + ":" + user.MakerCode + ":" + user.RealName, "大盟主奖励标记机具");
+                    Library.function.WriteLog(pos.PosSn + ":" + RootCheckNo + ":" + user.MakerCode + ":" + user.RealName, "大盟主奖励标记机具");
                 }
             }
         }
+        List<string> PosSns = new List<string>();
+        public string ScanNos()
+        {
+            PosSns = new List<string>();
+            PosSns.Add("00005002681889125851");
+            WebCMSEntities db = new WebCMSEntities();
+            foreach(string PosSn in PosSns)
+            {
+                ChildNo(db, PosSn, PosSn, 0);
+            }
+            db.Dispose();
+            return "ok";
+        }
         
 
         //补推荐奖励