|
@@ -27,11 +27,13 @@ from threading import Thread
|
|
|
#from django.core.cache import cache
|
|
#from django.core.cache import cache
|
|
|
from django.db import connection
|
|
from django.db import connection
|
|
|
from utils.wxSubscribeMessage import send_consult_reply_message
|
|
from utils.wxSubscribeMessage import send_consult_reply_message
|
|
|
|
|
+from utils.aliyunpush import aliyunpush
|
|
|
|
|
|
|
|
import xlrd
|
|
import xlrd
|
|
|
import xlwt
|
|
import xlwt
|
|
|
from xlutils.copy import copy
|
|
from xlutils.copy import copy
|
|
|
from xltpl.writer import BookWriter
|
|
from xltpl.writer import BookWriter
|
|
|
|
|
+from weixin.wzhifuSDK_V3 import refund_order
|
|
|
|
|
|
|
|
@ccc.cache_data()
|
|
@ccc.cache_data()
|
|
|
def get_user_info(uid):
|
|
def get_user_info(uid):
|
|
@@ -280,6 +282,8 @@ def delete_model(cls,**kwargs):
|
|
|
if model_name == "MatchGroup":
|
|
if model_name == "MatchGroup":
|
|
|
cm.PlayerRecord.objects.filter(match_group__in=ids).delete()
|
|
cm.PlayerRecord.objects.filter(match_group__in=ids).delete()
|
|
|
cm.Player.objects.filter(match_group__in=ids).delete()
|
|
cm.Player.objects.filter(match_group__in=ids).delete()
|
|
|
|
|
+ if model_name == "BaikeCategory":
|
|
|
|
|
+ cm.BaikeDetail.objects.filter(category_id__in=ids).delete()
|
|
|
|
|
|
|
|
return ids
|
|
return ids
|
|
|
|
|
|
|
@@ -292,7 +296,7 @@ def get_search_list(cls,**kwargs):
|
|
|
qset = model.objects.all().order_by("-id")
|
|
qset = model.objects.all().order_by("-id")
|
|
|
if model_name == "Player":
|
|
if model_name == "Player":
|
|
|
if kwargs.get("usercode"):
|
|
if kwargs.get("usercode"):
|
|
|
- qset = qset.filter(usercode__icontains=kwargs.get("usercode"))
|
|
|
|
|
|
|
+ qset = qset.filter(Q(usercode__icontains=kwargs.get("usercode"))|Q(username__icontains=kwargs.get("usercode"))|Q(phone__icontains=kwargs.get("usercode")))
|
|
|
data = list(qset.values("id","user_id","username","usercode"))
|
|
data = list(qset.values("id","user_id","username","usercode"))
|
|
|
for item in data:
|
|
for item in data:
|
|
|
item["label"] = "%s(%s)" % (item["username"],item["usercode"])
|
|
item["label"] = "%s(%s)" % (item["username"],item["usercode"])
|
|
@@ -401,7 +405,6 @@ def get_list_info(cls,**kwargs):
|
|
|
if kwargs.get("match_id"):
|
|
if kwargs.get("match_id"):
|
|
|
qset = qset.filter(match_id=kwargs.get("match_id"))
|
|
qset = qset.filter(match_id=kwargs.get("match_id"))
|
|
|
if kwargs.get("username"):
|
|
if kwargs.get("username"):
|
|
|
- #qset = qset.filter(Q(user_name__icontains=kwargs.get("username"))|Q(phone__icontains=kwargs.get("username"))|Q(transaction_id__icontains=kwargs.get("username")))
|
|
|
|
|
qset = qset.filter(Q(user_name__icontains=kwargs.get("username"))|Q(phone__icontains=kwargs.get("username")))
|
|
qset = qset.filter(Q(user_name__icontains=kwargs.get("username"))|Q(phone__icontains=kwargs.get("username")))
|
|
|
if kwargs.get("signup_type"):
|
|
if kwargs.get("signup_type"):
|
|
|
qset = qset.filter(signup_type=kwargs.get("signup_type"))
|
|
qset = qset.filter(signup_type=kwargs.get("signup_type"))
|
|
@@ -413,15 +416,22 @@ def get_list_info(cls,**kwargs):
|
|
|
if model_name == "Article":
|
|
if model_name == "Article":
|
|
|
if kwargs.get("type"):
|
|
if kwargs.get("type"):
|
|
|
qset = qset.filter(type=kwargs.get("type"))
|
|
qset = qset.filter(type=kwargs.get("type"))
|
|
|
|
|
+ if kwargs.get("category"):
|
|
|
|
|
+ qset = qset.filter(category=kwargs.get("category"))
|
|
|
if model_name == "Stock":
|
|
if model_name == "Stock":
|
|
|
if kwargs.get("username"):
|
|
if kwargs.get("username"):
|
|
|
qset = qset.filter(name__icontains=kwargs.get("username"))
|
|
qset = qset.filter(name__icontains=kwargs.get("username"))
|
|
|
|
|
|
|
|
|
|
+ if model_name == "BaikeDetail":
|
|
|
|
|
+ if kwargs.get("name"):
|
|
|
|
|
+ qset = qset.filter(name__icontains=kwargs.get("name"))
|
|
|
|
|
+ if kwargs.get("status"):
|
|
|
|
|
+ qset = qset.filter(status=kwargs.get("status"))
|
|
|
|
|
+ if kwargs.get("category_id"):
|
|
|
|
|
+ qset = qset.filter(category_id=kwargs.get("category_id"))
|
|
|
|
|
+
|
|
|
if model_name == "PlayerRecord":
|
|
if model_name == "PlayerRecord":
|
|
|
- if kwargs.get("username"):
|
|
|
|
|
- data = list(qset.order_by("-stock_date").values())
|
|
|
|
|
- else:
|
|
|
|
|
- data = list(qset.order_by("-total_income").values())
|
|
|
|
|
|
|
+ data = list(qset.order_by("-total_income").values())
|
|
|
else:
|
|
else:
|
|
|
data = list(qset.order_by("-id").values())
|
|
data = list(qset.order_by("-id").values())
|
|
|
page = int(kwargs.get("page",1))
|
|
page = int(kwargs.get("page",1))
|
|
@@ -438,12 +448,6 @@ def get_list_info(cls,**kwargs):
|
|
|
item["openid"] = user["openid"]
|
|
item["openid"] = user["openid"]
|
|
|
item["player_type"] = user["player_type"]
|
|
item["player_type"] = user["player_type"]
|
|
|
item["phone"] = user["phone"]
|
|
item["phone"] = user["phone"]
|
|
|
- #try:
|
|
|
|
|
- # item["match_group"] = int(item["match_group"])
|
|
|
|
|
- # item["match_group_name"] = cm.MatchGroup.objects.filter(id=int(item["match_group"])).first().name
|
|
|
|
|
- #except:
|
|
|
|
|
- # pass
|
|
|
|
|
- #cm.Player.objects.filter(id=item["id"]).update(username=user.username,usercode=user.usercode)
|
|
|
|
|
if model_name == "PlayerRecord":
|
|
if model_name == "PlayerRecord":
|
|
|
for item in data:
|
|
for item in data:
|
|
|
user = cm.UserInfo.objects.filter(id=item["user_id"]).first()
|
|
user = cm.UserInfo.objects.filter(id=item["user_id"]).first()
|
|
@@ -507,11 +511,7 @@ def get_list_info(cls,**kwargs):
|
|
|
item["usercode"] = user.usercode
|
|
item["usercode"] = user.usercode
|
|
|
|
|
|
|
|
if kwargs.get("username"):
|
|
if kwargs.get("username"):
|
|
|
- print(111111111111111111)
|
|
|
|
|
- print(data)
|
|
|
|
|
- print(kwargs.get("username"))
|
|
|
|
|
data = filter(lambda x:x["username"] == str(kwargs.get("username")) or kwargs.get("username") ==x["usercode"],data)
|
|
data = filter(lambda x:x["username"] == str(kwargs.get("username")) or kwargs.get("username") ==x["usercode"],data)
|
|
|
- print(data,22222222222222)
|
|
|
|
|
|
|
|
|
|
return (total,data)
|
|
return (total,data)
|
|
|
else:
|
|
else:
|
|
@@ -675,7 +675,7 @@ def update_group_rank(stock_date=None,match_id=None,group_id=None):
|
|
|
ccc.pl.execute()
|
|
ccc.pl.execute()
|
|
|
|
|
|
|
|
winset = cm.PlayerRecord.get_db_model(match_id).objects.filter(
|
|
winset = cm.PlayerRecord.get_db_model(match_id).objects.filter(
|
|
|
- match_id=match_id,match_group=match_group)\
|
|
|
|
|
|
|
+ match_id=match_id,match_group=match_group,today_income__gte=0)\
|
|
|
.values("user_id").annotate(wincnt=Count("user_id")).values("user_id","match_id","match_group","wincnt")
|
|
.values("user_id").annotate(wincnt=Count("user_id")).values("user_id","match_id","match_group","wincnt")
|
|
|
|
|
|
|
|
totalset = cm.PlayerRecord.get_db_model(match_id).objects.filter(
|
|
totalset = cm.PlayerRecord.get_db_model(match_id).objects.filter(
|
|
@@ -782,7 +782,6 @@ def get_wanzhu_consult_list(**kwargs):
|
|
|
userinfo = get_user_info(user_id)
|
|
userinfo = get_user_info(user_id)
|
|
|
if userinfo:
|
|
if userinfo:
|
|
|
item["user_code"] = userinfo.get("usercode")
|
|
item["user_code"] = userinfo.get("usercode")
|
|
|
- item["phone"] = userinfo.get("phone")
|
|
|
|
|
|
|
|
|
|
#分页
|
|
#分页
|
|
|
page = int(kwargs.get("page",1))
|
|
page = int(kwargs.get("page",1))
|
|
@@ -812,20 +811,63 @@ def reply_wanzhu_consult(**kwargs):
|
|
|
pid = kwargs.get("pid")
|
|
pid = kwargs.get("pid")
|
|
|
content = kwargs.get("reply_content")
|
|
content = kwargs.get("reply_content")
|
|
|
user_id = kwargs.get("user_id")
|
|
user_id = kwargs.get("user_id")
|
|
|
- cm.WanzhuConsult.objects.create(
|
|
|
|
|
- pid = pid,
|
|
|
|
|
- reply_content = content,
|
|
|
|
|
- user_id = 0,
|
|
|
|
|
- player_id = 0,
|
|
|
|
|
- reply_user_id = user_id
|
|
|
|
|
- )
|
|
|
|
|
- cm.Consult.objects.filter(user_id=user_id).update(reply_status=1,reply_content=content,ctime=datetime.datetime.now())
|
|
|
|
|
|
|
+ action = kwargs.get("action")
|
|
|
|
|
+ if action == "send":
|
|
|
|
|
+ user = cm.UserInfo.objects.filter(id=user_id).first()
|
|
|
|
|
+ user_name = user.username
|
|
|
|
|
+ user_avatar = user.avatar
|
|
|
|
|
+
|
|
|
|
|
+ obj,flag = cm.Consult.objects.get_or_create(
|
|
|
|
|
+ user_id = user_id,
|
|
|
|
|
+ )
|
|
|
|
|
+ obj.user_name = user_name
|
|
|
|
|
+ obj.user_avatar = user_avatar
|
|
|
|
|
+ #obj.reply_content = content
|
|
|
|
|
+ obj.view_status = 1
|
|
|
|
|
+ obj.reply_status = 0
|
|
|
|
|
+ obj.ctime = datetime.datetime.now()
|
|
|
|
|
+ obj.save()
|
|
|
|
|
+
|
|
|
|
|
+ wanzhu_obj = cm.WanzhuConsult.objects.create(
|
|
|
|
|
+ user_id = user_id,
|
|
|
|
|
+ user_name = user_name,
|
|
|
|
|
+ user_avatar = user_avatar
|
|
|
|
|
+ )
|
|
|
|
|
+
|
|
|
|
|
+ wanzhu_obj_1 = cm.WanzhuConsult.objects.create(
|
|
|
|
|
+ reply_content = content,
|
|
|
|
|
+ user_id = 0,
|
|
|
|
|
+ player_id = 0,
|
|
|
|
|
+ reply_user_id = user_id,
|
|
|
|
|
+ pid = wanzhu_obj.id
|
|
|
|
|
+ )
|
|
|
|
|
+ cm.Consult.objects.filter(user_id=user_id).update(reply_status=1,reply_content=content,ctime=datetime.datetime.now())
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ else:
|
|
|
|
|
+ cm.WanzhuConsult.objects.create(
|
|
|
|
|
+ pid = pid,
|
|
|
|
|
+ reply_content = content,
|
|
|
|
|
+ user_id = 0,
|
|
|
|
|
+ player_id = 0,
|
|
|
|
|
+ reply_user_id = user_id
|
|
|
|
|
+ )
|
|
|
|
|
+ cm.Consult.objects.filter(user_id=user_id).update(reply_status=1,reply_content=content,ctime=datetime.datetime.now())
|
|
|
#发送消息提醒
|
|
#发送消息提醒
|
|
|
if cm.UserInfo.objects.filter(id=user_id).exists():
|
|
if cm.UserInfo.objects.filter(id=user_id).exists():
|
|
|
user = cm.UserInfo.objects.filter(id=user_id).first()
|
|
user = cm.UserInfo.objects.filter(id=user_id).first()
|
|
|
openid = user.openid
|
|
openid = user.openid
|
|
|
username = user.username
|
|
username = user.username
|
|
|
- send_consult_reply_message(openid,username)
|
|
|
|
|
|
|
+ try:
|
|
|
|
|
+ send_consult_reply_message(openid,username)
|
|
|
|
|
+ except Exception as e:
|
|
|
|
|
+ print(e)
|
|
|
|
|
+ #发送app推送消息
|
|
|
|
|
+ title = u"顽主杯"
|
|
|
|
|
+ body = u"你收到一条顽主的消息"
|
|
|
|
|
+ params = {"type":"message","id":str(user_id)}
|
|
|
|
|
+ aliyunpush.push_notice_by_userid(user_id,title,body,params,"ios")
|
|
|
|
|
+ aliyunpush.push_notice_by_userid(user_id,title,body,params,"android")
|
|
|
|
|
|
|
|
def update_player_type(**kwargs):
|
|
def update_player_type(**kwargs):
|
|
|
"""
|
|
"""
|
|
@@ -972,3 +1014,70 @@ def batch_update_player_latest(record):
|
|
|
#win_rate = wincnt/float(total) if total else 0.0
|
|
#win_rate = wincnt/float(total) if total else 0.0
|
|
|
#win_rate = round(win_rate,3)
|
|
#win_rate = round(win_rate,3)
|
|
|
#ccc.cache.hset(key,"win_rate",win_rate)
|
|
#ccc.cache.hset(key,"win_rate",win_rate)
|
|
|
|
|
+
|
|
|
|
|
+def get_sub_category(pid):
|
|
|
|
|
+ """
|
|
|
|
|
+ """
|
|
|
|
|
+ qset = cm.BaikeCategory.objects.filter(parent_id=pid)
|
|
|
|
|
+ qdata = list(qset.values())
|
|
|
|
|
+ if qdata:
|
|
|
|
|
+ for subitem in qdata:
|
|
|
|
|
+ subitem["type"] = "ent"
|
|
|
|
|
+ subitem["label"] = subitem["name"]
|
|
|
|
|
+ subitem["children"] = get_sub_category(subitem["id"])
|
|
|
|
|
+ return qdata
|
|
|
|
|
+
|
|
|
|
|
+def get_baike_category_tree(**kwargs):
|
|
|
|
|
+ parents = list(cm.BaikeCategory.objects.filter(parent_id__isnull=True).values())
|
|
|
|
|
+ for item in parents:
|
|
|
|
|
+ item["label"] = item["name"]
|
|
|
|
|
+ item["children"] = get_sub_category(item["id"])
|
|
|
|
|
+ return parents
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def get_baike_list_by_category(**kwargs):
|
|
|
|
|
+ category_id = kwargs.get("category_id")
|
|
|
|
|
+ qset = cm.BaikeDetail.objects.filter(category_id=category_id)
|
|
|
|
|
+ data = list(qset.values("id","name"))
|
|
|
|
|
+ return data
|
|
|
|
|
+
|
|
|
|
|
+def push_article(**kwargs):
|
|
|
|
|
+ _id = kwargs.get("id")
|
|
|
|
|
+ article = cm.Article.objects.filter(id=_id).first()
|
|
|
|
|
+ #发送app推送消息
|
|
|
|
|
+ title = u"顽主杯"
|
|
|
|
|
+ body = article.name
|
|
|
|
|
+ user_id = "ALL"
|
|
|
|
|
+ params = {"type":"article","id":_id}
|
|
|
|
|
+ aliyunpush.push_notice_by_userid(user_id,title,body,params,"ios")
|
|
|
|
|
+ aliyunpush.push_notice_by_userid(user_id,title,body,params,"android")
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def import_article(**kwargs):
|
|
|
|
|
+ """
|
|
|
|
|
+ """
|
|
|
|
|
+ obj = cm.Article.objects.create(**kwargs)
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+def refund_out_trade_order(**kwargs):
|
|
|
|
|
+ """
|
|
|
|
|
+ """
|
|
|
|
|
+ _id = kwargs.get("id")
|
|
|
|
|
+ signup_order = cm.SignupOrder.objects.filter(id=_id).first()
|
|
|
|
|
+ if signup_order:
|
|
|
|
|
+ out_trade_no = signup_order.out_trade_no
|
|
|
|
|
+ transaction_id = signup_order.transaction_id
|
|
|
|
|
+ total_fee = signup_order.total_fee
|
|
|
|
|
+ amount = str(int(total_fee*100))
|
|
|
|
|
+ print(amount)
|
|
|
|
|
+ result = refund_order(transaction_id,out_trade_no,out_trade_no,amount)
|
|
|
|
|
+ if result.get("result_code") == "SUCCESS":
|
|
|
|
|
+ signup_order.order_status = -1
|
|
|
|
|
+ signup_order.save()
|
|
|
|
|
+ return "success"
|
|
|
|
|
+ else:
|
|
|
|
|
+ raise ce.TipException(result.get("err_code_des"))
|
|
|
|
|
+ else:
|
|
|
|
|
+ raise ce.TipException(u"该订单不存在退款失败!")
|
|
|
|
|
+
|
|
|
|
|
+
|