发布日期:2026-06-05 | 作者:无鱼软件 | 标签:版本发布、通知系统、工时提醒、批量导入、测试体系
版本亮点
沐霖工时管理系统 v4.1.0 正式发布!本次更新带来四大核心功能:
- 🔔 全新通知系统:站内消息 + 多渠道推送(邮件/企微/钉钉/飞书)
- ⏰ 工时填写提醒:定时提醒员工填写工时,提升数据完整性
- 📊 Excel 批量导入:一键导入工时记录,支持智能解析与数据验证
一、通知系统:让协同更高效
1.1 为什么需要通知系统?
在团队协作中,信息的及时传递至关重要:
| 场景 | 传统方式 | 通知系统 |
|---|---|---|
| 工时待审核 | 项目经理需要手动登录系统查看 | 收到通知,一键跳转审核 |
| 审核结果 | 员工不知道自己填报的工时是否通过 | 实时推送审核结果 |
| 任务分配 | 通过微信/邮件通知,容易遗漏 | 系统内通知,统一管理 |
| 工时提醒 | 人工催促,效率低下 | 自动定时提醒 |
1.2 通知中心功能

核心特性:
- 📋 通知列表:按时间倒序展示所有通知
- 🔍 类型筛选:按通知类型(工时审核、任务分配、阶段验收等)筛选
- ✅ 标记已读:单条标记或批量标记全部已读
- 🔔 未读提醒:首页显示未读通知数量
- 🗑️ 删除通知:支持单条删除,保持通知列表整洁
1.3 10 种通知类型
| 通知类型 | 触发场景 | 通知对象 |
|---|---|---|
| 工时待审核 | 员工提交工时填报 | 项目经理 |
| 工时审核通过 | 工时审核通过 | 填报员工 |
| 工时审核驳回 | 工时审核驳回(附原因) | 填报员工 |
| 工时填写提醒 | 定时提醒填写工时 | 未填写员工 |
1.4 通知点击跳转
通知支持点击直接跳转到相关业务页面:
通知点击 → 解析 URL → 路由跳转 → 打开对应页面例如:
- 工时审核通知 → 跳转到工时审核列表
- 任务分配通知 → 跳转到任务详情
- 工时驳回通知 → 跳转到工时填报页面
二、多渠道通知:邮件、企微、钉钉、飞书
2.1 多渠道配置架构
系统支持 4 种外部通知渠道,可根据企业需求灵活配置:
| 渠道 | 配置项 | 适用场景 |
|---|---|---|
| 邮件 | SMTP 服务器、端口、用户名、密码 | 正式通知、审计追溯 |
| 企业微信 | Webhook 地址 | 企业内部即时通讯 |
| 钉钉 | 机器人 URL、签名密钥 | 钉钉工作群通知 |
| 飞书 | Webhook 地址 | 飞书群组通知 |
2.2 配置管理

配置路径: 系统管理 → 通知配置
配置内容:
📧 邮件配置
- SMTP 主机:
smtp.example.com - 端口:
465(SSL)或25(非 SSL) - 用户名/密码:邮箱登录凭证
- 发件人名称:显示在收件人邮箱中的名称
- SMTP 主机:
💬 企业微信配置
- Webhook URL:群机器人 Webhook 地址
- 启用开关:控制是否发送到企微
📌 钉钉配置
- 机器人 URL:自定义机器人 Webhook
- 签名密钥(可选):增强安全性
🕊️ 飞书配置
- Webhook URL:飞书机器人地址
2.3 异步发送机制
通知采用 异步 Goroutine 发送,不阻塞主流程:
bash
// 主流程:保存通知到数据库
notification := &Notification{...}
db.Create(notification)
// 异步发送多渠道通知(不阻塞)
go multiChannel.Send(userId, title, content, url)优势:
- ⚡ 用户操作无延迟
- 🔄 多渠道并行发送
- 🛡️ 发送失败不影响主流程
三、工时填写提醒:告别漏填迟填
3.1 提醒功能设计

