counterparty: add counterpart

This commit is contained in:
behruz-dev
2025-10-31 16:02:08 +05:00
parent 31f894d0ff
commit 01fac3110e
14 changed files with 12474 additions and 34859 deletions

File diff suppressed because it is too large Load Diff

View File

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