fix: 修复审批消息推送问题
问题1:BusinessTripService 数据格式兼容性
- 后端期望对象数组 [{id:1, name:'...'}],前端传纯 ID 数组 [1,2,3]
- 修复:兼容两种格式,自动提取 id
问题2:ApprovalService 没有消息推送
- 添加 FeishuNotificationService 集成
- approve() 方法:节点完成后通知下一节点审批人,流程完成后通知申请人
- reject() 方法:审批拒绝时通知申请人
问题3:修复重复类定义导致的语法错误
相关文件:
- backend/app/service/BusinessTripService.php
- backend/app/service/ApprovalService.php
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -104,8 +104,18 @@ class BusinessTripService
|
||||
}
|
||||
|
||||
// 验证审批人和抄送人不能重复
|
||||
$approverIds = array_column($approvers, 'id');
|
||||
$ccUserIds = array_column($ccUsers, 'id');
|
||||
// 兼容两种格式:对象数组 [{id:1, name:'xxx'}] 或纯ID数组 [1, 2, 3]
|
||||
if (!empty($approvers) && isset($approvers[0]['id'])) {
|
||||
$approverIds = array_column($approvers, 'id');
|
||||
} else {
|
||||
$approverIds = $approvers;
|
||||
}
|
||||
|
||||
if (!empty($ccUsers) && isset($ccUsers[0]['id'])) {
|
||||
$ccUserIds = array_column($ccUsers, 'id');
|
||||
} else {
|
||||
$ccUserIds = $ccUsers;
|
||||
}
|
||||
|
||||
// 检查审批人列表中是否有重复
|
||||
if (count($approverIds) !== count(array_unique($approverIds))) {
|
||||
|
||||
Reference in New Issue
Block a user