Jelajahi Sumber

商城购买券,如果被其他线程抢占了,则另外查找一张券

lcl 10 bulan lalu
induk
melakukan
316e0938ac
1 mengubah file dengan 5 tambahan dan 1 penghapusan
  1. 5 1
      AppStart/Helper/AlipayPayBack2Service.cs

+ 5 - 1
AppStart/Helper/AlipayPayBack2Service.cs

@@ -196,7 +196,11 @@ namespace MySystem
                             }
                             foreach (var coupon in coupons) // TODO: 数量多的话,会慢
                             {
-                                PosCoupons item = db.PosCoupons.FirstOrDefault(m => m.Id == coupon.Id);
+                                PosCoupons item = db.PosCoupons.FirstOrDefault(m => m.Id == coupon.Id && m.IsLock == 0 && m.IsUse == 0 && m.Sort == 0 && m.UserId == 0 && m.QueryCount == Kind);
+                                if(item == null) //如果被其他线程抢占了,则另外查找一张券
+                                {
+                                    item = db.PosCoupons.FirstOrDefault(m => m.IsLock == 0 && m.IsUse == 0 && m.Sort == 0 && m.UserId == 0 && m.QueryCount == Kind);
+                                }
                                 if (item != null)
                                 {
                                     item.CreateDate = DateTime.Now;