23123
This commit is contained in:
parent
233cd7d2bb
commit
ad066a84d9
|
|
@ -15,4 +15,4 @@ def send_telegram(text):
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
send_telegram("TEST")
|
# send_telegram("TEST")
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
# Добавляем папку 'games' (родительскую для API) в пути поиска
|
||||||
|
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||||
|
sys.path.insert(0, project_root)
|
||||||
Binary file not shown.
Binary file not shown.
12
API/df.py
12
API/df.py
|
|
@ -1,5 +1,17 @@
|
||||||
from rok import download_products, download_prices
|
from rok import download_products, download_prices
|
||||||
from rokky import decrypt_and_unpack, add_product, update_prices
|
from rokky import decrypt_and_unpack, add_product, update_prices
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
|
||||||
|
# Добавляем папку 'games' (родительскую для API) в пути поиска
|
||||||
|
project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
|
||||||
|
sys.path.insert(0, project_root)
|
||||||
|
|
||||||
|
# from services.orders import get_sku
|
||||||
|
|
||||||
|
# db_sku, db_price = get_sku(102180432)
|
||||||
|
|
||||||
|
# print(db_price)
|
||||||
|
|
||||||
download_products()
|
download_products()
|
||||||
download_prices()
|
download_prices()
|
||||||
|
|
|
||||||
46
API/rok.py
46
API/rok.py
|
|
@ -29,7 +29,7 @@ def tokens():
|
||||||
return access_token
|
return access_token
|
||||||
|
|
||||||
access_token = tokens()
|
access_token = tokens()
|
||||||
print(partner)
|
|
||||||
def get_orders(access_token, page=1, page_size=25):
|
def get_orders(access_token, page=1, page_size=25):
|
||||||
url = f"{BASE_URL}/orders"
|
url = f"{BASE_URL}/orders"
|
||||||
|
|
||||||
|
|
@ -78,7 +78,8 @@ def download_prices():
|
||||||
print("Каталог цен скачан.")
|
print("Каталог цен скачан.")
|
||||||
|
|
||||||
|
|
||||||
def create_order(access_token, sku, quantity, unit_price, partner_order_id):
|
def create_order(sku, quantity, unit_price, partner_order_id):
|
||||||
|
# try:
|
||||||
url = f"{BASE_URL}/orders"
|
url = f"{BASE_URL}/orders"
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
|
|
@ -89,20 +90,43 @@ def create_order(access_token, sku, quantity, unit_price, partner_order_id):
|
||||||
payload = {
|
payload = {
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"sku": sku,
|
"sku": int(sku),
|
||||||
"quantity": quantity,
|
"quantity": int(quantity),
|
||||||
"unitPrice": unit_price
|
"unitPrice": float(unit_price)
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"partnerOrderId": partner_order_id
|
"partnerOrderId": partner_order_id
|
||||||
}
|
}
|
||||||
|
|
||||||
response = requests.post(url, headers=headers, json=payload)
|
try:
|
||||||
response.raise_for_status()
|
response = requests.post(url, json=payload, headers=headers, timeout=30)
|
||||||
|
|
||||||
|
# 🔥 Самое важное: если статус не 2xx — печатаем детали ошибки
|
||||||
|
if response.status_code >= 400:
|
||||||
|
print(f"\n❌ Ошибка {response.status_code}")
|
||||||
|
print(f"🔍 URL: {response.url}")
|
||||||
|
print(f"📦 Тело запроса: {payload}")
|
||||||
|
print(f"📄 Ответ сервера (raw): {response.text}")
|
||||||
|
|
||||||
|
# Пробуем распарсить как JSON, если сервер возвращает структурированную ошибку
|
||||||
|
try:
|
||||||
|
error_data = response.json()
|
||||||
|
print(f"🧩 Ответ сервера (json): {error_data}")
|
||||||
|
except ValueError:
|
||||||
|
pass # Ответ не JSON, уже напечатали raw выше
|
||||||
|
|
||||||
|
response.raise_for_status() # Всё равно выбрасываем исключение
|
||||||
|
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
def get_orders(access_token, page=1, page_size=25):
|
except requests.exceptions.RequestException as e:
|
||||||
|
print(f"🌐 Сетевая ошибка: {e}")
|
||||||
|
raise
|
||||||
|
# print(response.json())
|
||||||
|
|
||||||
|
# return response.json()
|
||||||
|
|
||||||
|
def get_orders(page=1, page_size=25):
|
||||||
url = f"{BASE_URL}/orders"
|
url = f"{BASE_URL}/orders"
|
||||||
|
|
||||||
headers = {
|
headers = {
|
||||||
|
|
@ -138,14 +162,14 @@ def get_order_content(order_id):
|
||||||
return content
|
return content
|
||||||
|
|
||||||
|
|
||||||
# content = get_order_content(5379484)
|
# content = get_order_content(5379499)
|
||||||
# print(content)
|
# print(content)
|
||||||
|
|
||||||
# orders = get_orders(access_token)
|
# orders = get_orders()
|
||||||
# print(orders)
|
# print(orders)
|
||||||
|
|
||||||
|
|
||||||
# order = create_order(access_token, 22774, 1, 21.17, "my-test-order-123")
|
# order = create_order(22774, 1, 21.3, "my-test-order-12w3")
|
||||||
# print(order)
|
# print(order)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -2,8 +2,9 @@ from flask import Blueprint, request, jsonify
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import json
|
import json
|
||||||
# from services.rokky import ones
|
# from services.rokky import ones
|
||||||
# from API.rok import get_order_content
|
from API.rok import create_order
|
||||||
from API.TG import send_telegram
|
from API.TG import send_telegram
|
||||||
|
from services.orders import get_sku
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30,10 +31,14 @@ def index1():
|
||||||
|
|
||||||
# всё остальное сохраняем как JSON
|
# всё остальное сохраняем как JSON
|
||||||
content = json.dumps(params, ensure_ascii=False)
|
content = json.dumps(params, ensure_ascii=False)
|
||||||
send_telegram(content)
|
db_sku, db_price = get_sku(sku)
|
||||||
|
create_order(db_sku, price, db_price, f"my-test-order-{product_id}")
|
||||||
|
# send_telegram(content)
|
||||||
conn = sqlite3.connect(DB_PATH)
|
conn = sqlite3.connect(DB_PATH)
|
||||||
cursor = conn.cursor()
|
cursor = conn.cursor()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cursor.execute("""
|
cursor.execute("""
|
||||||
INSERT INTO orders (sku, product_id, email, price, content)
|
INSERT INTO orders (sku, product_id, email, price, content)
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,40 @@
|
||||||
|
import sqlite3
|
||||||
|
|
||||||
|
# Получаем sku из параметров
|
||||||
|
def get_sku(sku):
|
||||||
|
if sku:
|
||||||
|
# Подключаемся к БД
|
||||||
|
conn = sqlite3.connect("./files/rokky.db")
|
||||||
|
cursor = conn.cursor()
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Выполняем поиск: выбираем sku и gg, где sku совпадает с искомым
|
||||||
|
# Используем (sku,) как кортеж для передачи параметра
|
||||||
|
cursor.execute("SELECT sku, gg, price FROM products WHERE gg = ?", (sku,))
|
||||||
|
|
||||||
|
# Получаем одну запись
|
||||||
|
result = cursor.fetchone()
|
||||||
|
|
||||||
|
if result:
|
||||||
|
db_sku, db_gg, db_price = result
|
||||||
|
# Выводим sku из таблицы
|
||||||
|
print(f"Найденный SKU: {db_sku}")
|
||||||
|
|
||||||
|
# # Если нужно также вывести значение из колонки gg:
|
||||||
|
# print(f"Значение gg: {db_gg}")
|
||||||
|
print(f"Значение price: {db_price}")
|
||||||
|
return db_sku, db_price
|
||||||
|
else:
|
||||||
|
print(f"Товар с SKU {sku} не найден")
|
||||||
|
|
||||||
|
except sqlite3.Error as e:
|
||||||
|
print(f"Ошибка базы данных: {e}")
|
||||||
|
|
||||||
|
finally:
|
||||||
|
# Обязательно закрываем соединение
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# get_sku(102180432)
|
||||||
|
|
@ -1,4 +1,17 @@
|
||||||
import datetime
|
import datetime
|
||||||
|
from API.rok import download_products, download_prices
|
||||||
|
from API.rokky import decrypt_and_unpack, add_product, update_prices
|
||||||
|
|
||||||
def run_task():
|
def run_task():
|
||||||
print("REDs service работает:", datetime.datetime.now())
|
download_prices()
|
||||||
|
decrypt_and_unpack("prices")
|
||||||
|
update_prices()
|
||||||
|
print("REDs download_prices:", datetime.datetime.now())
|
||||||
|
|
||||||
|
|
||||||
|
def run_task1():
|
||||||
|
download_products()
|
||||||
|
decrypt_and_unpack("products")
|
||||||
|
add_product()
|
||||||
|
print("REDs download__product:", datetime.datetime.now())
|
||||||
|
|
||||||
|
|
@ -7,6 +7,6 @@ def start_scheduler():
|
||||||
scheduler = BackgroundScheduler()
|
scheduler = BackgroundScheduler()
|
||||||
|
|
||||||
# каждые 10 секунд
|
# каждые 10 секунд
|
||||||
scheduler.add_job(run_task, 'interval', seconds=10)
|
scheduler.add_job(run_task, 'interval', minutes=10)
|
||||||
|
|
||||||
scheduler.start()
|
scheduler.start()
|
||||||
Loading…
Reference in New Issue