fixed job列表增加分支来源条件查询
This commit is contained in:
parent
b22c5ae348
commit
3149a17212
|
@ -152,7 +152,7 @@ class Job(Controller):
|
|||
self,
|
||||
name: str = Query(..., description='同步工程名'),
|
||||
search: Optional[str] = Query(None, description='同步工程搜索内容'),
|
||||
orderby: Optional[str] = Query(None, description='排序选项'),
|
||||
source: Optional[str] = Query(None, description='分支来源'),
|
||||
pageNum: Optional[int] = Query(1, description="Page number"),
|
||||
pageSize: Optional[int] = Query(10, description="Page size")
|
||||
):
|
||||
|
@ -161,14 +161,14 @@ class Job(Controller):
|
|||
service = JobService()
|
||||
if search is not None:
|
||||
search = search.replace(" ", "")
|
||||
answer = await service.list_jobs(project=name, search=search, page=pageNum, size=pageSize)
|
||||
answer = await service.list_jobs(project=name, search=search, source=source, page=pageNum, size=pageSize)
|
||||
if not answer:
|
||||
return Response(
|
||||
code=Code.SUCCESS,
|
||||
data=DataList(total=0, list=[]),
|
||||
msg="没有同步流"
|
||||
)
|
||||
count = await service.count_job(project=name, search=search)
|
||||
count = await service.count_job(project=name, search=search, source=source)
|
||||
return Response(
|
||||
code=Code.SUCCESS,
|
||||
data=DataList(total=count, list=answer),
|
||||
|
|
|
@ -79,7 +79,7 @@ class JobService(Service):
|
|||
def __init__(self) -> None:
|
||||
self._job_dao = JobDAO()
|
||||
|
||||
async def list_jobs(self, project: Optional[str] = None, search: Optional[str] = None, page: int = 1, size: int = 20) -> Optional[List[JobDTO]]:
|
||||
async def list_jobs(self, project: Optional[str] = None, search: Optional[str] = None, source: Optional[str] = None, page: int = 1, size: int = 20) -> Optional[List[JobDTO]]:
|
||||
cond = None
|
||||
start = (page - 1) * size
|
||||
if project is None:
|
||||
|
@ -89,6 +89,9 @@ class JobService(Service):
|
|||
if search is not None:
|
||||
cond = text(
|
||||
f"project = '{project}' and github_branch like '%{search}%'")
|
||||
if source is not None:
|
||||
cond = text(
|
||||
f"project = '{project}' and LENGTH({source}) !=0")
|
||||
all = await self._job_dao.fetch(cond, start=start, limit=size)
|
||||
if not all:
|
||||
return None
|
||||
|
@ -124,16 +127,17 @@ class JobService(Service):
|
|||
async def get_count(self, cond: Any = None) -> int:
|
||||
return await self._job_dao._count(JobDO, cond)
|
||||
|
||||
async def count_job(self, project: Optional[str] = None, search: Optional[str] = None) -> int:
|
||||
async def count_job(self, project: Optional[str] = None, search: Optional[str] = None, source: Optional[str] = None) -> int:
|
||||
if not project:
|
||||
return await self.get_count()
|
||||
else:
|
||||
cond = text(f"project = '{project}'")
|
||||
if search is not None:
|
||||
cond = text(
|
||||
f"project = '{project}' and github_branch like '%{search}%'")
|
||||
else:
|
||||
if source is not None:
|
||||
cond = text(
|
||||
f"project = '{project}'")
|
||||
f"project = '{project}' and LENGTH({source}) !=0")
|
||||
return await self.get_count(cond, )
|
||||
|
||||
async def update_status(self, _id: int, _status: bool) -> bool:
|
||||
|
|
Loading…
Reference in New Issue