Skip to content

Commit 93f4f28

Browse files
committed
Update the dict pagination query parameters
1 parent b96402e commit 93f4f28

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

backend/plugin/dict/api/v1/sys/dict_data.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
CreateDictDataParam,
1515
DeleteDictDataParam,
1616
GetDictDataDetail,
17-
GetDictDataWithRelation,
1817
UpdateDictDataParam,
1918
)
2019
from backend.plugin.dict.service.dict_data_service import dict_data_service
@@ -31,7 +30,7 @@ async def get_all_dict_datas() -> ResponseSchemaModel[list[GetDictDataDetail]]:
3130
@router.get('/{pk}', summary='获取字典数据详情', dependencies=[DependsJwtAuth])
3231
async def get_dict_data(
3332
pk: Annotated[int, Path(description='字典数据 ID')],
34-
) -> ResponseSchemaModel[GetDictDataWithRelation]:
33+
) -> ResponseSchemaModel[GetDictDataDetail]:
3534
data = await dict_data_service.get(pk=pk)
3635
return response_base.success(data=data)
3736

@@ -49,8 +48,9 @@ async def get_dict_datas_paged(
4948
label: Annotated[str | None, Query(description='字典数据标签')] = None,
5049
value: Annotated[str | None, Query(description='字典数据键值')] = None,
5150
status: Annotated[int | None, Query(description='状态')] = None,
51+
type_id: Annotated[int | None, Query(description='字典类型 ID')] = None,
5252
) -> ResponseSchemaModel[PageData[GetDictDataDetail]]:
53-
dict_data_select = await dict_data_service.get_select(label=label, value=value, status=status)
53+
dict_data_select = await dict_data_service.get_select(label=label, value=value, status=status, type_id=type_id)
5454
page_data = await paging_data(db, dict_data_select)
5555
return response_base.success(data=page_data)
5656

backend/plugin/dict/crud/crud_dict_data.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ async def get(self, db: AsyncSession, pk: int) -> DictData | None:
2121
:param pk: 字典数据 ID
2222
:return:
2323
"""
24-
return await self.select_model(db, pk)
24+
return await self.select_model(db, pk, load_strategies={'type': 'noload'})
2525

2626
async def get_all(self, db: AsyncSession) -> Sequence[DictData]:
2727
"""
@@ -32,13 +32,14 @@ async def get_all(self, db: AsyncSession) -> Sequence[DictData]:
3232
"""
3333
return await self.select_models(db, load_strategies={'type': 'noload'})
3434

35-
async def get_list(self, label: str | None, value: str | None, status: int | None) -> Select:
35+
async def get_list(self, label: str | None, value: str | None, status: int | None, type_id: int | None) -> Select:
3636
"""
3737
获取字典数据列表
3838
3939
:param label: 字典数据标签
4040
:param value: 字典数据键值
4141
:param status: 字典状态
42+
:param type_id: 字典类型 ID
4243
:return:
4344
"""
4445
filters = {}
@@ -49,6 +50,8 @@ async def get_list(self, label: str | None, value: str | None, status: int | Non
4950
filters['value__like'] = f'%{value}%'
5051
if status is not None:
5152
filters['status'] = status
53+
if type_id is not None:
54+
filters['type_id'] = type_id
5255

5356
return await self.select_order('id', 'desc', load_strategies={'type': 'noload'}, **filters)
5457

backend/plugin/dict/schema/dict_data.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from backend.common.enums import StatusType
88
from backend.common.schema import SchemaBase
9-
from backend.plugin.dict.schema.dict_type import GetDictTypeDetail
109

1110

1211
class DictDataSchemaBase(SchemaBase):
@@ -42,9 +41,3 @@ class GetDictDataDetail(DictDataSchemaBase):
4241
id: int = Field(description='字典数据 ID')
4342
created_time: datetime = Field(description='创建时间')
4443
updated_time: datetime | None = Field(None, description='更新时间')
45-
46-
47-
class GetDictDataWithRelation(DictDataSchemaBase):
48-
"""字典数据关联详情"""
49-
50-
type: GetDictTypeDetail | None = Field(None, description='字典类型信息')

backend/plugin/dict/service/dict_data_service.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ async def get(*, pk: int) -> DictData:
2424
:return:
2525
"""
2626
async with async_db_session() as db:
27-
dict_data = await dict_data_dao.get_with_relation(db, pk)
27+
dict_data = await dict_data_dao.get(db, pk)
2828
if not dict_data:
2929
raise errors.NotFoundError(msg='字典数据不存在')
3030
return dict_data
@@ -36,16 +36,17 @@ async def get_all() -> Sequence[DictData]:
3636
return dict_datas
3737

3838
@staticmethod
39-
async def get_select(*, label: str | None, value: str | None, status: int | None) -> Select:
39+
async def get_select(*, label: str | None, value: str | None, status: int | None, type_id: int | None) -> Select:
4040
"""
4141
获取字典数据列表查询条件
4242
4343
:param label: 字典数据标签
4444
:param value: 字典数据键值
4545
:param status: 状态
46+
:param type_id: 字典类型 ID
4647
:return:
4748
"""
48-
return await dict_data_dao.get_list(label=label, value=value, status=status)
49+
return await dict_data_dao.get_list(label=label, value=value, status=status, type_id=type_id)
4950

5051
@staticmethod
5152
async def create(*, obj: CreateDictDataParam) -> None:

0 commit comments

Comments
 (0)