dubles Task and href titles
This commit is contained in:
parent
c3ccf505a8
commit
4210b4cab1
15840
logs/app.log
15840
logs/app.log
File diff suppressed because it is too large
Load Diff
53133
logs/app.log.1
53133
logs/app.log.1
File diff suppressed because it is too large
Load Diff
49352
logs/app.log.2
49352
logs/app.log.2
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
import asyncio
|
||||||
|
from sqlalchemy import select, func
|
||||||
|
from database import get_async_session, Job
|
||||||
|
|
||||||
|
async def count_jobs():
|
||||||
|
async for session in get_async_session(): # get_async_session возвращает async generator
|
||||||
|
result = await session.execute(select(func.count()).select_from(Job))
|
||||||
|
count = result.scalar_one()
|
||||||
|
print(f"Всего записей: {count}")
|
||||||
|
|
||||||
|
asyncio.run(count_jobs())
|
||||||
|
|
7060
search_jobes2.json
7060
search_jobes2.json
File diff suppressed because it is too large
Load Diff
|
@ -67,7 +67,7 @@
|
||||||
{% for job in jobs %}
|
{% for job in jobs %}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="border-b">
|
<td class="border-b">
|
||||||
<a href="{{ job.job.link }}" target="_blank" class="font-medium whitespace-no-wrap">{{ job.job.job_title [:50] }}</a>
|
<a href="{{ job.job.link }}" target="_blank" class="client-link text-blue-500">{{ job.job.job_title [:50] }}</a>
|
||||||
<div class="text-gray-600 text-xs whitespace-no-wrap">{{ job.job.job_id }}</div>
|
<div class="text-gray-600 text-xs whitespace-no-wrap">{{ job.job.job_id }}</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center border-b">{{job.job.job_company}}</td>
|
<td class="text-center border-b">{{job.job.job_company}}</td>
|
||||||
|
|
|
@ -8,6 +8,7 @@ from sqlalchemy.orm import joinedload
|
||||||
from sqlalchemy import delete
|
from sqlalchemy import delete
|
||||||
from sqlalchemy import update
|
from sqlalchemy import update
|
||||||
from sqlalchemy import or_
|
from sqlalchemy import or_
|
||||||
|
from sqlalchemy import select, and_
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
from model.database import Client, AppliedJob, Job
|
from model.database import Client, AppliedJob, Job
|
||||||
|
|
||||||
|
@ -126,29 +127,62 @@ async def del_jobs(db: AsyncSession, user_id: str):
|
||||||
await db.commit()
|
await db.commit()
|
||||||
|
|
||||||
|
|
||||||
|
# async def add_jobs(db: AsyncSession, user_id: str):
|
||||||
|
# # Фильтруем вакансии по переданным параметрам
|
||||||
|
# query = select(Job).filter(Job.active == 3)
|
||||||
|
# result = await db.execute(query)
|
||||||
|
# jobs = result.scalars().all() # Получаем список вакансий
|
||||||
|
|
||||||
|
# if not jobs:
|
||||||
|
# return {"message": "Нет вакансий по данному фильтру"}
|
||||||
|
|
||||||
|
# # Создаём записи в AppliedJob
|
||||||
|
# applied_jobs = [
|
||||||
|
# AppliedJob(client_id=user_id, job_id=job.job_id, status="Scheduled")
|
||||||
|
# for job in jobs
|
||||||
|
# ]
|
||||||
|
|
||||||
|
# db.add_all(applied_jobs) # Добавляем в сессию
|
||||||
|
# await db.commit() # Фиксируем изменения
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# return {"message": f"{len(applied_jobs)} вакансий добавлено в AppliedJob"}
|
||||||
|
|
||||||
|
|
||||||
async def add_jobs(db: AsyncSession, user_id: str):
|
async def add_jobs(db: AsyncSession, user_id: str):
|
||||||
# Фильтруем вакансии по переданным параметрам
|
# Получаем все активные вакансии (предполагаю, что ты хотел использовать True, а не 3)
|
||||||
query = select(Job).filter(Job.active == 3)
|
query = select(Job).filter(Job.active == 3)
|
||||||
result = await db.execute(query)
|
result = await db.execute(query)
|
||||||
jobs = result.scalars().all() # Получаем список вакансий
|
jobs = result.scalars().all()
|
||||||
|
|
||||||
if not jobs:
|
if not jobs:
|
||||||
return {"message": "Нет вакансий по данному фильтру"}
|
return {"message": "Нет вакансий по данному фильтру"}
|
||||||
|
|
||||||
# Создаём записи в AppliedJob
|
applied_jobs = []
|
||||||
applied_jobs = [
|
|
||||||
AppliedJob(client_id=user_id, job_id=job.job_id, status="Scheduled")
|
|
||||||
for job in jobs
|
|
||||||
]
|
|
||||||
|
|
||||||
db.add_all(applied_jobs) # Добавляем в сессию
|
for job in jobs:
|
||||||
await db.commit() # Фиксируем изменения
|
# Проверка, существует ли уже AppliedJob с таким client_id и job_id
|
||||||
|
check_query = select(AppliedJob).where(
|
||||||
|
and_(
|
||||||
|
AppliedJob.client_id == user_id,
|
||||||
return {"message": f"{len(applied_jobs)} вакансий добавлено в AppliedJob"}
|
AppliedJob.job_id == job.job_id
|
||||||
|
)
|
||||||
|
)
|
||||||
|
check_result = await db.execute(check_query)
|
||||||
|
existing = check_result.scalar_one_or_none()
|
||||||
|
|
||||||
|
if not existing:
|
||||||
|
applied_jobs.append(
|
||||||
|
AppliedJob(client_id=user_id, job_id=job.job_id, status="Scheduled")
|
||||||
|
)
|
||||||
|
|
||||||
|
if applied_jobs:
|
||||||
|
db.add_all(applied_jobs)
|
||||||
|
await db.commit()
|
||||||
|
print (f'{"message": f"{len(applied_jobs)} вакансий добавлено в AppliedJob"}')
|
||||||
|
else:
|
||||||
|
print (f'{"message": "Все вакансии уже были добавлены ранее"}')
|
||||||
|
|
||||||
|
|
||||||
async def get_applied_jobs(db, client_id: int):
|
async def get_applied_jobs(db, client_id: int):
|
||||||
|
|
Loading…
Reference in New Issue