xbackend/crud/crud_event_mana.py
李伟 95c03737eb 1.优化分布分析分组项
2.优化分布分析显示对应埋点数据中文名
3.新增事件标签功能
2022-05-12 16:30:48 +08:00

38 lines
1.3 KiB
Python

import pymongo
from bson import ObjectId
from motor.motor_asyncio import AsyncIOMotorDatabase
import schemas
from crud.base import CRUDBase
from schemas import *
__all__ = 'event_mana',
class CRUDEventMap(CRUDBase):
async def edit_event_mate(self, db: AsyncIOMotorDatabase, game: str, data_id: schemas.EventMateEdit):
await self.update_one(db, {'game': game, 'event_name': data_id.event_name}, {'$set': data_id.dict()},
upsert=True)
async def get_show_name(self, db: AsyncIOMotorDatabase, game: str, event_name: str):
res = await self.find_one(db, {'game': game, 'event_name': event_name})
return res.get('show_name', event_name)
async def get_all_show_name(self, db: AsyncIOMotorDatabase, game: str):
cursor = self.find(db, {'game': game})
res = {}
res1= {}
async for item in self.to_list(cursor):
res[item['event_name']] = item['show_name']
res1[item['event_name']] = item.get('label_id','')
return res,res1
async def create_index(self, db: AsyncIOMotorDatabase):
await db[self.coll_name].create_index(
[('game', pymongo.DESCENDING), ('event_name', pymongo.DESCENDING)],
unique=True)
event_mana = CRUDEventMap('event_mana')