counterparty: add counterpart
This commit is contained in:
@@ -1,7 +1,39 @@
|
||||
import json
|
||||
import json, requests
|
||||
|
||||
from django.core.management import BaseCommand
|
||||
|
||||
from core.apps.counterparty.models import CounterpartyFolder
|
||||
from core.apps.counterparty.models import CounterpartyFolder, Counterparty
|
||||
|
||||
headers = {
|
||||
"Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2JhY2tlbmQuYXBwLnV5cXVyLnV6L21haW4vYXV0aC9sb2dpbiIsImlhdCI6MTc2MTgzMzg2OSwiZXhwIjoxNzYxOTIwMjY5LCJuYmYiOjE3NjE4MzM4NjksImp0aSI6IjZSQWE1RzlyT0pGbXF1T2kiLCJzdWIiOiIxMDQiLCJwcnYiOiIyM2JkNWM4OTQ5ZjYwMGFkYjM5ZTcwMWM0MDA4NzJkYjdhNTk3NmY3In0.ACT7oxl-A2eit_bzxeal2jF_xLa0klFObNBpp1HuheE"
|
||||
}
|
||||
|
||||
def get_counterparty(folder_id):
|
||||
url = f"https://backend.app.uyqur.uz/main/company-person-folder/view?company_person_folder_id={folder_id}&size=500"
|
||||
response = requests.get(url, headers=headers)
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
return None
|
||||
|
||||
|
||||
def create_counterparty(data, folder):
|
||||
Counterparty.objects.get_or_create(
|
||||
name=data["name"],
|
||||
defaults={
|
||||
"phone": data["person"]["phone"],
|
||||
"inn": data["person"]["tin"],
|
||||
"balance_currency": (
|
||||
data["balances"][0]["currency"]["symbol"].lower()
|
||||
if data["balances"]
|
||||
else "uzs"
|
||||
),
|
||||
"is_archived": data["is_archived"],
|
||||
"balance": data["total_amount"],
|
||||
"total_debit": data["debt_amount"],
|
||||
"total_kredit": data["credit_amount"],
|
||||
"folder": folder
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
@@ -15,9 +47,12 @@ class Command(BaseCommand):
|
||||
data = json.load(f)
|
||||
|
||||
for item in data['data']:
|
||||
CounterpartyFolder.objects.get_or_create(
|
||||
folder, created = CounterpartyFolder.objects.get_or_create(
|
||||
name=item['name'],
|
||||
)
|
||||
data = get_counterparty(item['id'])
|
||||
for counterparty in data['data']['data']:
|
||||
create_counterparty(counterparty, folder)
|
||||
|
||||
self.stdout.write("Counterparty Folders added")
|
||||
|
||||
Reference in New Issue
Block a user