work->user->getDetailedDepartmentUsers($departId,$fetchChild); // 返回列表 if( $result['errcode'] == 0 ) return $result['userlist'];// [["userid"=>"zhangsan", "name"=>"张三", "open_userid"=>"","department"=>[1,2]]]; // 如果请求失败,返回空数据 return []; } catch (\Throwable $th) { return []; } } /** * 获取所有部门的成员列表 * */ public function getListDepart(){ try { // 获取缓存数据 $departList = cache('work:department:user:list',[]); // 有数据的返回 if( $departList ) return $departList; // 获取部门数据 $departList = $this->work->department->list(); // 返回列表 $departList = $departList['errcode'] == 0 ? $departList['department'] : []; // 循环部门 foreach ($departList as $key => $value) { // 获取每个部门的成员 $value['user_list'] = $this->getList($value['id']); // 重组 $departList[$key] = $value; } // 时间处理 cache(['work:department:user:list'=>$departList],Carbon::now()->addMinutes(30)); // 返回结果 return $departList; } catch (\Throwable $th) { return []; } } /** * 获取成员详情 * * @param string $userid 成员ID * */ public function getOne($userid){ // 获取部门列表 $result = $this->work->user->get($userid); // 返回列表 if( $result['errcode'] == 0 ) return $result['department'];// ["userid"=>"zhangsan", "name"=>"张三", "open_userid"=>"","department"=>[1,2]] // 如果请求失败,返回空数据 return []; } }