dt / app /models /message.py
gitdeem's picture
Upload 96 files
4e9efe9 verified
raw
history blame
1.21 kB
# models/message.py
from datetime import datetime
from app.extensions import db
class Message(db.Model):
__tablename__ = 'message'
id = db.Column(db.Integer, primary_key=True)
customer_id = db.Column(db.Integer, db.ForeignKey('customer.id'), nullable=False) # 关联客户 [^1]
content = db.Column(db.Text, nullable=False)
status = db.Column(db.Enum('unread', 'read'), default='unread') # 消息状态 [^2]
msg_type = db.Column(db.String(50)) # 消息类型(系统通知/业务提醒等)
created_at = db.Column(db.DateTime, default=datetime.utcnow)
deleted_flag = db.Column(db.CHAR(1), default='N', nullable=False) # 保持删除标记一致性 [^3]
@classmethod
def get_user_messages(cls, customer_id):
"""获取用户有效消息列表 [^2]"""
return cls.query.filter_by(
customer_id=customer_id,
deleted_flag='N'
).order_by(cls.created_at.desc()).all()
@classmethod
def mark_as_read(cls, message_id):
"""标记消息为已读"""
message = cls.query.get(message_id)
if message:
message.status = 'read'
db.session.commit()