15 Commits

Author SHA1 Message Date
Your Name
5321ff4afa fix: 修复BigDecimal类型运算兼容性问题 2026-01-05 18:41:53 +08:00
Your Name
96da6c6673 feat: 任务完结状态优化 + 商品ID确认功能 + 子任务交付路径汇总
1. 需求方完结任务显示待填写ID状态,填完商品ID后显示已完结
2. 添加确认商品ID填写完成功能
3. 母卡片展示所有子任务的交付路径汇总
4. 流水线任务:子任务按顺序完成,自动发起下一个子任务审核
5. 母任务编号作为子任务编号前缀
6. 所有子任务完成后母任务才能完结
2026-01-05 14:21:03 +08:00
Your Name
41255e62b8 fix: 修复编译错误
- 添加 DemandTypeMapper 依赖注入
- 修复 User.getDeptId() 方法名
2026-01-05 12:00:18 +08:00
Your Name
2c713febc6 feat: 新增三个功能
1. 任务标题自动生成
   - 根据SPU信息+平台+品牌+任务子类型+需求类型自动组合生成标题
   - 添加watch监听相关字段变化自动更新标题

2. 预览图上传功能
   - 添加S3预览图上传API(自动压缩到200px宽度)
   - Task实体增加previewImage字段
   - 前端添加预览图上传组件
   - 任务卡片显示65x65像素预览图

3. 接单大厅按部门显示
   - 根据用户所属部门筛选可接单的任务类型
   - 只显示用户部门对应的任务类型的任务
2026-01-05 11:57:59 +08:00
Your Name
571388f414 fix: 修复多个问题
1. 修复部门负责人看不到任务关联信息(品牌、类目、平台)
   - TaskService.getTaskById增加fillTaskRelatedInfo方法填充所有关联信息

2. 修复调整任务类型数量时积分同步显示
   - 审核弹窗添加预估积分实时计算和显示

3. 修复流水线任务拆分后母任务不再显示在任务大厅
   - TaskMapper添加is_pipeline=0条件

4. 修复驳回任务显示'草稿'问题
   - 驳回时保存rejectReason到数据库
   - 前端正确判断并显示'已驳回'状态

5. 修复重新编辑被驳回任务时数据丢失问题
   - loadTaskForEdit完善所有字段加载
   - 显示驳回原因提示用户修改
   - 添加remark字段到formData

6. 修复进行中任务卡片缺少'指定'标签显示
2026-01-05 11:21:16 +08:00
Your Name
80241a394d fix: 完善所有通知场景的钉钉推送
- NotificationService: sendScoreNotification/sendSystemNotification/batchSendNotification 添加钉钉推送
- TaskService: 补充任务提交/审核通过/审核驳回/任务取消的通知
- 确保所有个人通知都能推送到钉钉工作通知
2026-01-05 00:23:45 +08:00
Your Name
f7bb31433d fix: 管理员跳过积分检查,所有部门开放积分池配置 2026-01-04 10:32:32 +08:00
Your Name
d6c81f1fdc feat: 管理员可以抢单,拥有完整权限
- 管理员可以抢单主任务(绕过部门类型、部门负责人限制)
- 管理员可以抢单子任务(绕过所有限制)
- 管理员拥有:发起任务、审核任务、指定任务、抢单、交付等完整权限
2026-01-04 08:39:52 +08:00
Your Name
07ce2e5613 feat: 管理员享受所有角色权限
- 管理员可以代审核所有任务(主任务和子任务组)
- 管理员可以发起任务(不受部门类型限制)
- isAdminUser同时检查isAdmin字段和角色
2026-01-04 08:36:33 +08:00
Your Name
17d3799870 feat: 完善抢单权限控制、草稿状态编辑、群通知新模板等功能
- 后端: 子任务抢单权限校验(部门类型、任务类型限制)
- 后端: 子任务组驳回联动主任务逻辑
- 后端: 群通知新模板样式
- 后端: 个人钉钉通知自动绑定
- 前端: 抢单按钮状态判断优化
- 前端: 草稿状态显示及编辑功能
- 前端: 驳回状态样式
- 前端: 指定设计师功能增强
2026-01-03 18:31:49 +08:00
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
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
038659bd41 fix: 修复用户管理和任务抢单权限控制
1. 修复设置管理员报错
   - 修正BusinessException构造函数调用

2. 完善抢单权限控制
   - 需求部门成员不能抢单
   - 所有部门负责人不能抢单(包括需求和接单部门)
   - 只有指定接单部门的普通成员可以抢单
   - 验证部门是否允许接该需求类型
   - 抢单成功后发送通知给任务发起人

3. 前端抢单按钮状态控制
   - 添加canGrabTask方法判断抢单权限
   - 可接单:绿色按钮
   - 不可接单:灰色按钮并禁用
   - 鼠标悬停显示不能抢单的原因
   - 支持任务列表和详情页面

4. 优化用户体验
   - 点击不可抢单按钮时提示具体原因
   - 按钮文案动态显示状态
2026-01-03 11:07:42 +08:00
Your Name
c62fe7853f fix: 修复钉钉个人通知未发送的问题
- TaskService中所有关键通知添加setPushDingtalk(1)
  - 任务待审核通知
  - 任务提交审核通知
  - 任务审核通过通知
  - 任务被驳回通知(高优先级)
- NotificationService便捷方法默认启用钉钉推送
- 确保所有重要通知都能触发个人工作消息推送
2026-01-03 10:42:59 +08:00
Your Name
35e4f8f677 初始提交:DesignHub设计师任务管理系统 2026-01-02 12:06:09 +08:00