check and start payment added

This commit is contained in:
Gitea
2022-01-25 14:22:26 +09:00
parent 11d3d2644f
commit 70aaff37f1
42 changed files with 68 additions and 14 deletions

View File

@ -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)