Эх сурвалжийг харах

增加押金奖励发放队列

lcl 1 жил өмнө
parent
commit
6d519005f7

+ 35 - 3
AppStart/Helper/StatService.cs

@@ -3070,9 +3070,41 @@ namespace MySystem
         }
 
 
-
-
-        //退押金时发放剩余激活奖励
+        
+        //押金奖励发放
+        public void StartPreActPrize()
+        {
+            Thread th = new Thread(StartPreActPrizeDo);
+            th.IsBackground = true;
+            th.Start();
+        }
+        public void StartPreActPrizeDo()
+        {
+            while(true)
+            {
+                string content = RedisDbconn.Instance.RPop<string>("DepositActPrizeQueue");
+                if(!string.IsNullOrEmpty(content))
+                {
+                    try
+                    {
+                        int PosId = int.Parse(content);
+                        WebCMSEntities db = new WebCMSEntities();
+                        PxcModels.PosMachinesTwo pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == PosId) ?? new PxcModels.PosMachinesTwo();
+                        PxcModels.PosMerchantInfo merchant = db.PosMerchantInfo.FirstOrDefault(m => m.Id == pos.BindMerchantId) ?? new PxcModels.PosMerchantInfo();
+                        PreActPrize(db, pos, merchant, pos.SeoKeyword);
+                        db.Dispose();
+                    }
+                    catch(Exception ex)
+                    {
+                        function.WriteLog(DateTime.Now.ToString() + "\nPosId:" + content + "\n" + ex.ToString(), "押金奖励发放异常");
+                    }
+                }
+                else
+                {
+                    Thread.Sleep(10000);
+                }
+            }
+        }
         public void PreActPrize(WebCMSEntities db, PosMachinesTwo pos, PosMerchantInfo merchant, string Deposit)
         {
             decimal DepositNumber = decimal.Parse(function.CheckNum(Deposit));

+ 1 - 0
Startup.cs

@@ -184,6 +184,7 @@ namespace MySystem
                 StatService.Instance.StartSimActive(); //实时广电卡激活奖励
                 StatService.Instance.StartOpenReward(); //实时获取开机奖励
                 StatService.Instance.StartLeaderReward(); //盟主开机奖励发放
+                StatService.Instance.StartPreActPrize(); //押金奖励发放(激活奖励新规)
                 StatService.Instance.ListenFluxRecord(); //同步流量费
                 LeaderPrizeService.Instance.Start(); //大盟主奖励发奖
                 OperatePrizeService.Instance.Start(); //运营中心奖励发奖