核心功能:
- ⏰ 定时提醒:每天固定时间发送提醒
- 📅 灵活日期:可设置工作日(周一至周五)或自定义日期
- 🔧 启用/禁用:按需开启或关闭提醒功能
- 🎯 精准推送:仅提醒当天未填写工时的员工
3.2 提醒配置项
| 配置项 | 说明 | 示例值 |
|---|---|---|
| 启用状态 | 是否启用提醒功能 | 启用 / 禁用 |
| 提醒时间 | 每天发送提醒的时间 | 18:00(下午 6 点) |
| 提醒日期 | 在一周中的哪些天提醒 | 1,2,3,4,5(周一至周五) |
| 通知渠道 | 通过哪些渠道发送 | system,email(站内+邮件) |
3.3 已填判定逻辑
系统通过以下逻辑判断员工是否已填写工时:
-- 查询员工当天是否已有工时记录
判定规则:
- ✅ 有记录 → 不发送提醒
- ❌ 无记录 → 发送提醒通知
四、Excel 批量导入:一次性录入多天工时
4.1 导入流程
操作步骤:
- 下载模板:系统提供标准 Excel 模板
- 填写数据:按模板格式填写工时记录
- 上传导入:上传 Excel 文件,系统自动解析
- 查看结果:显示导入成功/失败统计
4.2 Excel 模板格式
| 列名 | 必填 | 说明 | 示例 |
|---|---|---|---|
| 项目ID | ✅ | 项目的主键 ID | 1 |
| 任务ID | ❌ | 任务的主键 ID(可选) | 5 或留空 |
| 填报日期 | ✅ | 工时日期(YYYY-MM-DD) | 2026-06-01 |
| 工作内容 | ✅ | 工作描述 | 需求分析 |
| 工时 | ✅ | 工时数(小时) | 4.0 |
| 是否完成 | ❌ | 任务完成状态 | 是 / 否 / true / false |
4.3 智能解析能力
4.3.1 日期格式支持
系统支持多种日期格式:
| 格式类型 | 示例 | 说明 |
|---|---|---|
| 标准日期 | 2026-06-01 | 推荐格式 |
| Excel 序列号 | 45836 | Excel 自动转换的日期序列号 |
4.3.2 布尔值解析
"是否完成"字段支持 12 种格式:
| 真值表示 | 假值表示 |
|---|---|
true | false |
True | False |
TRUE | FALSE |
1 | 0 |
是 | 否 |
yes | no |
YES | NO |
| (空) | (空) |
4.3.3 按日期分组
系统自动将同一天的多条记录合并:
输入数据:
2026-06-01 需求分析 4小时
2026-06-01 原型设计 3.5小时
2026-06-02 编码实现 8小时
分组处理:
2026-06-01 → 合并为 1 条记录(7.5小时)
2026-06-02 → 1 条记录(8小时)4.4 数据验证
系统对导入数据进行严格验证:
| 验证项 | 规则 | 错误提示 |
|---|---|---|
| 项目ID | 必须存在且用户有权限 | 项目不存在或无权限 |
| 填报日期 | 格式必须为 YYYY-MM-DD | 日期格式错误 |
| 工作内容 | 不能为空 | 工作内容不能为空 |
| 工时 | 必须为数字且 > 0 | 工时格式错误 |
| 重复提交 | 同一天已有工时记录 | 当前日期已经填报工时,请勿重复提交 |
4.5 导入结果统计

导入完成后显示详细统计:
导入完成
总天数:3 天
成功:2 天
失败:1 天
错误详情:
- 2026-06-03: 当前日期已经填报工时,请勿重复提交五、升级指南
5.1 数据库迁移
v4.1.0 新增了以下数据表:
sql
-- 通知表
CREATE TABLE `notification` (
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` bigint NOT NULL COMMENT '用户ID',
`type` varchar(50) NOT NULL COMMENT '通知类型',
`title` varchar(200) NOT NULL COMMENT '通知标题',
`content` text COMMENT '通知内容',
`url` varchar(500) COMMENT '跳转链接',
`is_read` tinyint DEFAULT 0 COMMENT '是否已读',
`is_deleted` tinyint DEFAULT 0 COMMENT '是否删除',
PRIMARY KEY (`id`)
);
-- 通知配置表
CREATE TABLE `notification_config` (
`id` bigint NOT NULL AUTO_INCREMENT,
`config_key` varchar(100) NOT NULL,
`config_value` text,
PRIMARY KEY (`id`)
);
-- 工时提醒配置表
CREATE TABLE `hour_reminder_config` (
`id` bigint NOT NULL AUTO_INCREMENT,
`enabled` tinyint DEFAULT 0,
`reminder_time` varchar(10) DEFAULT '18:00',
`reminder_days` varchar(50) DEFAULT '1,2,3,4,5',
PRIMARY KEY (`id`)
);5.1 升级步骤
bash
# 1. 备份数据
mysqldump -u root -p mulin_cost > backup_v4.0.sql
# 2. 下载 v4.1.0 版本
# 从公众号或 Release 页面获取
# 3. 更新配置文件
cp application.yaml application.yaml.bak
# 编辑 application.yaml,添加通知配置
# 4. 启动新版本
./mulin.exe
# 5. 验证功能
# - 访问通知中心
# - 测试批量导入
# - 检查工时提醒配置六、已知问题与限制
6.1 当前限制
| 限制项 | 说明 | 计划解决版本 |
|---|---|---|
| 邮件发送 | 仅支持 SMTP 协议 | v4.2.0 支持 API 方式 |
| 批量导入 | 单次最多 1000 行 | v4.2.0 支持分批导入 |
| 通知渠道 | 默认全部关闭 | 需在配置中手动启用 |
6.2 注意事项
- 首次使用通知功能:需要先在"系统管理 → 通知配置"中启用相应渠道
- 批量导入前:建议先用少量数据测试,确认格式正确后再批量导入
- 工时提醒:需要系统保持运行状态,建议配置定时任务或 cron
关于沐霖工时系统
沐霖工时管理系统是一款专为研发型企业设计的轻量级工时管理工具。
核心功能:
- 📝 工时填报(普通工时 + 任务工时)
- ✅ 多级审批流程
- 📊 多维度数据统计
- 🔔 通知系统与多渠道推送
- 📥 Excel 批量导入
- 📈 周报月报自动生成
了解更多:
最后更新: 2026-06-05