old ver
This commit is contained in:
parent
bec1968df6
commit
4f871d20f1
66
app/main.py
66
app/main.py
|
@ -157,10 +157,17 @@ async def tg_intgr_get(request: Request):
|
||||||
logger.info(e)
|
logger.info(e)
|
||||||
return {"status": "error"}
|
return {"status": "error"}
|
||||||
|
|
||||||
|
def extract_id(params):
|
||||||
@app.post("/deal_tab/{deal_id}")
|
json_strings = params.get("PLACEMENT_OPTIONS", [])
|
||||||
async def deal_tab(request: Request, deal_id):
|
for json_str in json_strings:
|
||||||
try:
|
try:
|
||||||
|
data = json.loads(json_str)
|
||||||
|
if "ID" in data:
|
||||||
|
return data["ID"]
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
print(f"Ошибка: Некорректная JSON-строка - {json_str}")
|
||||||
|
|
||||||
|
def get_task_by_deal(deal_id):
|
||||||
select = [
|
select = [
|
||||||
"ID",
|
"ID",
|
||||||
"TITLE",
|
"TITLE",
|
||||||
|
@ -181,6 +188,49 @@ async def deal_tab(request: Request, deal_id):
|
||||||
task_data_json = task_data.json()
|
task_data_json = task_data.json()
|
||||||
result += task_data_json["result"]["tasks"]
|
result += task_data_json["result"]["tasks"]
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
@app.post("/deal_tab")
|
||||||
|
async def deal_tab(
|
||||||
|
request: Request,
|
||||||
|
DOMAIN: str | None = None,
|
||||||
|
PROTOCOL: str | None = None,
|
||||||
|
LANG: str | None = None,
|
||||||
|
APP_SID: str | None = None,
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
body = await request.body()
|
||||||
|
b_str = body.decode()
|
||||||
|
result = parse_qs(b_str)
|
||||||
|
q = [DOMAIN, PROTOCOL, LANG, APP_SID]
|
||||||
|
|
||||||
|
|
||||||
|
deal_id = extract_id(result)
|
||||||
|
if not deal_id:
|
||||||
|
raise('not deal id')
|
||||||
|
deal_id = 49
|
||||||
|
|
||||||
|
result = get_task_by_deal(deal_id)
|
||||||
|
|
||||||
|
# logger.info(task_data_json["result"]["tasks"])
|
||||||
|
parts = WEBHOOK.split("/")
|
||||||
|
domain = f"https://{parts[2]}"
|
||||||
|
return templates.TemplateResponse(
|
||||||
|
request=request,
|
||||||
|
name="deal_tab.html",
|
||||||
|
context={"tasks": result, "domain": domain},
|
||||||
|
)
|
||||||
|
|
||||||
|
return {"status": "success", "result": task_data_json}
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(e)
|
||||||
|
return {"status": "error"}
|
||||||
|
|
||||||
|
@app.post("/widget/deal_tab/{deal_id}")
|
||||||
|
async def deal_tab(request: Request, deal_id):
|
||||||
|
try:
|
||||||
|
result = get_task_by_deal(deal_id)
|
||||||
|
|
||||||
# logger.info(task_data_json["result"]["tasks"])
|
# logger.info(task_data_json["result"]["tasks"])
|
||||||
parts = WEBHOOK.split("/")
|
parts = WEBHOOK.split("/")
|
||||||
domain = f"https://{parts[2]}"
|
domain = f"https://{parts[2]}"
|
||||||
|
@ -206,16 +256,6 @@ async def handle_widget_post(request: Request):
|
||||||
b_str = body.decode()
|
b_str = body.decode()
|
||||||
result = parse_qs(b_str)
|
result = parse_qs(b_str)
|
||||||
|
|
||||||
def extract_id(params):
|
|
||||||
json_strings = params.get("PLACEMENT_OPTIONS", [])
|
|
||||||
for json_str in json_strings:
|
|
||||||
try:
|
|
||||||
data = json.loads(json_str)
|
|
||||||
if "ID" in data:
|
|
||||||
return data["ID"]
|
|
||||||
except json.JSONDecodeError:
|
|
||||||
print(f"Ошибка: Некорректная JSON-строка - {json_str}")
|
|
||||||
|
|
||||||
deal_id = extract_id(result)
|
deal_id = extract_id(result)
|
||||||
if not deal_id:
|
if not deal_id:
|
||||||
raise ("not deal id")
|
raise ("not deal id")
|
||||||
|
|
|
@ -38,7 +38,7 @@ export interface GroupClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
const loadData = async (deal_id: number) => {
|
const loadData = async (deal_id: number) => {
|
||||||
const res = await $fetch<Data>(`${config.public.apiBase}/deal_tab/${deal_id}`, { method: 'POST' })
|
const res = await $fetch<Data>(`${config.public.apiBase}/widget/deal_tab/${deal_id}`, { method: 'POST' })
|
||||||
if (res.status == 'success') {
|
if (res.status == 'success') {
|
||||||
data.value = res.result
|
data.value = res.result
|
||||||
formatter.value = res.format
|
formatter.value = res.format
|
||||||
|
|
Loading…
Reference in New Issue