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)
|
||||
return {"status": "error"}
|
||||
|
||||
|
||||
@app.post("/deal_tab/{deal_id}")
|
||||
async def deal_tab(request: Request, deal_id):
|
||||
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}")
|
||||
|
||||
def get_task_by_deal(deal_id):
|
||||
select = [
|
||||
"ID",
|
||||
"TITLE",
|
||||
|
@ -181,6 +188,49 @@ async def deal_tab(request: Request, deal_id):
|
|||
task_data_json = task_data.json()
|
||||
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"])
|
||||
parts = WEBHOOK.split("/")
|
||||
domain = f"https://{parts[2]}"
|
||||
|
@ -206,16 +256,6 @@ async def handle_widget_post(request: Request):
|
|||
b_str = body.decode()
|
||||
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)
|
||||
if not deal_id:
|
||||
raise ("not deal id")
|
||||
|
|
|
@ -38,7 +38,7 @@ export interface GroupClass {
|
|||
}
|
||||
|
||||
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') {
|
||||
data.value = res.result
|
||||
formatter.value = res.format
|
||||
|
|
Loading…
Reference in New Issue