1.给计费点新增对应中文名和对应总金额

This commit is contained in:
李伟 2022-01-15 11:11:27 +08:00
parent 2fc593f097
commit 62779d0f3d
5 changed files with 68 additions and 3 deletions

View File

@ -141,6 +141,7 @@ async def event_model(
game: str, game: str,
data_in: schemas.CkQuery, data_in: schemas.CkQuery,
ckdb: CKDrive = Depends(get_ck_db), ckdb: CKDrive = Depends(get_ck_db),
db: AsyncIOMotorDatabase = Depends(get_database),
rdb: RedisDrive = Depends(get_redis_pool), rdb: RedisDrive = Depends(get_redis_pool),
analysis: BehaviorAnalysis = Depends(BehaviorAnalysis), analysis: BehaviorAnalysis = Depends(BehaviorAnalysis),
current_user: schemas.UserDB = Depends(deps.get_current_user) current_user: schemas.UserDB = Depends(deps.get_current_user)
@ -218,7 +219,40 @@ async def event_model(
q['date_range'] = [f'{i}' for i in df.set_index(groupby).index] q['date_range'] = [f'{i}' for i in df.set_index(groupby).index]
else: else:
q['date_range'] = ['合计'] q['date_range'] = ['合计']
# 暂时只执行像素的计费点加别名
if game == 'xiangsu':
if item['groupby'][0] == 'proid' and analysis.events[0]['event_name'] == 'pay':
# 将对应英文的中文意思按位置一一对应返回给前端
proid_dict = await crud.proid_map.get_all_show_name(db, game)
res_list = []
for i in q['date_range']:
name = proid_dict[i]
res_list.append(name)
q['proid_name'] = res_list
# 将proid字段和金额money按对应关系组合成字典并算出对应的总额返回给前端
money_dict = await crud.proid_map.get_all_show_money(db, game)
add_money = []
number = q['values'][0]
next = -1
for i in q['date_range']:
next += 1
mongey = money_dict[i]
add = number[next] * mongey
add_money.append(add)
q['proid_money'] = add_money
# 首充金额分布
# if item['groupby'][0] == 'money' and analysis.events[0]['event_name'] == 'pay':
# # 将proid字段和金额money按对应关系组合成字典并算出对应的总额返回给前端
# money_dict = await crud.proid_map.get_all_show_money(db, game)
# add_money = []
# number = q['values'][0]
# next = -1
# for i in q['date_range']:
# next += 1
# mongey = money_dict[i]
# add = number[next] * mongey
# add_money.append(add)
# q['proid_money'] = add_money
res.append(q) res.append(q)
continue continue

View File

@ -14,4 +14,5 @@ from .crud_role import role
from .crud_check_data import check_data from .crud_check_data import check_data
from .user_label import user_label from .user_label import user_label
from .select_map import select_map from .select_map import select_map
from .crud_project_number import project_number from .crud_project_number import project_number
from .crud_proid_map import proid_map

29
crud/crud_proid_map.py Normal file
View File

@ -0,0 +1,29 @@
import pymongo
from bson import ObjectId
from motor.motor_asyncio import AsyncIOMotorDatabase
import schemas
from crud.base import CRUDBase
from schemas import *
__all__ = 'proid_map',
class CRUDProidmap(CRUDBase):
# 将两个字段按对应关系组合成字典返回
async def get_all_show_name(self, db: AsyncIOMotorDatabase, game: str):
cursor = self.find(db, {'game': game})
res = {}
async for item in self.to_list(cursor):
res[item['proid']] = item['name']
return res
#将proid字段和金额money按对应关系组合成字典返回
async def get_all_show_money(self, db: AsyncIOMotorDatabase, game: str):
cursor = self.find(db, {'game': game})
res = {}
async for item in self.to_list(cursor):
res[item['proid']] = item['money']
return res
proid_map = CRUDProidmap('proid_map')

View File

@ -18,4 +18,5 @@ from .role import *
from .check_data import * from .check_data import *
from .userlabel import * from .userlabel import *
from .select_map import * from .select_map import *
from .project_number import * from .project_number import *
from .proid_map import *

0
schemas/proid_map.py Normal file
View File