ソースを参照

后台修改同步更新UserStock

xjconline 2 年 前
コミット
9c5363fbea
2 ファイル変更32 行追加0 行削除
  1. 30 0
      src/manage/controls.py
  2. 2 0
      src/weixin/controls.py

+ 30 - 0
src/manage/controls.py

@@ -238,6 +238,35 @@ def update_model(cls,**kwargs):
             obj.match_group = player.match_group
             obj.username = player.username
             obj.usercode = player.usercode
+
+        #记录持股情况
+        today_stock = obj.today_stock
+        new_stock_list = []
+        today_stock_list = json.loads(today_stock)
+        for ts in today_stock_list:
+            if ts["name"]:
+                try:
+                    stock,flag = cm.Stock.objects.get_or_create(
+                        name = ts["name"] 
+                    )
+                    stock_id = stock.id
+                    usobj,flag = cm.UserStock.objects.get_or_create(
+                        user_id = user_id, 
+                        stock_id = stock_id,
+                        stock_name = ts["name"],
+                        player_id = player.id,
+                        stock_date = stock_date
+                    )
+                    if ts.get("fund"):
+                        usobj.fund = ts["fund"]
+                    usobj.save()
+                    ts["stock_id"] = stock_id
+                    new_stock_list.append(ts)
+                except Exception as e:
+                    print(e)
+        today_stock = json.dumps(new_stock_list)
+        obj.today_stock = today_stock
+
         obj.save()
 
         #更新player的init_fund
@@ -247,6 +276,7 @@ def update_model(cls,**kwargs):
         ##更新group_rank
         update_group_rank(obj.stock_date,obj.match_group,obj.match_id)
 
+
     if model_name == "UserInfo":
         ccc.del_cache("cdata_get_user_info_(%s,)"%id)
 

+ 2 - 0
src/weixin/controls.py

@@ -1872,6 +1872,8 @@ def get_all_match(request):
     #qset = cm.Match.objects.filter(start_time__lte=now).order_by("id")
     qset = cm.Match.objects.filter(match_status__in=[3,4]).order_by("-id")
     data = list(qset.values())
+    for item in data:
+        item["valid_dates"] = json.loads(item["valid_dates"]) if item["valid_dates"] else []
     return data