人事管理系统开发之二,员工资料上传

更新日期: 2025-09-08 阅读次数: 67 字数: 530 分类: 管理

需求

人事管理系统里设置了一堆员工需要上传的资料清单。当然,包含必须上传的和非必须上传的。

  • 必须上传的,包括毕业证,学位证等
  • 非必须上传的,包括各种资格证书,离职证明等

在编辑员工信息时,会拉取这个清单,显示在界面上。HR 或者员工可以选择上传对应的文件。

接口设计

原有的资料清单接口不做变化,保留,用于资料清单的后台增删改查编辑之用。

需要新增一个资料清单列表接口,可以提交员工 ID,在拉取资料清单的同时,返回:

  • 该员工已经上传了哪些资料
  • 上传时间
  • 上传人 (有可能不是员工自己上传的,而是 HR 或其他管理员上传的)

再就是需要:

  • 上传资料接口。即上传指定员工的某个类型的资料。传递员工 id 和资料类型 ID
  • 删除资料接口。

其实本质上就是一个复杂一点点的 CRUD 接口集。

Model 设计

type StaffDocument struct {
	ID          uint
	CreatedAt   time.Time
	UpdatedAt   time.Time
	StaffId     uint   // 员工 ID。上传文档关联的员工
	DocumentId  uint   // 资料 ID。关联的资料配置表
	CreatorId   uint   // 创建者 ID
	Files       string // 上传的文件 key, 多个逗号分隔。使用七牛云私有空间存储
}

其他

各种嵌套的 api 返回数据结构,不必纠结于现有的 Model 结构,可以根据需要,设计新的返回数据结构。 也方便进行联表操作。否则嵌套过多,会导致返回数据内容过长,影响性能。

TODO

  • ✅ 梳理需求
  • ✅ 模块英文名: StaffDocument
  • ✅ CRUD
  • ✅ 设计字段
  • ✅ 完善 swagger 文档
  • ✅ swagger 测试
  • ✅ 线上建表

继续阅读

📖 人事管理系统开发系列

关于作者 🌱

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式