Skip to content

Commit 233241c

Browse files
committed
Optimize admin app
1 parent 9fc6bdf commit 233241c

33 files changed

+908
-326
lines changed

backend/app/admin/api/v1/sys/dept.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ async def get_dept(pk: Annotated[int, Path(...)]) -> ResponseSchemaModel[GetDept
2121

2222

2323
@router.get('', summary='获取所有部门展示树', dependencies=[DependsJwtAuth])
24-
async def get_all_depts_tree(
24+
async def get_all_depts(
2525
name: Annotated[str | None, Query()] = None,
2626
leader: Annotated[str | None, Query()] = None,
2727
phone: Annotated[str | None, Query()] = None,

backend/app/admin/crud/crud_config.py

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,54 +12,55 @@
1212

1313

1414
class CRUDConfig(CRUDPlus[Config]):
15+
"""系统配置数据库操作类"""
16+
1517
async def get(self, db: AsyncSession, pk: int) -> Config | None:
1618
"""
17-
获取系统参数配置
19+
获取配置详情
1820
19-
:param db:
20-
:param pk:
21+
:param db: 数据库会话
22+
:param pk: 配置 ID
2123
:return:
2224
"""
2325
return await self.select_model_by_column(db, id=pk, type__not_in=admin_settings.CONFIG_BUILT_IN_TYPES)
2426

2527
async def get_by_type(self, db: AsyncSession, type: str) -> Sequence[Config]:
2628
"""
27-
通过 type 获取内置系统配置
29+
通过类型获取配置
2830
29-
:param db:
30-
:param type:
31+
:param db: 数据库会话
32+
:param type: 配置类型
3133
:return:
3234
"""
3335
return await self.select_models(db, type=type)
3436

3537
async def get_by_key_and_type(self, db: AsyncSession, key: str, type: str) -> Config | None:
3638
"""
37-
通过 name 和 type 获取内置系统配置
39+
通过键名和类型获取配置
3840
39-
:param db:
40-
:param key:
41-
:param type:
41+
:param db: 数据库会话
42+
:param key: 配置键名
43+
:param type: 配置类型
4244
:return:
4345
"""
4446
return await self.select_model_by_column(db, key=key, type=type)
4547

4648
async def get_by_key(self, db: AsyncSession, key: str) -> Config | None:
4749
"""
48-
通过 key 获取系统配置参数
50+
通过键名获取配置
4951
50-
:param db:
51-
:param key:
52-
:param built_in:
52+
:param db: 数据库会话
53+
:param key: 配置键名
5354
:return:
5455
"""
5556
return await self.select_model_by_column(db, key=key)
5657

57-
async def get_list(self, name: str = None, type: str = None) -> Select:
58+
async def get_list(self, name: str | None = None, type: str | None = None) -> Select:
5859
"""
59-
获取系统参数配置列表
60+
获取配置列表
6061
61-
:param name:
62-
:param type:
62+
:param name: 配置名称
63+
:param type: 配置类型
6364
:return:
6465
"""
6566
filters = {'type__not_in': admin_settings.CONFIG_BUILT_IN_TYPES}
@@ -71,31 +72,31 @@ async def get_list(self, name: str = None, type: str = None) -> Select:
7172

7273
async def create(self, db: AsyncSession, obj_in: CreateConfigParam) -> None:
7374
"""
74-
创建 Config
75+
创建配置
7576
76-
:param db:
77-
:param obj_in:
77+
:param db: 数据库会话
78+
:param obj_in: 创建参数
7879
:return:
7980
"""
8081
await self.create_model(db, obj_in)
8182

8283
async def update(self, db: AsyncSession, pk: int, obj_in: UpdateConfigParam) -> int:
8384
"""
84-
更新 Config
85+
更新配置
8586
86-
:param db:
87-
:param pk:
88-
:param obj_in:
87+
:param db: 数据库会话
88+
:param pk: 配置 ID
89+
:param obj_in: 更新参数
8990
:return:
9091
"""
9192
return await self.update_model(db, pk, obj_in)
9293

9394
async def delete(self, db: AsyncSession, pk: list[int]) -> int:
9495
"""
95-
删除 Config
96+
删除配置
9697
97-
:param db:
98-
:param pk:
98+
:param db: 数据库会话
99+
:param pk: 配置 ID 列表
99100
:return:
100101
"""
101102
return await self.delete_model_by_column(

backend/app/admin/crud/crud_data_rule.py

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,23 @@
1212

1313

1414
class CRUDDataRule(CRUDPlus[DataRule]):
15+
"""数据权限规则数据库操作类"""
16+
1517
async def get(self, db: AsyncSession, pk: int) -> DataRule | None:
1618
"""
17-
获取数据权限规则
19+
获取规则详情
1820
19-
:param db:
20-
:param pk:
21+
:param db: 数据库会话
22+
:param pk: 规则 ID
2123
:return:
2224
"""
2325
return await self.select_model(db, pk)
2426

25-
async def get_list(self, name: str = None) -> Select:
27+
async def get_list(self, name: str | None = None) -> Select:
2628
"""
27-
获取数据权限规则列表
29+
获取规则列表
2830
31+
:param name: 规则名称
2932
:return:
3033
"""
3134
stmt = select(self.model).options(noload(self.model.roles)).order_by(desc(self.model.created_time))
@@ -36,52 +39,52 @@ async def get_list(self, name: str = None) -> Select:
3639
stmt = stmt.where(*where_list)
3740
return stmt
3841

39-
async def get_by_name(self, db: AsyncSession, name: str):
42+
async def get_by_name(self, db: AsyncSession, name: str) -> DataRule | None:
4043
"""
41-
通过 name 获取数据权限规则
44+
通过名称获取规则
4245
43-
:param db:
44-
:param name:
46+
:param db: 数据库会话
47+
:param name: 规则名称
4548
:return:
4649
"""
4750
return await self.select_model_by_column(db, name=name)
4851

4952
async def get_all(self, db: AsyncSession) -> Sequence[DataRule]:
5053
"""
51-
获取所有数据权限规则
54+
获取所有规则
5255
53-
:param db:
56+
:param db: 数据库会话
5457
:return:
5558
"""
5659
return await self.select_models(db)
5760

5861
async def create(self, db: AsyncSession, obj_in: CreateDataRuleParam) -> None:
5962
"""
60-
创建数据权限规则
63+
创建规则
6164
62-
:param db:
63-
:param obj_in:
65+
:param db: 数据库会话
66+
:param obj_in: 创建参数
6467
:return:
6568
"""
6669
await self.create_model(db, obj_in)
6770

6871
async def update(self, db: AsyncSession, pk: int, obj_in: UpdateDataRuleParam) -> int:
6972
"""
70-
更新数据权限规则
73+
更新规则
7174
72-
:param db:
73-
:param pk:
74-
:param obj_in:
75+
:param db: 数据库会话
76+
:param pk: 规则 ID
77+
:param obj_in: 更新参数
7578
:return:
7679
"""
7780
return await self.update_model(db, pk, obj_in)
7881

7982
async def delete(self, db: AsyncSession, pk: list[int]) -> int:
8083
"""
81-
删除数据权限规则
84+
删除规则
8285
83-
:param db:
84-
:param pk:
86+
:param db: 数据库会话
87+
:param pk: 规则 ID 列表
8588
:return:
8689
"""
8790
return await self.delete_model_by_column(db, allow_multiple=True, id__in=pk)

backend/app/admin/crud/crud_dept.py

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,44 @@
1212

1313

1414
class CRUDDept(CRUDPlus[Dept]):
15+
"""部门数据库操作类"""
16+
1517
async def get(self, db: AsyncSession, dept_id: int) -> Dept | None:
1618
"""
17-
获取部门
19+
获取部门详情
1820
19-
:param db:
20-
:param dept_id:
21+
:param db: 数据库会话
22+
:param dept_id: 部门 ID
2123
:return:
2224
"""
2325
return await self.select_model_by_column(db, id=dept_id, del_flag=0)
2426

2527
async def get_by_name(self, db: AsyncSession, name: str) -> Dept | None:
2628
"""
27-
通过 name 获取 API
29+
通过名称获取部门
2830
29-
:param db:
30-
:param name:
31+
:param db: 数据库会话
32+
:param name: 部门名称
3133
:return:
3234
"""
3335
return await self.select_model_by_column(db, name=name, del_flag=0)
3436

3537
async def get_all(
36-
self, db: AsyncSession, name: str = None, leader: str = None, phone: str = None, status: int = None
38+
self,
39+
db: AsyncSession,
40+
name: str | None = None,
41+
leader: str | None = None,
42+
phone: str | None = None,
43+
status: int | None = None,
3744
) -> Sequence[Dept]:
3845
"""
3946
获取所有部门
4047
41-
:param db:
42-
:param name:
43-
:param leader:
44-
:param phone:
45-
:param status:
48+
:param db: 数据库会话
49+
:param name: 部门名称
50+
:param leader: 负责人
51+
:param phone: 联系电话
52+
:param status: 部门状态
4653
:return:
4754
"""
4855
filters = {'del_flag__eq': 0}
@@ -60,8 +67,8 @@ async def create(self, db: AsyncSession, obj_in: CreateDeptParam) -> None:
6067
"""
6168
创建部门
6269
63-
:param db:
64-
:param obj_in:
70+
:param db: 数据库会话
71+
:param obj_in: 创建参数
6572
:return:
6673
"""
6774
await self.create_model(db, obj_in)
@@ -70,9 +77,9 @@ async def update(self, db: AsyncSession, dept_id: int, obj_in: UpdateDeptParam)
7077
"""
7178
更新部门
7279
73-
:param db:
74-
:param dept_id:
75-
:param obj_in:
80+
:param db: 数据库会话
81+
:param dept_id: 部门 ID
82+
:param obj_in: 更新参数
7683
:return:
7784
"""
7885
return await self.update_model(db, dept_id, obj_in)
@@ -81,18 +88,18 @@ async def delete(self, db: AsyncSession, dept_id: int) -> int:
8188
"""
8289
删除部门
8390
84-
:param db:
85-
:param dept_id:
91+
:param db: 数据库会话
92+
:param dept_id: 部门 ID
8693
:return:
8794
"""
8895
return await self.delete_model_by_column(db, id=dept_id, logical_deletion=True, deleted_flag_column='del_flag')
8996

9097
async def get_with_relation(self, db: AsyncSession, dept_id: int) -> list[User]:
9198
"""
92-
获取关联
99+
获取部门及关联数据
93100
94-
:param db:
95-
:param dept_id:
101+
:param db: 数据库会话
102+
:param dept_id: 部门 ID
96103
:return:
97104
"""
98105
stmt = select(self.model).options(selectinload(self.model.users)).where(self.model.id == dept_id)
@@ -102,10 +109,10 @@ async def get_with_relation(self, db: AsyncSession, dept_id: int) -> list[User]:
102109

103110
async def get_children(self, db: AsyncSession, dept_id: int) -> list[Dept]:
104111
"""
105-
获取子部门
112+
获取子部门列表
106113
107-
:param db:
108-
:param dept_id:
114+
:param db: 数据库会话
115+
:param dept_id: 部门 ID
109116
:return:
110117
"""
111118
stmt = select(self.model).options(selectinload(self.model.children)).where(self.model.id == dept_id)

0 commit comments

Comments
 (0)