SCLP
This commit is contained in:
54
SCLP/models/brands.py
Normal file
54
SCLP/models/brands.py
Normal file
@@ -0,0 +1,54 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
"""
|
||||
@Author : xuxingchen
|
||||
@Contact : xuxingchen@sinochem.com
|
||||
@Desc : 可视对讲厂家信息表 改&查
|
||||
"""
|
||||
from pydantic import BaseModel, field_validator
|
||||
|
||||
from utils.database import BaseTable, get_table_handler
|
||||
from utils.misc import InvalidException
|
||||
|
||||
|
||||
class UpdateBrand(BaseModel):
|
||||
name: str
|
||||
|
||||
@field_validator("name")
|
||||
def check_name(cls, value):
|
||||
th = get_table_handler()
|
||||
if BrandsTable.exists(th, value):
|
||||
return value
|
||||
else:
|
||||
raise InvalidException("请提供正确的可视对讲厂家名")
|
||||
|
||||
|
||||
class BrandsTable(BaseTable):
|
||||
@staticmethod
|
||||
def get_checked_factory(table_handler: BaseTable):
|
||||
"""获取当前启用的可视对讲厂家"""
|
||||
table_handler.query("SELECT brand_name FROM brands WHERE status = '开启'")
|
||||
res = table_handler.cursor.fetchall()
|
||||
if res:
|
||||
return {"name": res[0][0]}
|
||||
else:
|
||||
return {"name": None}
|
||||
|
||||
@staticmethod
|
||||
def update_checked_factory(table_handler: BaseTable, brand_name: str):
|
||||
"""更新启用的可视对讲厂家"""
|
||||
sqls = [
|
||||
"UPDATE brands SET status = '关闭' WHERE status = '开启'",
|
||||
"UPDATE brands SET status = '开启' WHERE brand_name = ?"
|
||||
]
|
||||
table_handler.execute(sqls, [(), (brand_name,)])
|
||||
return {"status": True}
|
||||
|
||||
@staticmethod
|
||||
def exists(table_handler: BaseTable, brand_name: str):
|
||||
"""可视对讲厂家是否存在"""
|
||||
table_handler.query("SELECT brand_name FROM brands WHERE brand_name = ?", (brand_name,))
|
||||
res = table_handler.cursor.fetchall()
|
||||
if res:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
Reference in New Issue
Block a user