field($field)->find(); if ($approve) { $approve_user_data = json_decode($approve['user_data'], JSON_UNESCAPED_UNICODE); foreach ($approve_user_data as &$value) { if ($value['user_type'] == 1) { $value['userid'] = $user->manager_userid; } } $approve_user_object = array_column($approve_user_data, null, 'userid'); $user_ids = array_keys($approve_user_object); $user_list = self::get_user_list($user_ids); if ($user_list) { $user_data = array_column($user_list->toArray(), null, 'userid'); foreach ($approve_user_data as $val) { if (array_key_exists($val['userid'], $user_data)) { $approve_user[] = $user_data[$val['userid']]; } } } } // 抄送 $name = 'is_copy_' . $module; $is_copy = sysconf($name); // 是否允许用户自己添加抄送人 0=否,1=是 $copy = ApproveFlow::get_where($module, CommonConstant::TYPE_2, $flow_item)->field($field)->find(); if ($copy) { $copy_user_data = json_decode($copy['user_data'], JSON_UNESCAPED_UNICODE); $copy_user_data = array_column($copy_user_data, null, 'userid'); $user_ids = array_keys($copy_user_data); $user_list = self::get_user_list($user_ids); $copy_user = $user_list; } return compact('approve_user', 'copy_user', 'is_copy'); } protected static function get_user_list($user_ids) { if (!$user_ids) { return []; } return User::field('userid,avatar,name')->where('userid', 'in', $user_ids)->select(); } }