mirror of
https://github.com/sunrin-ana/2025-SSF-dotory-manage.git
synced 2026-03-09 18:10:02 +00:00
40 lines
No EOL
1.3 KiB
Python
40 lines
No EOL
1.3 KiB
Python
from flask_sqlalchemy import SQLAlchemy
|
|
from datetime import datetime
|
|
from db import db
|
|
|
|
class UserDotori(db.Model):
|
|
__tablename__ = 'user_dotori'
|
|
|
|
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
|
user_id = db.Column(db.Integer, nullable=False)
|
|
dotori_count = db.Column(db.Integer, default=0)
|
|
created_at = db.Column(db.DateTime, default=datetime.now)
|
|
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
|
|
|
|
def to_dict(self):
|
|
return {
|
|
'user_id': self.user_id,
|
|
'dotori_count': self.dotori_count,
|
|
'created_at': self.created_at.isoformat(),
|
|
'updated_at': self.updated_at.isoformat()
|
|
}
|
|
|
|
def to_response(self):
|
|
return {
|
|
'userId': self.user_id,
|
|
'dotory': self.dotori_count
|
|
}
|
|
|
|
def increment(self, amount=1):
|
|
self.dotori_count += amount
|
|
self.updated_at = datetime.now()
|
|
return self.dotori_count
|
|
|
|
def decrement(self, amount=1):
|
|
if self.dotori_count >= amount:
|
|
self.dotori_count -= amount
|
|
self.updated_at = datetime.now()
|
|
return self.dotori_count
|
|
return False
|
|
def __repr__(self):
|
|
return f"<UserDotori user_id={self.user_id} dotori_count={self.dotori_count}>" |