chore: 基线提交(重构前快照)

重构前保存现有 apps/ 结构基线,供后续各阶段回滚。

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2026-08-07 09:43:18 +08:00
co-authored by Claude
commit dbcce79536
112 changed files with 9677 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
from apps.models.user_role import UserRole
from apps.models.role import Role
from extensions import get_db_session
# 根据用户ID查询角色列表
def get_user_role_list(userId):
db = get_db_session()
rows = (
db.query(Role.id, Role.name)
.join(UserRole, UserRole.role_id == Role.id)
.filter(UserRole.user_id == userId, Role.is_delete == 0)
.all()
)
role_list = []
if rows:
for v in rows:
item = {
'id': v.id,
'name': v.name,
}
role_list.append(item)
return role_list
# 根据用户ID列表批量查询角色,返回 {user_id: [{id, name}, ...]} 字典
def get_user_role_map(user_ids):
if not user_ids:
return {}
db = get_db_session()
# 用ORM查询替代原生SQL,避免tuple单元素/空列表的IN语法问题
from apps.models.user_role import UserRole
from apps.models.role import Role
rows = (
db.query(UserRole.user_id, Role.id.label('role_id'), Role.name.label('role_name'))
.join(Role, Role.id == UserRole.role_id)
.filter(UserRole.user_id.in_(user_ids), Role.is_delete == 0)
.all()
)
role_map = {}
for row in rows:
uid = row.user_id
if uid not in role_map:
role_map[uid] = []
role_map[uid].append({'id': row.role_id, 'name': row.role_name})
return role_map