Исправление бага статистики
This commit is contained in:
parent
e124f45b35
commit
71bfb67807
19
api.py
19
api.py
@ -5,6 +5,7 @@ from datetime import datetime, timedelta
|
||||
from statistics import median
|
||||
from uuid import uuid4
|
||||
from random import randint
|
||||
from time import sleep
|
||||
|
||||
# Fix 3.3 + 0.15 = 3.4499999999999997
|
||||
from decimal import Decimal as d
|
||||
@ -24,12 +25,20 @@ def token_check(token):
|
||||
else:
|
||||
return False
|
||||
|
||||
############## STATS ##################
|
||||
|
||||
STAT_RUN = False
|
||||
def stat_run(cdm_change):
|
||||
# Общий баланс, среднее значение, медиана
|
||||
# Низшее значение, высшее значение
|
||||
# Изменение баланса и time2cdm
|
||||
# Прирост за счёт алмазов, за счёт time2cdm
|
||||
|
||||
# Защита от конфликтов
|
||||
global STAT_RUN
|
||||
while STAT_RUN:
|
||||
sleep(1)
|
||||
STAT_RUN = True
|
||||
# Получаем все балансы
|
||||
db = read()
|
||||
bals = []
|
||||
@ -72,6 +81,9 @@ def stat_run(cdm_change):
|
||||
|
||||
stat[date] = stats
|
||||
write(stat, 'stat.json')
|
||||
STAT_RUN = False
|
||||
|
||||
#######################
|
||||
|
||||
class User_in_db(BaseModel):
|
||||
token: str
|
||||
@ -333,7 +345,6 @@ class Add_time(BaseModel):
|
||||
def add_time(it: Add_time):
|
||||
token, id, time = it.token, it.id, int(it.time)
|
||||
if token_check(token):
|
||||
stat_run(0)
|
||||
course = read('conf.json')['time2cdm']
|
||||
amount = time*course
|
||||
# Пополнение баланса
|
||||
@ -353,6 +364,8 @@ def add_time(it: Add_time):
|
||||
stat = read('stat.json')
|
||||
stat[date]['time2cdm'] += amount
|
||||
write(stat, 'stat.json')
|
||||
|
||||
stat_run(0)
|
||||
return 'OK'
|
||||
else:
|
||||
return 'Error'
|
||||
@ -452,10 +465,12 @@ def get_time(it: Get_time2cdm):
|
||||
|
||||
class Get_stat(BaseModel):
|
||||
token: str
|
||||
date: Optional[str] = datetime.today().strftime('%Y-%m-%d')
|
||||
date: Optional[str] = None
|
||||
@app.post('/api/get_stat/')
|
||||
def get_stat(it: Get_stat):
|
||||
token, date = it.token, it.date
|
||||
if not date:
|
||||
date = datetime.today().strftime('%Y-%m-%d')
|
||||
if token_check(token):
|
||||
stat_run(0)
|
||||
db = read('stat.json')
|
||||
|
Loading…
Reference in New Issue
Block a user