xjc 2 years ago
parent
commit
a10167518f
2 changed files with 22 additions and 6 deletions
  1. 1 0
      src/common/models.py
  2. 21 6
      src/weixin/controls.py

+ 1 - 0
src/common/models.py

@@ -598,6 +598,7 @@ class BaikeDetail(models.Model):
     cname = models.CharField(u"创建人名称", max_length=255, blank=True,null=True)  
     editor = models.CharField(u"editor", max_length=255, blank=True,null=True)  
     status = models.SmallIntegerField(u"0/待发布,1/已发布",default=0)
+    img = models.TextField(u"咨询图片", max_length=255, blank=True,null=True)
                                                                                    
     ctime = models.DateTimeField(u"创建时间",auto_now_add=True)                    
                                                                                    

+ 21 - 6
src/weixin/controls.py

@@ -3023,7 +3023,7 @@ def get_random_bake_list(**kwargs):
     baikes = list(cm.BaikeDetail.objects.all().values())
     randomi = []
     while len(randomi) < 5:
-        num = random.randint(0,len(baikes))
+        num = random.randint(0,len(baikes)-1)
         if not num in randomi:
             randomi.append(num)
     rst = [baikes[x] for x in randomi]
@@ -3044,35 +3044,50 @@ def get_match_winlost_top5(**kwargs):
     """
     """
     data = []
-    matchs = cm.Match.objects.filter(id__gte=8)
+    matchs = cm.Match.objects.filter(id__gte=8).order_by("id")
     for match in matchs:
         match_id = match.id
         match_name = match.name
         end_time = match.end_time
         records = cm.PlayerRecord.get_db_model(match_id).objects.filter(stock_date=end_time)
         total_income_up   = copy.copy(records)
-        total_income_up   = total_income_up.order_by("total_income")
+        total_income_up   = total_income_up.order_by("-total_income")
         total_income_up   = list(total_income_up.values()[:5])
+        get_user_avatar(total_income_up)
 
         total_income_down = copy.copy(records)
-        total_income_down = total_income_down.order_by("-total_income")
+        total_income_down = total_income_down.order_by("total_income")
         total_income_down = list(total_income_down.values()[:5])
+        get_user_avatar(total_income_down)
 
         records = list(records.values())
         for item in records:
             item["total_win"] = item["today_fund"] - item["init_fund"]
 
         total_win_up = copy.copy(records)
-        total_win_up = sorted(total_win_up,key=lambda x:x["total_win"])
+        total_win_up = sorted(total_win_up,key=lambda x:x["total_win"],reverse=True)
         total_win_up = total_win_up[:5]
+        get_user_avatar(total_win_up)
 
         total_win_down = copy.copy(records)
-        total_win_down = sorted(total_win_down,key=lambda x:x["total_win"],reverse=True)
+        total_win_down = sorted(total_win_down,key=lambda x:x["total_win"])
         total_win_down = total_win_down[:5]
+        get_user_avatar(total_win_down)
 
         data.append({"match_id":match_id,"match_name":match_name,"total_income_up":total_income_up,"total_income_down":total_income_down,"total_win_up":total_win_up,"total_win_down":total_win_down})
+
+        if int(kwargs.get("new",0)) == 1:
+            break
+
     return data
 
+def get_user_avatar(records):
+    for item in records:
+        userinfo = get_user_info_actual(item["user_id"])
+        if userinfo:
+            item["avatar"]    = userinfo.get("avatar")
+        else:
+            item["avatar"]    = ""