update
This commit is contained in:
parent
6610457f8b
commit
e2e68ccd8b
@ -12,6 +12,8 @@ from cryptoai.models.user_question import UserQuestionManager
|
||||
from cryptoai.models.token import TokenManager
|
||||
from sqlalchemy.orm import Session
|
||||
from cryptoai.utils.db_manager import get_db
|
||||
from cryptoai.models.user import UserManager
|
||||
|
||||
class AnalysisHistoryRequest(BaseModel):
|
||||
symbol: str
|
||||
content: str
|
||||
@ -200,6 +202,11 @@ async def get_conversation_messages(conversation_id: str,
|
||||
async def chat(request: ChatRequest,
|
||||
current_user: dict = Depends(get_current_user),
|
||||
session: Session = Depends(get_db)):
|
||||
|
||||
# 检查用户积分
|
||||
if current_user["points"] < 20:
|
||||
raise HTTPException(status_code=400, detail="您的积分不足,请先充值。")
|
||||
|
||||
payload = {
|
||||
"inputs" : {},
|
||||
"query": request.message,
|
||||
@ -227,6 +234,10 @@ async def chat(request: ChatRequest,
|
||||
status_code=response.status_code,
|
||||
detail=f"Failed to get response from Dify API: {response.text}"
|
||||
)
|
||||
|
||||
# 扣除用户积分
|
||||
manager = UserManager(session)
|
||||
manager.consume_user_points(current_user["id"], 20)
|
||||
|
||||
# 获取response的stream
|
||||
def stream_response():
|
||||
|
||||
@ -17,7 +17,7 @@ sys.path.append(parent_dir)
|
||||
from cryptoai.agents.crypto_agent import CryptoAgent
|
||||
from cryptoai.agents.gold_agent import GoldAgent
|
||||
from cryptoai.utils.config_loader import ConfigLoader
|
||||
|
||||
from cryptoai.tasks.user import task_run
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
@ -35,6 +35,8 @@ def task_start():
|
||||
schedule.every().day.at("16:00").do(CryptoAgent().start_agent)
|
||||
schedule.every().day.at("20:00").do(CryptoAgent().start_agent)
|
||||
|
||||
schedule.every().day.at("00:00").do(task_run)
|
||||
|
||||
while True:
|
||||
schedule.run_pending()
|
||||
time.sleep(1)
|
||||
|
||||
22
cryptoai/tasks/user.py
Normal file
22
cryptoai/tasks/user.py
Normal file
@ -0,0 +1,22 @@
|
||||
from cryptoai.models.user import User
|
||||
from cryptoai.utils.db_manager import get_db_context, SessionLocal
|
||||
from sqlalchemy.orm import Session
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.DEBUG)
|
||||
|
||||
def task_run():
|
||||
try:
|
||||
session = SessionLocal()
|
||||
users = session.query(User).filter(User.points < 100).all()
|
||||
for user in users:
|
||||
user.points = 100
|
||||
session.commit()
|
||||
logger.info(f"用户 {user.mail} 积分复位成功")
|
||||
except Exception as e:
|
||||
logger.error(f"用户积分复位失败: {e}")
|
||||
finally:
|
||||
if session:
|
||||
session.close()
|
||||
|
||||
@ -4,7 +4,7 @@ services:
|
||||
cryptoai-task:
|
||||
build: .
|
||||
container_name: cryptoai-task
|
||||
image: cryptoai:0.0.16
|
||||
image: cryptoai:0.0.17
|
||||
restart: always
|
||||
volumes:
|
||||
- ./cryptoai/data:/app/cryptoai/data
|
||||
@ -29,7 +29,7 @@ services:
|
||||
cryptoai-api:
|
||||
build: .
|
||||
container_name: cryptoai-api
|
||||
image: cryptoai-api:0.1.38
|
||||
image: cryptoai-api:0.1.39
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
18
test.py
18
test.py
@ -4,19 +4,7 @@ import json
|
||||
from time import sleep
|
||||
from cryptoai.models.token import TokenManager
|
||||
from cryptoai.utils.db_manager import get_db_context
|
||||
from cryptoai.tasks.user import task_run
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
symbols = get_binance_api().get_all_symbols()
|
||||
# for symbol in symbols:
|
||||
# # 移除 symbol 中的 USDT
|
||||
# symbol = symbol.replace('USDT', '')
|
||||
# print(symbol)
|
||||
|
||||
session = get_db_context()
|
||||
manager = TokenManager(session)
|
||||
|
||||
for symbol in symbols:
|
||||
base_asset = symbol.split('USDT')[0]
|
||||
quote_asset = 'USDT'
|
||||
|
||||
manager.create_token(symbol,base_asset, quote_asset)
|
||||
task_run()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user