Explorar o código

优化抢红包接口,性能问题

lichunlei %!s(int64=3) %!d(string=hai) anos
pai
achega
c1e9455fce

+ 1 - 1
Areas/Api/Controllers/v1/Activity/ActivityRedPackageJoinsController.cs

@@ -105,7 +105,7 @@ namespace MySystem.Areas.Api.Controllers.v1
             int GetStatus = 0; //0-未达标,1-可领取,2-已领取,3-未开始,4-抢光了
             int StaStatus = 0;
             int PreStatus = 0;
-            PosMachinesTwo pos = maindb.PosMachinesTwo.FirstOrDefault(m => m.BuyUserId == UserId && m.ActivationState == 1 && m.ActivationTime >= today);
+            UserTradeMonthSummary pos = maindb.UserTradeMonthSummary.FirstOrDefault(m => m.UserId == UserId && m.SeoKeyword == DateString && m.SeoTitle == "self");
             if (pos != null)
             {
                 StaStatus = 1;

+ 8 - 1
Areas/Api/Controllers/v1/Activity/ActivityRedPackageTop10Controller.cs

@@ -30,8 +30,15 @@ namespace MySystem.Areas.Api.Controllers.v1
         {
             value = DesDecrypt(value);
             JsonData data = JsonMapper.ToObject(value);
+            string result = RedisDbconn.Instance.Get<string>("ActivityRedPackageTop10");
+            if(!string.IsNullOrEmpty(result))
+            {
+                return Json(new AppResultJson() { Status = "1", Info = "", Data = result });
+            }
             List<Dictionary<string, object>> dataList = ListDo(value);
-            return Json(new AppResultJson() { Status = "1", Info = "", Data = dataList });
+            RedisDbconn.Instance.Set("ActivityRedPackageTop10", Newtonsoft.Json.JsonConvert.SerializeObject(dataList));
+            RedisDbconn.Instance.SetExpire("ActivityRedPackageTop10", 60);
+            return Json(new AppResultJson() { Status = "1", Info = "", Data = Newtonsoft.Json.JsonConvert.SerializeObject(dataList) });
         }
         public List<Dictionary<string, object>> ListDo(string value)
         {