xjc 2 vuotta sitten
vanhempi
commit
713e533b4f
1 muutettua tiedostoa jossa 21 lisäystä ja 7 poistoa
  1. 21 7
      src/weixin/controls.py

+ 21 - 7
src/weixin/controls.py

@@ -32,7 +32,8 @@ import calendar
 
 import xlrd
 import xlwt
-from xlutils.copy import copy
+# from xlutils.copy import copy
+import copy
 from xltpl.writer import BookWriter
 from django_redis import get_redis_connection
 from constants import *
@@ -3049,14 +3050,27 @@ def get_match_winlost_top5(**kwargs):
         match_name = match.name
         end_time = match.end_time
         records = cm.PlayerRecord.get_db_model(match_id).objects.filter(stock_date=end_time)
-        if kwargs.get("order_by") == "total_income_ratio":
-            records = records.order_by("total_income")
-        if kwargs.get("order_by") == "-total_income_ratio":
-            records = records.order_by("-total_income")
-        records = list(records.values()[:5])
+        total_income_up   = copy.copy(records)
+        total_income_up   = total_income_up.order_by("total_income")
+        total_income_up   = list(total_income_up.values()[:5])
+
+        total_income_down = copy.copy(records)
+        total_income_down = total_income_down.order_by("-total_income")
+        total_income_down = list(total_income_down.values()[:5])
+
+        records = list(records.values())
         for item in records:
             item["total_win"] = item["today_fund"] - item["init_fund"]
-        data.append({"match_id":match_id,"match_name":match_name,"top5records":records})
+
+        total_win_up = copy.copy(records)
+        total_win_up = sorted(total_win_up,key=lambda x:x["total_win"])
+        total_win_up = total_win_up[:5]
+
+        total_win_down = copy.copy(records)
+        total_win_down = sorted(total_win_down,key=lambda x:x["total_win"],reverse=True)
+        total_win_down = total_win_down[:5]
+
+        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})
     return data