1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from utils.mysql_helper import MySQLHelper
- class AreaEmail:
- def __init__(self, name=None, area=None, email=None,is_active=None,remark=None):
- self.name = name
- self.area = area
- if email is None:
- email = ""
- self.email = email.replace(",", ",")
- self.is_active = is_active
- self.remark = remark
- def __repr__(self):
- return (
- f"<AreaEmail(name={self.name},area={self.area}, email={self.email}, "
- f"is_active={self.is_active}, remark={self.remark})>")
- def to_dict(self):
- return {
- 'area': self.area,
- 'email': self.email,
- }
- # # 插入 AreaEmail 数据
- # def insert(self, area_email):
- # if not isinstance(area_email, AreaEmail):
- # raise TypeError("area_email 必须是 AreaEmail 的实例")
- # with MySQLHelper() as db_helper:
- # query = (
- # "INSERT INTO t_area_email (area, email, is_active, remark) "
- # "VALUES (%s, %s, %s, %s)")
- # params = (area_email.area, area_email.email, area_email.is_active,
- # area_email.remark)
- # db_helper.execute_non_query(query, params)
- _query = "SELECT name,area,email FROM t_area_email WHERE is_active = 1"
- _query_by_area = "SELECT email FROM t_area_email WHERE CONCAT(area,',') like %s AND is_active = 1"
- # 查询 AreaEmail 数据
- def fetch_all(self):
- with MySQLHelper() as db_helper:
- results = db_helper.execute_query(self._query)
- data = [AreaEmail(**result) for result in results]
- return data
- def fetch_one_by_area(self, area: str):
- with MySQLHelper() as db_helper:
- params = ('%' + area + ',%', )
- result = db_helper.fetch_one(self._query_by_area, params)
- if result is None:
- return None
- return result["email"]
|