kassa work correct
This commit is contained in:
51
kassa/new.py
51
kassa/new.py
@ -1,3 +1,4 @@
|
||||
from lib2to3.pgen2 import token
|
||||
from time import sleep
|
||||
from typing import Dict, List, Tuple
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
@ -7,8 +8,10 @@ from sqlalchemy.orm import query, sessionmaker
|
||||
from sqlalchemy.types import BigInteger, Integer, String, Numeric, Boolean, DateTime
|
||||
from sqlalchemy.sql.sqltypes import DateTime
|
||||
from sqlalchemy import desc, cast, case, func
|
||||
import schemas
|
||||
import models
|
||||
import kassa.schemas as schemas
|
||||
import kassa.models as models
|
||||
from kassa.databases import SessionLocal
|
||||
from kassa.atol import Atol
|
||||
import datetime
|
||||
|
||||
Base = declarative_base()
|
||||
@ -163,7 +166,8 @@ def get_payments(data: List):
|
||||
|
||||
def get_token(db: Session, db_dict: DBEngine):
|
||||
token_dict = db_dict.get_table("vAtolToken")
|
||||
return token_dict.get("token")
|
||||
rows = db.query(token_dict).first()
|
||||
return dict(rows).get("token")
|
||||
|
||||
|
||||
"""
|
||||
@ -265,24 +269,39 @@ def get_vat(vat: str):
|
||||
|
||||
def add_atol(db: Session, engine: DBEngine, atol: Dict):
|
||||
aa = engine.get_table("Atol")
|
||||
atol.pop("is_taken", None)
|
||||
a = aa.insert().values(atol)
|
||||
db.execute(a)
|
||||
db.commit()
|
||||
|
||||
def clear_dict(d):
|
||||
if d is None:
|
||||
return None
|
||||
elif isinstance(d, list):
|
||||
return list(filter(lambda x: x is not None, map(clear_dict, d)))
|
||||
elif not isinstance(d, dict):
|
||||
return d
|
||||
else:
|
||||
r = dict(
|
||||
filter(lambda x: x[1] is not None,
|
||||
map(lambda x: (x[0], clear_dict(x[1])),
|
||||
d.items())))
|
||||
if not bool(r):
|
||||
return None
|
||||
return r
|
||||
|
||||
def add_doc(sell: schemas.Sell, is_refund):
|
||||
from databases import SessionLocal
|
||||
from atol import Atol
|
||||
atol_model = Atol
|
||||
def add_doc(sell: schemas.Sell, is_refund, token):
|
||||
|
||||
atol_model = Atol(token)
|
||||
session = SessionLocal()
|
||||
a = Atol.set_sell(atol_model, sell, is_refund)
|
||||
check = models.Atol(**a)
|
||||
a = atol_model.set_sell(clear_dict(sell.dict()), is_refund)
|
||||
check = models.Atol(schemas.AtolSell(**a))
|
||||
check.external_id = sell.external_id
|
||||
session.add(check)
|
||||
session.commit()
|
||||
session.close()
|
||||
|
||||
|
||||
def get_payment():
|
||||
def get_main_payment():
|
||||
server = 'Sanctuary'
|
||||
user = 'sa'
|
||||
password = '159357'
|
||||
@ -305,15 +324,15 @@ def get_payment():
|
||||
}
|
||||
add_atol(session, db, atol)
|
||||
update_payment_details(session, db, payment)
|
||||
return sell, payment.get("is_refund")
|
||||
return False, False
|
||||
return sell, payment.get("is_refund"), get_token(session, db_dicts)
|
||||
return False, False, False
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
def main():
|
||||
while True:
|
||||
payment, is_refund = get_payment()
|
||||
payment, is_refund, token = get_main_payment()
|
||||
if payment == False:
|
||||
break
|
||||
sleep(1)
|
||||
add_doc(sell=payment, is_refund=is_refund)
|
||||
add_doc(sell=payment, is_refund=is_refund, token = token)
|
||||
break
|
||||
|
Reference in New Issue
Block a user