fix: xzjphbhqsj 与 phbhqsj 同用集团整体数据
去掉 club_id 过滤,仅保留邀请人数/派单流水等排序差异
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
"""
|
"""
|
||||||
星之界(xzj) 排行榜 — 与 /yonghu/phbhqsj 独立,旧接口零改动。
|
星之界小程序专用排行榜 — 与 /yonghu/phbhqsj 独立,旧接口零改动。
|
||||||
|
|
||||||
规则摘要:
|
数据范围与 phbhqsj 相同:集团整体日统计,不按俱乐部拆分。
|
||||||
|
|
||||||
|
仅排序/展示规则不同:
|
||||||
- 管事/组长:按邀请人数排序;展示无效邀请、有效人数、收入金额
|
- 管事/组长:按邀请人数排序;展示无效邀请、有效人数、收入金额
|
||||||
- 接单员:按成交金额排序
|
- 接单员:按成交金额排序
|
||||||
- 商家:按派单流水排序(非成交额)
|
- 商家:按派单流水排序(非成交额)
|
||||||
@@ -32,8 +34,6 @@ from users.paihang_views import (
|
|||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
XZJ_CLUB_ID = 'xzj'
|
|
||||||
|
|
||||||
XZJ_ROLE_CONFIG = {
|
XZJ_ROLE_CONFIG = {
|
||||||
'dashou': {
|
'dashou': {
|
||||||
'model': PlayerDailyStats,
|
'model': PlayerDailyStats,
|
||||||
@@ -153,10 +153,7 @@ def _count_youxiao_guanshi_for_zuzhang(zuzhang_uid, start_date=None, end_date=No
|
|||||||
)
|
)
|
||||||
if not guanshi_uids:
|
if not guanshi_uids:
|
||||||
return 0
|
return 0
|
||||||
qs = ManagerDailyStats.objects.filter(
|
qs = ManagerDailyStats.objects.filter(ManagerID__in=guanshi_uids)
|
||||||
club_id=XZJ_CLUB_ID,
|
|
||||||
ManagerID__in=guanshi_uids,
|
|
||||||
)
|
|
||||||
if start_date and end_date:
|
if start_date and end_date:
|
||||||
qs = qs.filter(Date__gte=start_date, Date__lte=end_date)
|
qs = qs.filter(Date__gte=start_date, Date__lte=end_date)
|
||||||
qs = (
|
qs = (
|
||||||
@@ -251,7 +248,6 @@ class XzjPhbHqsjView(APIView):
|
|||||||
'msg': '获取成功',
|
'msg': '获取成功',
|
||||||
'data': {
|
'data': {
|
||||||
'list': result_list,
|
'list': result_list,
|
||||||
'club_id': XZJ_CLUB_ID,
|
|
||||||
'sort_field': cfg.get('sort_response_key'),
|
'sort_field': cfg.get('sort_response_key'),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
@@ -270,17 +266,16 @@ class XzjPhbHqsjView(APIView):
|
|||||||
fields = cfg['fields']
|
fields = cfg['fields']
|
||||||
id_field = cfg['id_field']
|
id_field = cfg['id_field']
|
||||||
annotate_kwargs = {f: Sum(f) for f in fields}
|
annotate_kwargs = {f: Sum(f) for f in fields}
|
||||||
base_qs = model.objects.filter(club_id=XZJ_CLUB_ID)
|
|
||||||
|
|
||||||
if all_time:
|
if all_time:
|
||||||
return list(
|
return list(
|
||||||
base_qs.values(id_field)
|
model.objects.values(id_field)
|
||||||
.annotate(**annotate_kwargs)
|
.annotate(**annotate_kwargs)
|
||||||
.order_by(f'-{sort_field}')[:MAX_RANK]
|
.order_by(f'-{sort_field}')[:MAX_RANK]
|
||||||
)
|
)
|
||||||
|
|
||||||
if start_date == end_date:
|
if start_date == end_date:
|
||||||
qs = base_qs.filter(Date=start_date).order_by(f'-{sort_field}')[:MAX_RANK]
|
qs = model.objects.filter(Date=start_date).order_by(f'-{sort_field}')[:MAX_RANK]
|
||||||
rows = [
|
rows = [
|
||||||
{id_field: getattr(r, id_field), **{f: getattr(r, f) for f in fields}}
|
{id_field: getattr(r, id_field), **{f: getattr(r, f) for f in fields}}
|
||||||
for r in qs
|
for r in qs
|
||||||
@@ -292,7 +287,7 @@ class XzjPhbHqsjView(APIView):
|
|||||||
return rows
|
return rows
|
||||||
|
|
||||||
return list(
|
return list(
|
||||||
base_qs.filter(Date__gte=start_date, Date__lte=end_date)
|
model.objects.filter(Date__gte=start_date, Date__lte=end_date)
|
||||||
.values(id_field)
|
.values(id_field)
|
||||||
.annotate(**annotate_kwargs)
|
.annotate(**annotate_kwargs)
|
||||||
.order_by(f'-{sort_field}')[:MAX_RANK]
|
.order_by(f'-{sort_field}')[:MAX_RANK]
|
||||||
|
|||||||
Reference in New Issue
Block a user