# 银龄库管理功能实施计划 ## 项目概述 基于现有`SilverUserProfile`实体,为管理后台设计完整的银龄库(银卡库)管理系统,实现对银龄人才的全面管理功能。 ## 技术架构 ### 1. 实体结构 使用现有的`SilverUserProfile`实体,包含以下核心字段: - 基本信息:姓名、年龄、性别、联系方式、头像 - 机构信息:所属组织、机构认证 - 技能信息:个人技能、经验、简介 - 认证状态:未认证、认证中、已认证、已拒绝 - 求职状态:未求职、积极求职、观望机会 - 统计数据:积分、简历数、申请数、时间银行小时数 - 知识贡献:分享数、阅读量、点赞数、排名 ### 2. 管理功能模块 #### 2.1 列表管理功能 - 分页查询所有银龄人才 - 多条件筛选(姓名、年龄、认证状态、求职状态等) - 排序功能(按创建时间、积分、排名等) - 批量操作(批量认证、批量导出) #### 2.2 详情管理功能 - 查看完整人才档案 - 编辑人才信息 - 认证状态管理 - 数据统计展示 #### 2.3 认证管理功能 - 认证审核流程 - 认证材料查看 - 认证状态批量更新 - 认证历史记录 #### 2.4 统计分析功能 - 人才总数统计 - 认证状态分布 - 年龄段分布 - 技能标签统计 - 活跃度排名 ## 实施步骤 ### 阶段一:后端API扩展(标准通用CRUD + 管理增强) #### 1.1 创建管理专用API路由 ``` src/server/api/silver-talents-admin/ ├── index.ts # 路由聚合 ├── get.ts # 管理列表查询 ├── [id]/ │ ├── get.ts # 管理详情查询 │ ├── put.ts # 管理员更新 │ └── patch.ts # 认证状态更新 └── stats.ts # 统计数据 ``` #### 1.2 扩展现有服务 在`SilverTalentService`基础上增加管理功能: - `findForAdmin()` - 管理后台专用查询 - `updateByAdmin()` - 管理员更新功能 - `batchUpdateCertification()` - 批量认证更新 - `getStats()` - 统计数据获取 ### 阶段二:管理后台界面开发 #### 2.1 菜单配置 在`src/client/admin/menu.tsx`中添加: ```typescript { key: 'silver-talents', label: '银龄库管理', icon: , path: '/admin/silver-talents', permission: 'silver-talent:manage' } ``` #### 2.2 路由配置 在`src/client/admin/routes.tsx`中添加: ```typescript { path: 'silver-talents', element: , errorElement: } ``` #### 2.3 页面组件结构 ``` src/client/admin/pages/SilverTalents/ ├── index.tsx # 列表页面 ├── Detail.tsx # 详情页面 ├── components/ │ ├── TalentTable.tsx # 人才表格 │ ├── TalentForm.tsx # 编辑表单 │ ├── CertificationModal.tsx # 认证弹窗 │ └── StatsCard.tsx # 统计卡片 └── hooks/ └── useTalentData.ts # 数据钩子 ``` ### 阶段三:功能实现详情 #### 3.1 列表页面功能 - 表格展示:姓名、年龄、机构、认证状态、求职状态、积分 - 搜索筛选:姓名搜索、年龄范围、认证状态筛选、求职状态筛选 - 排序功能:按创建时间、积分、活跃度排序 - 批量操作:批量认证、批量导出Excel - 操作列:查看详情、编辑、认证管理 #### 3.2 详情页面功能 - 基本信息展示 - 认证材料查看 - 统计数据可视化 - 编辑表单 - 操作日志 #### 3.3 认证管理功能 - 认证状态切换 - 认证理由填写 - 认证材料上传 - 认证历史查看 ### 阶段四:数据库优化 #### 4.1 索引优化 ```sql -- 为管理查询优化索引 CREATE INDEX idx_silver_profile_name ON silver_user_profiles(real_name); CREATE INDEX idx_silver_profile_age ON silver_user_profiles(age); CREATE INDEX idx_silver_profile_cert_status ON silver_user_profiles(certification_status); CREATE INDEX idx_silver_profile_job_status ON silver_user_profiles(job_seeking_status); ``` #### 4.2 权限配置 在权限系统中添加: - `silver-talent:read` - 查看银龄人才 - `silver-talent:write` - 编辑银龄人才 - `silver-talent:certify` - 认证管理 - `silver-talent:delete` - 删除银龄人才 ## API设计规范 ### 列表查询(管理专用) ``` GET /api/v1/admin/silver-talents 参数: - page: 页码 - pageSize: 每页数量 - keyword: 关键词搜索 - certificationStatus: 认证状态筛选 - jobSeekingStatus: 求职状态筛选 - ageMin/ageMax: 年龄范围 - sortBy: 排序字段 - sortOrder: 排序方向 响应: { data: SilverUserProfile[], pagination: {...}, stats: {...} } ``` ### 认证状态更新 ``` PATCH /api/v1/admin/silver-talents/:id/certification 请求体: { certificationStatus: "CERTIFIED" | "REJECTED", certificationInfo: string, reason?: string } ``` ### 统计数据 ``` GET /api/v1/admin/silver-talents/stats 响应: { totalCount: number, certifiedCount: number, pendingCount: number, rejectedCount: number, ageDistribution: {...}, skillDistribution: {...} } ``` ## 前端组件设计 ### 表格列配置 ```typescript const columns = [ { title: '姓名', dataIndex: 'realName', key: 'realName' }, { title: '年龄', dataIndex: 'age', key: 'age', sorter: true }, { title: '所属机构', dataIndex: 'organization', key: 'organization' }, { title: '认证状态', dataIndex: 'certificationStatus', key: 'certificationStatus', render: (status) => {getStatusText(status)} }, { title: '求职状态', dataIndex: 'jobSeekingStatus', key: 'jobSeekingStatus' }, { title: '积分', dataIndex: 'totalPoints', key: 'totalPoints', sorter: true }, { title: '操作', key: 'action', render: (_, record) => } ]; ``` ### 筛选表单 - 姓名搜索框 - 年龄范围输入(最小年龄/最大年龄) - 认证状态下拉选择 - 求职状态下拉选择 - 日期范围选择器 - 技能标签多选框 ## 性能优化策略 ### 查询优化 1. 使用数据库索引 2. 分页查询 3. 懒加载关联数据 4. 缓存热点数据 ### 前端优化 1. 表格虚拟滚动 2. 图片懒加载 3. 搜索防抖 4. 数据缓存 ## 安全考虑 ### 权限控制 - 基于角色的访问控制 - API级别权限验证 - 操作日志记录 ### 数据安全 - 敏感信息脱敏 - 操作审计日志 - 输入验证和过滤 ## 测试计划 ### 单元测试 - 服务层方法测试 - API接口测试 - 前端组件测试 ### 集成测试 - 端到端流程测试 - 权限验证测试 - 性能测试 ## 部署步骤 1. 数据库更新(索引和权限) 2. 后端API部署 3. 前端界面部署 4. 权限配置更新 5. 监控和日志配置 ## 预期效果 - 管理员可以高效管理所有银龄人才 - 认证流程标准化和自动化 - 数据统计和决策支持 - 用户体验优化 - 系统性能提升 ## 后续扩展 - 批量导入功能 - 数据导出(Excel/PDF) - 消息通知系统 - 高级统计分析 - 移动端管理应用