| |
|
| | 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)
|
| | content = db.Column(db.Text, nullable=False)
|
| | status = db.Column(db.Enum('unread', 'read'), default='unread')
|
| | 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)
|
| |
|
| | @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()
|
| |
|
| |
|