mirror of
https://github.com/sunrin-ana/2025-SSF-dotory-manage.git
synced 2026-03-09 18:10:02 +00:00
initial test
This commit is contained in:
commit
651703c0f8
19 changed files with 198 additions and 0 deletions
BIN
services/__pycache__/dotori_service.cpython-313.pyc
Normal file
BIN
services/__pycache__/dotori_service.cpython-313.pyc
Normal file
Binary file not shown.
49
services/dotori_service.py
Normal file
49
services/dotori_service.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
from models.dotori import UserDotori
|
||||
from flask import current_app
|
||||
from db import db
|
||||
class DotoriService:
|
||||
@staticmethod
|
||||
def get_user_dotori(user_id: str):
|
||||
user_dotori = UserDotori.query.filter_by(user_id=user_id).first()
|
||||
if user_dotori:
|
||||
return user_dotori.dotori_count
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def initialize_user_dotori(user_id: str):
|
||||
user_dotori = UserDotori.query.filter_by(user_id=user_id).first()
|
||||
if not user_dotori:
|
||||
user_dotori = UserDotori(user_id=user_id, dotori_count=1000000)
|
||||
print(f"초기화 완료, {user_id}님의 도토리: {user_dotori.dotori_count}")
|
||||
db.session.add(user_dotori)
|
||||
db.session.commit()
|
||||
return user_dotori.dotori_count
|
||||
|
||||
@staticmethod
|
||||
def buy_product(user_id: str, product_price: int):
|
||||
user_dotori = UserDotori.query.filter_by(user_id=user_id).first()
|
||||
if not user_dotori:
|
||||
return False
|
||||
|
||||
if user_dotori.dotori_count < product_price:
|
||||
return False
|
||||
print(f"구매 완료, {user_id}님의 도토리: {user_dotori.dotori_count} -> {user_dotori.dotori_count - product_price}")
|
||||
user_dotori.decrement(product_price)
|
||||
db.session.commit()
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def add_dotori(user_id: str, amount: int):
|
||||
user_dotori = UserDotori.query.filter_by(user_id=user_id).first()
|
||||
if not user_dotori:
|
||||
user_dotori = UserDotori(user_id=user_id)
|
||||
db.session.add(user_dotori)
|
||||
print(f"도토리 추가, {user_id}님의 도토리: {user_dotori.dotori_count} -> {user_dotori.dotori_count + amount}")
|
||||
user_dotori.increment(amount)
|
||||
db.session.commit()
|
||||
return user_dotori.dotori_count
|
||||
|
||||
@staticmethod
|
||||
def get_all_users_dotori():
|
||||
users = UserDotori.query.all()
|
||||
return [user.to_dict() for user in users]
|
||||
Loading…
Add table
Add a link
Reference in a new issue