silver-talent-admin-design-plan.md 6.9 KB

银龄库管理功能实施计划

项目概述

基于现有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中添加:

{
  key: 'silver-talents',
  label: '银龄库管理',
  icon: <UserOutlined />,
  path: '/admin/silver-talents',
  permission: 'silver-talent:manage'
}

2.2 路由配置

src/client/admin/routes.tsx中添加:

{
  path: 'silver-talents',
  element: <SilverTalentsPage />,
  errorElement: <ErrorPage />
}

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 索引优化

-- 为管理查询优化索引
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: {...}
}

前端组件设计

表格列配置

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) => <Tag color={getStatusColor(status)}>{getStatusText(status)}</Tag> },
  { title: '求职状态', dataIndex: 'jobSeekingStatus', key: 'jobSeekingStatus' },
  { title: '积分', dataIndex: 'totalPoints', key: 'totalPoints', sorter: true },
  { title: '操作', key: 'action', render: (_, record) => <ActionButtons /> }
];

筛选表单

  • 姓名搜索框
  • 年龄范围输入(最小年龄/最大年龄)
  • 认证状态下拉选择
  • 求职状态下拉选择
  • 日期范围选择器
  • 技能标签多选框

性能优化策略

查询优化

  1. 使用数据库索引
  2. 分页查询
  3. 懒加载关联数据
  4. 缓存热点数据

前端优化

  1. 表格虚拟滚动
  2. 图片懒加载
  3. 搜索防抖
  4. 数据缓存

安全考虑

权限控制

  • 基于角色的访问控制
  • API级别权限验证
  • 操作日志记录

数据安全

  • 敏感信息脱敏
  • 操作审计日志
  • 输入验证和过滤

测试计划

单元测试

  • 服务层方法测试
  • API接口测试
  • 前端组件测试

集成测试

  • 端到端流程测试
  • 权限验证测试
  • 性能测试

部署步骤

  1. 数据库更新(索引和权限)
  2. 后端API部署
  3. 前端界面部署
  4. 权限配置更新
  5. 监控和日志配置

预期效果

  • 管理员可以高效管理所有银龄人才
  • 认证流程标准化和自动化
  • 数据统计和决策支持
  • 用户体验优化
  • 系统性能提升

后续扩展

  • 批量导入功能
  • 数据导出(Excel/PDF)
  • 消息通知系统
  • 高级统计分析
  • 移动端管理应用