7 Commits

Author SHA1 Message Date
Your Name
fac68333a7 feat: 优化任务时效计算逻辑 - 从接单时开始计算
问题:
- 任务时效(deadline)应该从设计师接单时开始计算
- 而不是从任务创建或审核通过时计算

修改内容:

1. TaskService.grabTask()
   - 无论任务之前是否有deadline
   - 抢单时都重新计算deadline
   - 从接单时间(now)开始 + estimatedHours
   - 添加详细日志记录

2. TaskApprovalService.approveReceivingLevel()
   - 接单部门负责人指定设计师时
   - 重新计算deadline
   - 从指定时间(now)开始 + estimatedHours
   - 添加详细日志记录

3. TaskApprovalService.approveDemandLevel()
   - assigned模式下已有正确逻辑
   - 从分配时间开始计算deadline
   - 保持不变

计算逻辑:
- deadline = 接单时间 + estimatedHours(小时)
- 如果estimatedHours为空或0,不设置deadline
- 记录详细日志便于排查

影响范围:
- 设计师抢单:✅ 重新计算
- 负责人指派:✅ 重新计算
- 需求部门指定:✅ 已有逻辑
- 发布到大厅:❌ 不设置(等待接单后计算)

示例:
- 任务预估8小时
- 设计师12:00接单
- deadline = 12:00 + 8小时 = 20:00
2026-01-03 11:54:59 +08:00
Your Name
193810628a fix: 修复三个问题
问题1:接单部门负责人审核缺少指派选项
- 已在之前修复handleApproveTask函数,接单部门负责人审核时会调用handleApproveTwoLevelTask
- 提供完整的审核选项(指派设计师/发布到大厅)

问题2:被驳回任务状态显示和编辑功能
- 修复状态显示:rejected显示"已驳回"(之前显示"已取消")
- 添加"重新编辑提交"按钮到被驳回的任务卡片
- 点击跳转到任务创建页面进行编辑
- 用户可以修改任务信息后重新提交审核

问题3:钉钉群通知调试改进
- 添加更详细的日志记录
- 在发送前后都记录日志
- 记录sendRobotMessage的返回值
- 方便排查通知发送失败的问题

改进内容:
1. 任务状态映射优化
   - rejected -> "已驳回"
   - cancelled -> "已取消"
   - 不再混淆这两种状态

2. 被驳回任务编辑流程
   - 任务卡片显示"重新编辑提交"按钮
   - 跳转到创建页面(带editId和mode参数)
   - 保留原有任务信息,允许修改后重新提交

3. 钉钉通知日志增强
   - "准备发送钉钉群通知"
   - "准备调用钉钉机器人发送消息"
   - "钉钉群通知发送成功/失败"
   - 详细的异常堆栈信息
2026-01-03 11:48:28 +08:00
Your Name
fdda2e5878 feat: 添加任务发布到大厅时的钉钉群机器人通知
问题:
- 任务审核通过并发布到大厅时,没有触发钉钉群机器人通知
- 设计师无法第一时间知道有新任务可接单

修复内容:
1. TaskApprovalService.approveReceivingLevel()
   - 接单部门负责人审核通过时
   - 如果未指定设计师(发布到大厅)
   - 自动发送钉钉群机器人消息
   - 包含任务标题、编号、积分、品牌等信息

2. TaskItemService.approveTaskGroup()
   - 子任务组审核通过时
   - 如果未指定设计师(发布到大厅)
   - 自动发送钉钉群机器人消息
   - 包含主任务标题、子任务组信息、任务列表

3. 通知内容:
   - 标题:🎯 新任务发布 / 🎯 新子任务组发布
   - 详细信息:任务编号、积分、品牌、类目、平台等
   - 行动提示:💡 赶快去任务大厅抢单吧!

4. 错误处理:
   - 通知发送失败不影响主流程
   - 记录错误日志便于排查

影响范围:
- 每次任务发布到大厅时,接单部门群会收到通知
- 提高设计师接单效率
- 通知发送失败不会影响任务正常流转
2026-01-03 11:35:36 +08:00
Your Name
371cfd5b2a feat: 为任务卡片添加子任务进度统计功能
新增功能:
1. Task实体新增字段:
   - subTaskTotal: 子任务总数
   - subTaskCompleted: 已完成子任务数
   - subTaskInProgress: 进行中子任务数
   - subTaskPending: 待接单子任务数
   - subTasks: 子任务列表(包含处理人信息)

2. TaskService新增方法:
   - fillSubTaskStats(): 填充流水线任务的子任务统计信息
   - 自动在getMyPublishedTasks和getMyReceivedTasks中调用
   - 统计各状态子任务数量
   - 自动填充处理人信息

3. 同时修复流水线任务主任务状态同步问题:
   - 设计师接单第一个子任务时,主任务状态更新为in_progress
   - 确保需求方能正确看到任务进度

影响范围:
- 需求方查看"我发起的"任务时,可以看到子任务进度
- 设计师查看接收的任务时,可以看到子任务详情
- 为后续前端显示提供数据支持
2026-01-03 11:32:16 +08:00
Your Name
e86b5a45f3 feat: 接单部门审核时添加指定设计师接单功能,显示设计师工作量 2026-01-02 19:32:53 +08:00
Your Name
ea4b6a8dc5 修复流水线任务审核通过后主任务状态未更新的问题
问题:流水线任务在审核通过后,主任务status仍为draft,导致子任务无法在可接任务列表中显示
原因:splitIntoPipelineSubTasks方法中只处理了recruitment和assigned模式,default模式下没有设置主任务状态
解决:为default模式及其他模式添加status=pending的设置,确保子任务可以被设计师看到并接单
2026-01-02 19:18:51 +08:00
Your Name
35e4f8f677 初始提交:DesignHub设计师任务管理系统 2026-01-02 12:06:09 +08:00