项目初次提交
This commit is contained in:
88
apps/vadmin/record/crud.py
Normal file
88
apps/vadmin/record/crud.py
Normal file
@ -0,0 +1,88 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# @version : 1.0
|
||||
# @Create Time : 2021/10/18 22:18
|
||||
# @File : crud.py
|
||||
# @IDE : PyCharm
|
||||
# @desc : 数据库 增删改查操作
|
||||
|
||||
import random
|
||||
from motor.motor_asyncio import AsyncIOMotorDatabase
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
from . import models, schemas
|
||||
from core.crud import DalBase
|
||||
from core.mongo_manage import MongoManage
|
||||
|
||||
|
||||
class LoginRecordDal(DalBase):
|
||||
|
||||
def __init__(self, db: AsyncSession):
|
||||
super(LoginRecordDal, self).__init__()
|
||||
self.db = db
|
||||
self.model = models.VadminLoginRecord
|
||||
self.schema = schemas.LoginRecordSimpleOut
|
||||
|
||||
async def get_user_distribute(self) -> list[dict]:
|
||||
"""
|
||||
获取用户登录分布情况
|
||||
高德经纬度查询:https://lbs.amap.com/tools/picker
|
||||
|
||||
{
|
||||
name: '北京',
|
||||
center: [116.407394, 39.904211],
|
||||
total: 20
|
||||
}
|
||||
|
||||
:return: List[dict]
|
||||
"""
|
||||
result = [{
|
||||
"name": '北京',
|
||||
"center": [116.407394, 39.904211],
|
||||
},
|
||||
{
|
||||
"name": '重庆',
|
||||
"center": [106.551643, 29.562849],
|
||||
},
|
||||
{
|
||||
"name": '郑州',
|
||||
"center": [113.778584, 34.759197],
|
||||
},
|
||||
{
|
||||
"name": '南京',
|
||||
"center": [118.796624, 32.059344],
|
||||
},
|
||||
{
|
||||
"name": '武汉',
|
||||
"center": [114.304569, 30.593354],
|
||||
},
|
||||
{
|
||||
"name": '乌鲁木齐',
|
||||
"center": [87.616824, 43.825377],
|
||||
},
|
||||
{
|
||||
"name": '新乡',
|
||||
"center": [113.92679, 35.303589],
|
||||
}]
|
||||
for data in result:
|
||||
assert isinstance(data, dict)
|
||||
data["total"] = random.randint(2, 80)
|
||||
return result
|
||||
|
||||
|
||||
class SMSSendRecordDal(DalBase):
|
||||
|
||||
def __init__(self, db: AsyncSession):
|
||||
super(SMSSendRecordDal, self).__init__()
|
||||
self.db = db
|
||||
self.model = models.VadminSMSSendRecord
|
||||
self.schema = schemas.SMSSendRecordSimpleOut
|
||||
|
||||
|
||||
class OperationRecordDal(MongoManage):
|
||||
|
||||
def __init__(self, db: AsyncIOMotorDatabase):
|
||||
super(OperationRecordDal, self).__init__()
|
||||
self.db = db
|
||||
self.collection = db["operation_record"]
|
||||
self.schema = schemas.OperationRecordSimpleOut
|
||||
self.is_object_id = True
|
Reference in New Issue
Block a user