check and start payment added
This commit is contained in:
59
kassa/new.py
59
kassa/new.py
@ -1,4 +1,6 @@
|
||||
from ast import While
|
||||
from lib2to3.pgen2 import token
|
||||
from re import A
|
||||
from time import sleep
|
||||
from typing import Dict, List, Tuple
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
@ -10,6 +12,7 @@ from sqlalchemy.sql.sqltypes import DateTime
|
||||
from sqlalchemy import desc, cast, case, func
|
||||
import kassa.schemas as schemas
|
||||
import kassa.models as models
|
||||
from kassa.cruds import doc
|
||||
from kassa.databases import SessionLocal
|
||||
from kassa.atol import Atol
|
||||
import datetime
|
||||
@ -258,10 +261,11 @@ def get_sell(data: query):
|
||||
|
||||
|
||||
def get_client(phone: str):
|
||||
return {
|
||||
'phone': phone
|
||||
}
|
||||
|
||||
if phone:
|
||||
return {
|
||||
'phone': phone
|
||||
}
|
||||
return { 'email': 'test@test.ru'}
|
||||
|
||||
def get_vat(vat: str):
|
||||
return {'type': vat}
|
||||
@ -291,16 +295,38 @@ def clear_dict(d):
|
||||
return r
|
||||
|
||||
def add_doc(sell: schemas.Sell, is_refund, token):
|
||||
|
||||
atol_model = Atol(token)
|
||||
session = SessionLocal()
|
||||
a = atol_model.set_sell(clear_dict(sell.dict()), is_refund)
|
||||
check = models.Atol(schemas.AtolSell(**a))
|
||||
check.external_id = sell.external_id
|
||||
ext_id = sell.external_id
|
||||
err = a.pop('error', None)
|
||||
if err:
|
||||
print(err)
|
||||
return doc.create_error(session, error = schemas.Error(**err), external_id = ext_id )
|
||||
|
||||
a["external_id"]= sell.external_id
|
||||
check = models.Atol(**a)
|
||||
session.add(check)
|
||||
session.commit()
|
||||
return a
|
||||
|
||||
|
||||
def get_check(db: Session, uuid: str, external_id: str, token: str):
|
||||
atol_model = Atol(token)
|
||||
a = atol_model.get_reciepts(uuid)
|
||||
err = a.pop('error', None)
|
||||
if err:
|
||||
print(err)
|
||||
return doc.create_error(db, error = schemas.Error(**err), external_id = external_id )
|
||||
doc.create_doc(db, a, external_id)
|
||||
return a
|
||||
|
||||
|
||||
def get_atol_wo_doc(db: Session):
|
||||
return db.query(models.Atol.uuid, models.Atol.external_id).\
|
||||
where(models.Atol.external_id.notin_(models.Doc.external_id)).\
|
||||
all()
|
||||
|
||||
def get_main_payment():
|
||||
server = 'Sanctuary'
|
||||
user = 'sa'
|
||||
@ -334,5 +360,20 @@ def main():
|
||||
if payment == False:
|
||||
break
|
||||
sleep(1)
|
||||
add_doc(sell=payment, is_refund=is_refund, token = token)
|
||||
break
|
||||
doc = add_doc(sell=payment, is_refund=is_refund, token = token)
|
||||
print(doc)
|
||||
|
||||
def run_get_check():
|
||||
session = SessionLocal()
|
||||
atols = get_atol_wo_doc(session)
|
||||
while len(atols)>0:
|
||||
server = 'Sanctuary'
|
||||
user = 'sa'
|
||||
password = '159357'
|
||||
db_dicts_name = 'fz54'
|
||||
db = Session(autocommit=False, autoflush=False, bind=db.engine)
|
||||
db_dicts = DBEngine(server, db_dicts_name, user, password)
|
||||
token = get_token(db, db_dicts)
|
||||
uuid, ext_id = atols.pop()
|
||||
check = get_check(session, uuid, ext_id, token)
|
||||
print(check)
|
Reference in New Issue
Block a user