feat: 添加数据库索引优化查询性能

refactor(前端): 使用useMemo和useCallback优化性能
perf(后端): 优化统计查询性能
style: 统一前端样式定义
build: 添加创建索引脚本
This commit is contained in:
zhang1106
2026-01-20 14:31:20 +08:00
parent 88e000a41a
commit a2f0032bad
25 changed files with 803 additions and 701 deletions
+28 -10
View File
@@ -51,20 +51,38 @@ router.get('/', authMiddleware, async (req, res) => {
order: [['createdAt', 'DESC']]
});
for (const user of users) {
const userRoles = await UserRole.findAll({
if (users.length > 0) {
const userIds = users.map(u => u.userId);
const allUserRoles = await UserRole.findAll({
include: [{
model: Role,
where: { status: 'active' }
where: { status: 'active' },
attributes: ['roleId', 'roleName', 'roleCode']
}],
where: { UserId: user.userId }
where: {
UserId: { [Op.in]: userIds }
}
});
const userRolesMap = {};
allUserRoles.forEach(ur => {
if (!userRolesMap[ur.UserId]) {
userRolesMap[ur.UserId] = [];
}
userRolesMap[ur.UserId].push({
roleId: ur.Role.roleId,
roleName: ur.Role.roleName,
roleCode: ur.Role.roleCode
});
});
users.forEach(user => {
user.dataValues.roles = userRolesMap[user.userId] || [];
});
} else {
users.forEach(user => {
user.dataValues.roles = [];
});
user.dataValues.roles = userRoles.map(ur => ({
roleId: ur.Role.roleId,
roleName: ur.Role.roleName,
roleCode: ur.Role.roleCode
}));
}
res.json({