Files
2019-10-21 19:32:41 +08:00

95 lines
2.6 KiB
Python

import moment
import peewee
from model import (
DarkNet_Domain,
DarkNet_DataSale,
DarkNet_IMGS,
DarkNet_Notice,
DarkNet_Saler,
DarkNet_User,
)
from peewee import fn
from log import info, error, warning, debug
class Cursor:
@staticmethod
def get_last_domain():
try:
return (
DarkNet_Domain.select()
.order_by(DarkNet_Domain.datetime)
.limit(1)[0]
.domain
)
except Exception as e:
error(f"[Cursor->get_last_domain]: {e}")
@staticmethod
def create_new_domain(domain):
try:
return DarkNet_Domain.create(**{"domain": domain})
except peewee.IntegrityError:
pass
@staticmethod
def create_new_user(datas):
return DarkNet_User.create(**datas)
@staticmethod
def get_random_user(last_days=30):
try:
return (
DarkNet_User.select()
.where(
DarkNet_User.useful == True,
DarkNet_User.intime
>= moment.now().add(days=-last_days).format("YYYY-MM-DD HH:mm:ss"),
)
.order_by(fn.Rand())
.limit(10)[0]
)
except Exception as e:
error(f"[Cursor->get_random_user]: {e}")
@staticmethod
def ban_user(usr):
warning(f"ban user: {usr}")
return (
DarkNet_User.update({"useful": False})
.where(DarkNet_User.user == usr)
.execute()
)
@staticmethod
def get_model_details(uid, sid):
details = DarkNet_DataSale.select().where((DarkNet_DataSale.sid == sid))
person = DarkNet_Saler.select().where((DarkNet_Saler.uid == uid))
notice = DarkNet_Notice.select().where((DarkNet_Notice.sid == sid))
img = DarkNet_IMGS.select().where((DarkNet_IMGS.sid == sid))
return details, person, notice, img
@staticmethod
def create_person(datas):
return DarkNet_Saler.create(**datas)
@staticmethod
def update_person(datas, uid):
return DarkNet_Saler.update(datas).where((DarkNet_Saler.uid == uid)).execute()
@staticmethod
def create_notice(datas):
return DarkNet_Notice.create(**datas)
@staticmethod
def create_img(datas):
return DarkNet_IMGS.create(**datas)
@staticmethod
def create_details(datas):
return DarkNet_DataSale.create(**datas)
@staticmethod
def update_details(datas, sid):
DarkNet_DataSale.update(datas).where((DarkNet_DataSale.sid == sid)).execute()